dm-table: check BLK_FEAT_ATOMIC_WRITES inside limits_lock
dm_set_device_limits() should check q->limits.features for
BLK_FEAT_ATOMIC_WRITES while holding q->limits_lock, like it does for
the rest of the queue limits.
Fixes: b7c18b17a1 ("dm-table: Set BLK_FEAT_ATOMIC_WRITES for target queue limits")
Signed-off-by: Benjamin Marzinski <bmarzins@redhat.com>
Signed-off-by: Mikulas Patocka <mpatocka@redhat.com>
This commit is contained in:
committed by
Mikulas Patocka
parent
050a3e71ce
commit
85f6d5b729
@@ -430,13 +430,13 @@ static int dm_set_device_limits(struct dm_target *ti, struct dm_dev *dev,
|
||||
return 0;
|
||||
}
|
||||
|
||||
mutex_lock(&q->limits_lock);
|
||||
/*
|
||||
* BLK_FEAT_ATOMIC_WRITES is not inherited from the bottom device in
|
||||
* blk_stack_limits(), so do it manually.
|
||||
*/
|
||||
limits->features |= (q->limits.features & BLK_FEAT_ATOMIC_WRITES);
|
||||
|
||||
mutex_lock(&q->limits_lock);
|
||||
if (blk_stack_limits(limits, &q->limits,
|
||||
get_start_sect(bdev) + start) < 0)
|
||||
DMWARN("%s: adding target device %pg caused an alignment inconsistency: "
|
||||
|
||||
Reference in New Issue
Block a user