summaryrefslogtreecommitdiffstats
path: root/sys/ufs/ffs
diff options
context:
space:
mode:
authorjeff <jeff@FreeBSD.org>2005-03-13 12:01:50 +0000
committerjeff <jeff@FreeBSD.org>2005-03-13 12:01:50 +0000
commit69b00d315572c2e82a22b33276ce954746f3f7e7 (patch)
tree07cdf42d47083c8569553c253786ae9eeda0cb61 /sys/ufs/ffs
parent751e097009a4c59a5bd59f7af63875a06298f3d9 (diff)
downloadFreeBSD-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.c2
-rw-r--r--sys/ufs/ffs/ffs_softdep.c2
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
OpenPOWER on IntegriCloud