summaryrefslogtreecommitdiffstats
path: root/sys/nfsserver
diff options
context:
space:
mode:
authorpjd <pjd@FreeBSD.org>2010-12-19 18:06:20 +0000
committerpjd <pjd@FreeBSD.org>2010-12-19 18:06:20 +0000
commitc1aba2a1e932dd530833b43353b8c6471f947927 (patch)
tree464bdbacba52a2b9f630a5e2c4ba96d96aeba601 /sys/nfsserver
parentf4859bef574232113ba3dcc6bb533d0d9e06d304 (diff)
downloadFreeBSD-src-c1aba2a1e932dd530833b43353b8c6471f947927.zip
FreeBSD-src-c1aba2a1e932dd530833b43353b8c6471f947927.tar.gz
Reduce lock scope a little.
Diffstat (limited to 'sys/nfsserver')
-rw-r--r--sys/nfsserver/nfs_serv.c4
1 files changed, 2 insertions, 2 deletions
diff --git a/sys/nfsserver/nfs_serv.c b/sys/nfsserver/nfs_serv.c
index 668b02c..683d77f 100644
--- a/sys/nfsserver/nfs_serv.c
+++ b/sys/nfsserver/nfs_serv.c
@@ -2826,11 +2826,11 @@ again:
io.uio_rw = UIO_READ;
io.uio_td = NULL;
eofflag = 0;
- vn_lock(vp, LK_SHARED | LK_RETRY);
if (cookies) {
free((caddr_t)cookies, M_TEMP);
cookies = NULL;
}
+ vn_lock(vp, LK_SHARED | LK_RETRY);
error = VOP_READDIR(vp, &io, cred, &eofflag, &ncookies, &cookies);
off = (off_t)io.uio_offset;
if (!cookies && !error)
@@ -3114,12 +3114,12 @@ again:
io.uio_rw = UIO_READ;
io.uio_td = NULL;
eofflag = 0;
- vn_lock(vp, LK_SHARED | LK_RETRY);
vp_locked = 1;
if (cookies) {
free((caddr_t)cookies, M_TEMP);
cookies = NULL;
}
+ vn_lock(vp, LK_SHARED | LK_RETRY);
error = VOP_READDIR(vp, &io, cred, &eofflag, &ncookies, &cookies);
off = (u_quad_t)io.uio_offset;
getret = VOP_GETATTR(vp, &at, cred);
OpenPOWER on IntegriCloud