The commit is pushed to "branch-rh9-5.14.0-427.55.1.vz9.82.x-ovz" and will appear at g...@bitbucket.org:openvz/vzkernel.git after rh9-5.14.0-427.55.1.vz9.82.2 ------> commit 7d992f02e165a7ba3d276ef176618433e73182af Author: Pavel Tikhomirov <ptikhomi...@virtuozzo.com> Date: Thu Jul 3 17:42:45 2025 +0800
dm-ploop: fix error handling in ploop_prepare_reloc_index_wb 1) Only cleanup what was acquired, e.g.: do not clear MD_UPDATING if we didn't set it. 2) Do not use add_to_wblist uninitialized on error paths. 3) Make label names self-descriptive. https://virtuozzo.atlassian.net/browse/VSTOR-108540 Signed-off-by: Pavel Tikhomirov <ptikhomi...@virtuozzo.com> Reviewed-by: Andrey Zhadchenko <andrey.zhadche...@virtuozzo.com> Feature: dm-ploop: ploop target driver --- drivers/md/dm-ploop-map.c | 7 ++++--- 1 file changed, 4 insertions(+), 3 deletions(-) diff --git a/drivers/md/dm-ploop-map.c b/drivers/md/dm-ploop-map.c index 11767dd919503..55b39874beee9 100644 --- a/drivers/md/dm-ploop-map.c +++ b/drivers/md/dm-ploop-map.c @@ -2730,14 +2730,14 @@ int ploop_prepare_reloc_index_wb(struct ploop *ploop, /* Keep this test to be the same as in delay_if_md_busy */ if (test_bit(MD_WRITEBACK, &md->status) || test_bit(MD_UPDATING, &md->status)) { err = -EBUSY; - goto out_error; + goto out_unlock; } else { set_bit(MD_UPDATING, &md->status); } err = ploop_prepare_bat_update(ploop, md, type); if (err) - goto out_error; + goto out_clear_updating; add_to_wblist = ploop_md_make_dirty(ploop, md); @@ -2765,10 +2765,11 @@ int ploop_prepare_reloc_index_wb(struct ploop *ploop, out_reset: ploop_break_bat_update(ploop, md, piwb); spin_lock_irq(&ploop->bat_lock); -out_error: if (add_to_wblist) clear_bit(MD_DIRTY, &md->status); +out_clear_updating: clear_bit(MD_UPDATING, &md->status); +out_unlock: spin_unlock_irq(&ploop->bat_lock); return err; _______________________________________________ Devel mailing list Devel@openvz.org https://lists.openvz.org/mailman/listinfo/devel