mirror of
https://git.proxmox.com/git/mirror_zfs.git
synced 2025-07-12 02:37:39 +03:00
zfs_log_write: only put the callback on the last itx
If a write is split across mutliple itxs, we only want the callback on the last one, otherwise it will be called for every itx associated with this single write, which makes it very hard to know what to clean up. Sponsored-by: Klara, Inc. Sponsored-by: Wasabi Technology, Inc. Reviewed-by: Mark Johnston <markj@FreeBSD.org> Reviewed-by: Alexander Motin <mav@FreeBSD.org> Signed-off-by: Rob Norris <rob.norris@klarasystems.com> Closes #17445
This commit is contained in:
parent
e1dd433a44
commit
9c0f5bc183
@ -693,8 +693,11 @@ zfs_log_write(zilog_t *zilog, dmu_tx_t *tx, int txtype,
|
||||
itx->itx_sync = (zp->z_sync_cnt != 0);
|
||||
itx->itx_gen = gen;
|
||||
|
||||
itx->itx_callback = callback;
|
||||
itx->itx_callback_data = callback_data;
|
||||
if (resid == len) {
|
||||
itx->itx_callback = callback;
|
||||
itx->itx_callback_data = callback_data;
|
||||
}
|
||||
|
||||
zil_itx_assign(zilog, itx, tx);
|
||||
|
||||
off += len;
|
||||
|
Loading…
Reference in New Issue
Block a user