diff options
author | Jeff Roberson <jeff@FreeBSD.org> | 2005-03-13 12:01:50 +0000 |
---|---|---|
committer | Jeff Roberson <jeff@FreeBSD.org> | 2005-03-13 12:01:50 +0000 |
commit | fdcc82276e82bd79bd2e43cbef24edee20b67404 (patch) | |
tree | 07cdf42d47083c8569553c253786ae9eeda0cb61 | |
parent | b5411d4fcb3da9576163675f965689defd98ce48 (diff) | |
download | src-fdcc82276e82bd79bd2e43cbef24edee20b67404.tar.gz src-fdcc82276e82bd79bd2e43cbef24edee20b67404.zip |
- 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.
Notes
Notes:
svn path=/head/; revision=143502
-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 4c0eaba58723..6c13e8a66aa5 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 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 |