]> www.infradead.org Git - users/jedix/linux-maple.git/commit
dm: don't change md if dm_table_set_restrictions() fails
authorBenjamin Marzinski <bmarzins@redhat.com>
Thu, 10 Apr 2025 19:49:38 +0000 (15:49 -0400)
committerMikulas Patocka <mpatocka@redhat.com>
Fri, 11 Apr 2025 11:38:39 +0000 (13:38 +0200)
commit9eb7109a5bfc5b8226e9517e9f3cc6d414391884
tree667b02f2bcaa0c4d18c6e7ed1a2abd59e4aed9a8
parent0af2f6be1b4281385b618cb86ad946eded089ac8
dm: don't change md if dm_table_set_restrictions() fails

__bind was changing the disk capacity, geometry and mempools of the
mapped device before calling dm_table_set_restrictions() which could
fail, forcing dm to drop the new table. Failing here would leave the
device using the old table but with the wrong capacity and mempools.

Move dm_table_set_restrictions() earlier in __bind(). Since it needs the
capacity to be set, save the old version and restore it on failure.

Fixes: bb37d77239af2 ("dm: introduce zone append emulation")
Reviewed-by: Damien Le Moal <dlemoal@kernel.org>
Tested-by: Damien Le Moal <dlemoal@kernel.org>
Signed-off-by: Benjamin Marzinski <bmarzins@redhat.com>
Signed-off-by: Mikulas Patocka <mpatocka@redhat.com>
drivers/md/dm.c