diff --git a/sys/ufs/ffs/ffs_snapshot.c b/sys/ufs/ffs/ffs_snapshot.c index 4c0eaba58723..6c13e8a66aa5 100644 --- a/sys/ufs/ffs/ffs_snapshot.c +++ b/sys/ufs/ffs/ffs_snapshot.c @@ -433,7 +433,7 @@ ffs_snapshot(mp, snapfile) MNT_VNODE_FOREACH(xvp, mp, nvp) { VI_LOCK(xvp); MNT_IUNLOCK(mp); - if ((xvp->v_iflag & VI_XLOCK) || + if ((xvp->v_iflag & VI_DOOMED) || xvp->v_usecount == 0 || xvp->v_type == VNON || (VTOI(xvp)->i_flags & SF_SNAPSHOT)) { VI_UNLOCK(xvp); diff --git a/sys/ufs/ffs/ffs_softdep.c b/sys/ufs/ffs/ffs_softdep.c index 2ebfa957d31a..31694752d4a5 100644 --- a/sys/ufs/ffs/ffs_softdep.c +++ b/sys/ufs/ffs/ffs_softdep.c @@ -4864,7 +4864,7 @@ softdep_fsync(vp) * not now, but then the user was not asking to have it * written, so we are not breaking any promises. */ - if (vp->v_iflag & VI_XLOCK) + if (vp->v_iflag & VI_DOOMED) break; /* * We prevent deadlock by always fetching inodes from the