diff options
author | dillon <dillon@FreeBSD.org> | 2001-12-20 22:42:27 +0000 |
---|---|---|
committer | dillon <dillon@FreeBSD.org> | 2001-12-20 22:42:27 +0000 |
commit | ac9876d609290ddd585a1e5a67550061f01c20dd (patch) | |
tree | 74464ed2703c6925992ebe509294859864e96118 /sys/fs/smbfs/smbfs_node.c | |
parent | 53b1a7ecefc98fa3a2e71925a3be359d4873214b (diff) | |
download | FreeBSD-src-ac9876d609290ddd585a1e5a67550061f01c20dd.zip FreeBSD-src-ac9876d609290ddd585a1e5a67550061f01c20dd.tar.gz |
Fix a BUF_TIMELOCK race against BUF_LOCK and fix a deadlock in vget()
against VM_WAIT in the pageout code. Both fixes involve adjusting
the lockmgr's timeout capability so locks obtained with timeouts do not
interfere with locks obtained without a timeout.
Hopefully MFC: before the 4.5 release
Diffstat (limited to 'sys/fs/smbfs/smbfs_node.c')
-rw-r--r-- | sys/fs/smbfs/smbfs_node.c | 2 |
1 files changed, 1 insertions, 1 deletions
diff --git a/sys/fs/smbfs/smbfs_node.c b/sys/fs/smbfs/smbfs_node.c index 9fa3db8..f170b1d 100644 --- a/sys/fs/smbfs/smbfs_node.c +++ b/sys/fs/smbfs/smbfs_node.c @@ -243,7 +243,7 @@ loop: } else if (vp->v_type == VREG) SMBERROR("new vnode '%s' born without parent ?\n", np->n_name); - lockinit(&vp->v_lock, PINOD, "smbnode", 0, LK_CANRECURSE); + lockinit(&vp->v_lock, PINOD, "smbnode", VLKTIMEOUT, LK_CANRECURSE); vn_lock(vp, LK_EXCLUSIVE | LK_RETRY, td); smbfs_hash_lock(smp, td); |