summaryrefslogtreecommitdiffstats
path: root/sys/kern/vfs_vnops.c
diff options
context:
space:
mode:
authordyson <dyson@FreeBSD.org>1997-10-06 02:38:30 +0000
committerdyson <dyson@FreeBSD.org>1997-10-06 02:38:30 +0000
commitdf5698367636fcc609f42dc432eee5ad226a1f3f (patch)
tree1d96490c793adfb6e217734d369cdb416961add3 /sys/kern/vfs_vnops.c
parenta96b1911b8da2ab634bc058d4921b02c3c30f315 (diff)
downloadFreeBSD-src-df5698367636fcc609f42dc432eee5ad226a1f3f.zip
FreeBSD-src-df5698367636fcc609f42dc432eee5ad226a1f3f.tar.gz
Relax the vnode locking for read only operations.
Diffstat (limited to 'sys/kern/vfs_vnops.c')
-rw-r--r--sys/kern/vfs_vnops.c6
1 files changed, 3 insertions, 3 deletions
diff --git a/sys/kern/vfs_vnops.c b/sys/kern/vfs_vnops.c
index bf04c32..1117ef5 100644
--- a/sys/kern/vfs_vnops.c
+++ b/sys/kern/vfs_vnops.c
@@ -36,7 +36,7 @@
* SUCH DAMAGE.
*
* @(#)vfs_vnops.c 8.2 (Berkeley) 1/21/94
- * $Id: vfs_vnops.c,v 1.37 1997/09/02 20:06:04 bde Exp $
+ * $Id: vfs_vnops.c,v 1.38 1997/09/14 02:51:16 peter Exp $
*/
#include <sys/param.h>
@@ -275,7 +275,7 @@ vn_read(fp, uio, cred)
int flag, seq;
VOP_LEASE(vp, p, cred, LEASE_READ);
- vn_lock(vp, LK_EXCLUSIVE | LK_RETRY, p);
+ vn_lock(vp, LK_SHARED | LK_NOPAUSE | LK_RETRY, p);
uio->uio_offset = fp->f_offset;
count = uio->uio_resid;
flag = 0;
@@ -525,7 +525,7 @@ vn_lock(vp, flags, p)
tsleep((caddr_t)vp, PINOD, "vn_lock", 0);
error = ENOENT;
} else {
- error = VOP_LOCK(vp, flags | LK_INTERLOCK, p);
+ error = VOP_LOCK(vp, flags | LK_NOPAUSE | LK_INTERLOCK, p);
if (error == 0)
return (error);
}
OpenPOWER on IntegriCloud