summaryrefslogtreecommitdiffstats
path: root/sys/compat/svr4
diff options
context:
space:
mode:
authorjhb <jhb@FreeBSD.org>2009-02-13 18:18:14 +0000
committerjhb <jhb@FreeBSD.org>2009-02-13 18:18:14 +0000
commit26e338d6fc4cd60255a131cdf285a3c2cb66cea4 (patch)
tree059be0daffb9368cf7dc8f5d8a29ff30ea6391fb /sys/compat/svr4
parent482df37a9ec093145af5d2f758f6e565fba7980d (diff)
downloadFreeBSD-src-26e338d6fc4cd60255a131cdf285a3c2cb66cea4.zip
FreeBSD-src-26e338d6fc4cd60255a131cdf285a3c2cb66cea4.tar.gz
Use shared vnode locks when invoking VOP_READDIR().
MFC after: 1 month
Diffstat (limited to 'sys/compat/svr4')
-rw-r--r--sys/compat/svr4/svr4_misc.c4
1 files changed, 2 insertions, 2 deletions
diff --git a/sys/compat/svr4/svr4_misc.c b/sys/compat/svr4/svr4_misc.c
index bb1bf3d..ad56a11 100644
--- a/sys/compat/svr4/svr4_misc.c
+++ b/sys/compat/svr4/svr4_misc.c
@@ -278,7 +278,7 @@ svr4_sys_getdents64(td, uap)
buflen = max(DIRBLKSIZ, nbytes);
buflen = min(buflen, MAXBSIZE);
buf = malloc(buflen, M_TEMP, M_WAITOK);
- vn_lock(vp, LK_EXCLUSIVE | LK_RETRY);
+ vn_lock(vp, LK_SHARED | LK_RETRY);
again:
aiov.iov_base = buf;
aiov.iov_len = buflen;
@@ -447,7 +447,7 @@ svr4_sys_getdents(td, uap)
buflen = min(MAXBSIZE, uap->nbytes);
buf = malloc(buflen, M_TEMP, M_WAITOK);
- vn_lock(vp, LK_EXCLUSIVE | LK_RETRY);
+ vn_lock(vp, LK_SHARED | LK_RETRY);
off = fp->f_offset;
again:
aiov.iov_base = buf;
OpenPOWER on IntegriCloud