diff options
author | mav <mav@FreeBSD.org> | 2015-10-03 11:05:58 +0000 |
---|---|---|
committer | mav <mav@FreeBSD.org> | 2015-10-03 11:05:58 +0000 |
commit | bdf9b313164afa2ebfaa86888742c70d01e895bd (patch) | |
tree | 99ac0fcf77a84cc4c91d0bf76548ed2a55594a6d /sys/cddl | |
parent | d3ad52afc9e719066e93bbbe0d745e90f207ad04 (diff) | |
download | FreeBSD-src-bdf9b313164afa2ebfaa86888742c70d01e895bd.zip FreeBSD-src-bdf9b313164afa2ebfaa86888742c70d01e895bd.tar.gz |
Restore original array_rd_sz semantics.
Before r278702 prefetch was blocked for I/Os > 1MB, after -- >= 1MB.
1MB I/Os are used for bulk operations in CTL (XCOPY, VERIFY), and disabling
prefetch for them reduced the performance.
This is temporary local patch, that should be replaced when upstreamed.
Discussed with: mahrens
MFC after: 3 days
Diffstat (limited to 'sys/cddl')
-rw-r--r-- | sys/cddl/contrib/opensolaris/uts/common/fs/zfs/dmu.c | 2 |
1 files changed, 1 insertions, 1 deletions
diff --git a/sys/cddl/contrib/opensolaris/uts/common/fs/zfs/dmu.c b/sys/cddl/contrib/opensolaris/uts/common/fs/zfs/dmu.c index 326b03e..4ed3f52 100644 --- a/sys/cddl/contrib/opensolaris/uts/common/fs/zfs/dmu.c +++ b/sys/cddl/contrib/opensolaris/uts/common/fs/zfs/dmu.c @@ -449,7 +449,7 @@ dmu_buf_hold_array_by_dnode(dnode_t *dn, uint64_t offset, uint64_t length, } if ((flags & DMU_READ_NO_PREFETCH) == 0 && read && - length < zfetch_array_rd_sz) { + length <= zfetch_array_rd_sz) { dmu_zfetch(&dn->dn_zfetch, blkid, nblks); } rw_exit(&dn->dn_struct_rwlock); |