]> www.infradead.org Git - nvme.git/commitdiff
loop: LOOP_SET_FD: send uevents for partitions
authorThomas Weißschuh <thomas.weissschuh@linutronix.de>
Tue, 15 Apr 2025 14:55:06 +0000 (16:55 +0200)
committerJens Axboe <axboe@kernel.dk>
Tue, 15 Apr 2025 19:15:21 +0000 (13:15 -0600)
Remove the suppression of the uevents before scanning for partitions.
The partitions inherit their suppression settings from their parent device,
which lead to the uevents being dropped.

This is similar to the same changes for LOOP_CONFIGURE done in
commit bb430b694226 ("loop: LOOP_CONFIGURE: send uevents for partitions").

Fixes: 498ef5c777d9 ("loop: suppress uevents while reconfiguring the device")
Cc: stable@vger.kernel.org
Signed-off-by: Thomas Weißschuh <thomas.weissschuh@linutronix.de>
Reviewed-by: Jan Kara <jack@suse.cz>
Link: https://lore.kernel.org/r/20250415-loop-uevent-changed-v3-1-60ff69ac6088@linutronix.de
Signed-off-by: Jens Axboe <axboe@kernel.dk>
drivers/block/loop.c

index 3be7f00e7fc740da2745ffbccfcebe53eef2ddaa..e9ec7a45f3f2d1dd2a82b3506f3740089a20ae05 100644 (file)
@@ -662,12 +662,12 @@ static int loop_change_fd(struct loop_device *lo, struct block_device *bdev,
         * dependency.
         */
        fput(old_file);
+       dev_set_uevent_suppress(disk_to_dev(lo->lo_disk), 0);
        if (partscan)
                loop_reread_partitions(lo);
 
        error = 0;
 done:
-       dev_set_uevent_suppress(disk_to_dev(lo->lo_disk), 0);
        kobject_uevent(&disk_to_dev(lo->lo_disk)->kobj, KOBJ_CHANGE);
        return error;
 
@@ -675,6 +675,7 @@ out_err:
        loop_global_unlock(lo, is_loop);
 out_putf:
        fput(file);
+       dev_set_uevent_suppress(disk_to_dev(lo->lo_disk), 0);
        goto done;
 }