diff options
author | jeff <jeff@FreeBSD.org> | 2005-03-13 12:01:50 +0000 |
---|---|---|
committer | jeff <jeff@FreeBSD.org> | 2005-03-13 12:01:50 +0000 |
commit | 69b00d315572c2e82a22b33276ce954746f3f7e7 (patch) | |
tree | 07cdf42d47083c8569553c253786ae9eeda0cb61 /sys/ufs/ffs | |
parent | 751e097009a4c59a5bd59f7af63875a06298f3d9 (diff) | |
download | FreeBSD-src-69b00d315572c2e82a22b33276ce954746f3f7e7.zip FreeBSD-src-69b00d315572c2e82a22b33276ce954746f3f7e7.tar.gz |
- The VI_DOOMED flag now signals the end of a vnode's relationship with
the filesystem. Check that rather than VI_XLOCK.
Sponsored by: Isilon Systems, Inc.
Diffstat (limited to 'sys/ufs/ffs')
-rw-r--r-- | sys/ufs/ffs/ffs_snapshot.c | 2 | ||||
-rw-r--r-- | sys/ufs/ffs/ffs_softdep.c | 2 |
2 files changed, 2 insertions, 2 deletions
diff --git a/sys/ufs/ffs/ffs_snapshot.c b/sys/ufs/ffs/ffs_snapshot.c index 4c0eaba..6c13e8a 100644 --- a/sys/ufs/ffs/ffs_snapshot.c +++ b/sys/ufs/ffs/ffs_snapshot.c @@ -433,7 +433,7 @@ loop: 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 2ebfa95..3169475 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 |