diff options
author | mckusick <mckusick@FreeBSD.org> | 2001-03-07 07:09:55 +0000 |
---|---|---|
committer | mckusick <mckusick@FreeBSD.org> | 2001-03-07 07:09:55 +0000 |
commit | 61db3f4296e7cbf26765b9523064a58053f033d1 (patch) | |
tree | bf90f85e1534824e6dd81dcd98746b86c51cf6c1 /sys/ufs/ffs/ffs_vfsops.c | |
parent | 48c0c7d0fdb3955d984e7d3880153b7b5c711565 (diff) | |
download | FreeBSD-src-61db3f4296e7cbf26765b9523064a58053f033d1.zip FreeBSD-src-61db3f4296e7cbf26765b9523064a58053f033d1.tar.gz |
Fixes to track snapshot copy-on-write checking in the specinfo
structure rather than assuming that the device vnode would reside
in the FFS filesystem (which is obviously a broken assumption with
the device filesystem).
Diffstat (limited to 'sys/ufs/ffs/ffs_vfsops.c')
-rw-r--r-- | sys/ufs/ffs/ffs_vfsops.c | 8 |
1 files changed, 4 insertions, 4 deletions
diff --git a/sys/ufs/ffs/ffs_vfsops.c b/sys/ufs/ffs/ffs_vfsops.c index 4558780..78aaae5 100644 --- a/sys/ufs/ffs/ffs_vfsops.c +++ b/sys/ufs/ffs/ffs_vfsops.c @@ -987,15 +987,15 @@ loop: goto loop; } } - if (waitfor == MNT_NOWAIT) { +#ifdef QUOTA + qsync(mp); +#endif + if (waitfor != MNT_LAZY) { vn_lock(ump->um_devvp, LK_EXCLUSIVE | LK_RETRY, p); if ((error = VOP_FSYNC(ump->um_devvp, cred, waitfor, p)) != 0) allerror = error; VOP_UNLOCK(ump->um_devvp, 0, p); } -#ifdef QUOTA - qsync(mp); -#endif /* * Write back modified superblock. */ |