diff options
author | Pawel Jakub Dawidek <pjd@FreeBSD.org> | 2007-05-06 01:27:54 +0000 |
---|---|---|
committer | Pawel Jakub Dawidek <pjd@FreeBSD.org> | 2007-05-06 01:27:54 +0000 |
commit | fab3f4465e807dea84f8c8200b6e384766ae0422 (patch) | |
tree | 5cb534aa280b5310b62f06663d728340b3bcc9af /sys/cddl/contrib/opensolaris/uts/common | |
parent | 433c2705cdae2cd4a741ca4e99dbe3016b73ca3c (diff) | |
download | src-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.c | 3 |
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); |