|
@@ -1172,8 +1172,12 @@ static void configure_discard_support(struct dm_target *ti, struct raid_set *rs)
|
|
|
raid456 = (rs->md.level == 4 || rs->md.level == 5 || rs->md.level == 6);
|
|
raid456 = (rs->md.level == 4 || rs->md.level == 5 || rs->md.level == 6);
|
|
|
|
|
|
|
|
for (i = 0; i < rs->md.raid_disks; i++) {
|
|
for (i = 0; i < rs->md.raid_disks; i++) {
|
|
|
- struct request_queue *q = bdev_get_queue(rs->dev[i].rdev.bdev);
|
|
|
|
|
|
|
+ struct request_queue *q;
|
|
|
|
|
|
|
|
|
|
+ if (!rs->dev[i].rdev.bdev)
|
|
|
|
|
+ continue;
|
|
|
|
|
+
|
|
|
|
|
+ q = bdev_get_queue(rs->dev[i].rdev.bdev);
|
|
|
if (!q || !blk_queue_discard(q))
|
|
if (!q || !blk_queue_discard(q))
|
|
|
return;
|
|
return;
|
|
|
|
|
|