Index: sys/ufs/ufs/ufs_vnops.c =================================================================== --- sys/ufs/ufs/ufs_vnops.c +++ sys/ufs/ufs/ufs_vnops.c @@ -354,13 +354,9 @@ } */ *ap) { struct vnode *vp = ap->a_vp; - int usecount; - VI_LOCK(vp); - usecount = vp->v_usecount; - if (usecount > 1) - ufs_itimes_locked(vp); - VI_UNLOCK(vp); + if (vp->v_usecount > 1) + ufs_itimes(vp); return (0); } @@ -2640,14 +2636,8 @@ struct thread *a_td; } */ *ap) { - struct vnode *vp = ap->a_vp; - int usecount; - VI_LOCK(vp); - usecount = vp->v_usecount; - if (usecount > 1) - ufs_itimes_locked(vp); - VI_UNLOCK(vp); + ufs_close(ap); return (fifo_specops.vop_close(ap)); }