aboutsummaryrefslogtreecommitdiff
path: root/sys/cddl/contrib/opensolaris/uts/common
diff options
context:
space:
mode:
authorPawel Jakub Dawidek <pjd@FreeBSD.org>2007-05-06 01:27:54 +0000
committerPawel Jakub Dawidek <pjd@FreeBSD.org>2007-05-06 01:27:54 +0000
commitfab3f4465e807dea84f8c8200b6e384766ae0422 (patch)
tree5cb534aa280b5310b62f06663d728340b3bcc9af /sys/cddl/contrib/opensolaris/uts/common
parent433c2705cdae2cd4a741ca4e99dbe3016b73ca3c (diff)
downloadsrc-fab3f4465e807dea84f8c8200b6e384766ae0422.tar.gz
src-fab3f4465e807dea84f8c8200b6e384766ae0422.zip
MFp4: We don't need to cover vnode_pager_setsize() with the z_map_lock.
Notes
Notes: svn path=/head/; revision=169302
Diffstat (limited to 'sys/cddl/contrib/opensolaris/uts/common')
-rw-r--r--sys/cddl/contrib/opensolaris/uts/common/fs/zfs/zfs_vnops.c3
1 files changed, 2 insertions, 1 deletions
diff --git a/sys/cddl/contrib/opensolaris/uts/common/fs/zfs/zfs_vnops.c b/sys/cddl/contrib/opensolaris/uts/common/fs/zfs/zfs_vnops.c
index 711321a10436..d3e56fac1ab4 100644
--- a/sys/cddl/contrib/opensolaris/uts/common/fs/zfs/zfs_vnops.c
+++ b/sys/cddl/contrib/opensolaris/uts/common/fs/zfs/zfs_vnops.c
@@ -770,11 +770,12 @@ zfs_write(vnode_t *vp, uio_t *uio, int ioflag, cred_t *cr, caller_context_t *ct)
* Perhaps we should use SPA_MAXBLOCKSIZE chunks?
*/
nbytes = MIN(n, max_blksz - P2PHASE(woff, max_blksz));
- rw_enter(&zp->z_map_lock, RW_READER);
if (woff + nbytes > zp->z_phys->zp_size)
vnode_pager_setsize(vp, woff + nbytes);
+ rw_enter(&zp->z_map_lock, RW_READER);
+
tx_bytes = uio->uio_resid;
if (vn_has_cached_data(vp)) {
rw_exit(&zp->z_map_lock);