diff options
author | Tim Chase <[email protected]> | 2015-03-23 12:10:19 -0500 |
---|---|---|
committer | Brian Behlendorf <[email protected]> | 2015-03-25 11:58:42 -0700 |
commit | ded576e28fe70a40e78a90e4668de8130d599380 (patch) | |
tree | 394908a0734f2059cc396796657771ecd8836458 /module/zfs/dmu_tx.c | |
parent | 7b4536c710adea88f160c6f9ae140ae5279c8183 (diff) |
Set the maximum ZVOL transfer size correctly
ZoL had been setting max_sectors to UINT_MAX, but until Linux 3.19, it
the kernel artifically capped it at 1024 (BLK_DEF_MAX_SECTORS).
This cap was removed in torvalds/linux@34b48db. This patch changes
it to DMU_MAX_ACCESS (in sectors) and also changes the ASSERT in
dmu_tx_hold_write() to allow the maximum transfer size.
Signed-off-by: Tim Chase <[email protected]>
Signed-off-by: Brian Behlendorf <[email protected]>
Closes #3212
Diffstat (limited to 'module/zfs/dmu_tx.c')
-rw-r--r-- | module/zfs/dmu_tx.c | 2 |
1 files changed, 1 insertions, 1 deletions
diff --git a/module/zfs/dmu_tx.c b/module/zfs/dmu_tx.c index cdf5a6d0f..3d6dcc70f 100644 --- a/module/zfs/dmu_tx.c +++ b/module/zfs/dmu_tx.c @@ -420,7 +420,7 @@ dmu_tx_hold_write(dmu_tx_t *tx, uint64_t object, uint64_t off, int len) dmu_tx_hold_t *txh; ASSERT(tx->tx_txg == 0); - ASSERT(len < DMU_MAX_ACCESS); + ASSERT(len <= DMU_MAX_ACCESS); ASSERT(len == 0 || UINT64_MAX - off >= len - 1); txh = dmu_tx_hold_object_impl(tx, tx->tx_objset, |