summaryrefslogtreecommitdiffstats
path: root/sys/nfsclient
diff options
context:
space:
mode:
authorjeff <jeff@FreeBSD.org>2003-02-25 08:50:21 +0000
committerjeff <jeff@FreeBSD.org>2003-02-25 08:50:21 +0000
commite28e3bf81c64d823d1c297aa064587dd8542ee8e (patch)
treeddd605b7734a71410caa404cdc6fb697317c22bd /sys/nfsclient
parent1228dbd648093e92961e3c7c9fa1b2a9da12e6f5 (diff)
downloadFreeBSD-src-e28e3bf81c64d823d1c297aa064587dd8542ee8e.zip
FreeBSD-src-e28e3bf81c64d823d1c297aa064587dd8542ee8e.tar.gz
- Properly handle the vnode interlock in nfs_fsync.
Reported by: phk
Diffstat (limited to 'sys/nfsclient')
-rw-r--r--sys/nfsclient/nfs_vnops.c2
1 files changed, 1 insertions, 1 deletions
diff --git a/sys/nfsclient/nfs_vnops.c b/sys/nfsclient/nfs_vnops.c
index 5d7a4d0..718bc00 100644
--- a/sys/nfsclient/nfs_vnops.c
+++ b/sys/nfsclient/nfs_vnops.c
@@ -2812,9 +2812,9 @@ loop:
panic("nfs_fsync: not dirty");
if ((passone || !commit) && (bp->b_flags & B_NEEDCOMMIT)) {
BUF_UNLOCK(bp);
- VI_LOCK(vp);
continue;
}
+ VI_UNLOCK(vp);
bremfree(bp);
if (passone || !commit)
bp->b_flags |= B_ASYNC;
OpenPOWER on IntegriCloud