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

Reply via email to