dm: handle failures in dm_table_set_restrictions
If dm_table_set_restrictions() fails while swapping tables, device-mapper will continue using the previous table. It must be sure to leave the mapped_device in it's previous state on failure. Otherwise device-mapper could end up using the old table with settings from the unused table. Do not update the mapped device in dm_set_zones_restrictions(). Wait till after dm_table_set_restrictions() is sure to succeed to update the md zoned settings. Do the same with the dax settings, and if dm_revalidate_zones() fails, restore the original queue limits. Fixes: 7f91ccd8 ("dm: Call dm_revalidate_zones() after setting the queue limits") 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>
Loading
Please sign in to comment