aboutsummaryrefslogtreecommitdiffstats
path: root/module/zfs/zfs_log.c
diff options
context:
space:
mode:
Diffstat (limited to 'module/zfs/zfs_log.c')
-rw-r--r--module/zfs/zfs_log.c8
1 files changed, 3 insertions, 5 deletions
diff --git a/module/zfs/zfs_log.c b/module/zfs/zfs_log.c
index 50325907b..006b91198 100644
--- a/module/zfs/zfs_log.c
+++ b/module/zfs/zfs_log.c
@@ -903,7 +903,7 @@ zfs_log_clone_range(zilog_t *zilog, dmu_tx_t *tx, int txtype, znode_t *zp,
itx_t *itx;
lr_clone_range_t *lr;
uint64_t partlen, max_log_data;
- size_t i, partnbps;
+ size_t partnbps;
if (zil_replaying(zilog, tx) || zp->z_unlinked)
return;
@@ -912,10 +912,8 @@ zfs_log_clone_range(zilog_t *zilog, dmu_tx_t *tx, int txtype, znode_t *zp,
while (nbps > 0) {
partnbps = MIN(nbps, max_log_data / sizeof (bps[0]));
- partlen = 0;
- for (i = 0; i < partnbps; i++) {
- partlen += BP_GET_LSIZE(&bps[i]);
- }
+ partlen = partnbps * blksz;
+ ASSERT3U(partlen, <, len + blksz);
partlen = MIN(partlen, len);
itx = zil_itx_create(txtype,