Before this commit, Transaction::copied_lba_keys was never cleared
on reset, so when a transaction is reset, and another rewrite
transaction is committing, the rewrite transaction would try to
update the copied lba mapping which may not have been copied by
the reset transaction, which would result in unexpected errors.
This commit generally follows the regulations about resetting
transactions, which is clear everything on reset
Fixes: https://tracker.ceph.com/issues/76945
Signed-off-by: Xuehan Xu <xuxuehan@qianxin.com>
}
get_handle().exit();
views.clear();
+ copied_lba_keys.clear();
+ update_copied_lba_key = nullptr;
}
bool did_reset() const {