diff options
Diffstat (limited to 'drivers/md/md-linear.c')
| -rw-r--r-- | drivers/md/md-linear.c | 11 | 
1 files changed, 1 insertions, 10 deletions
| diff --git a/drivers/md/md-linear.c b/drivers/md/md-linear.c index 0f55b079371b..138a3b25c5c8 100644 --- a/drivers/md/md-linear.c +++ b/drivers/md/md-linear.c @@ -64,7 +64,6 @@ static struct linear_conf *linear_conf(struct mddev *mddev, int raid_disks)  	struct linear_conf *conf;  	struct md_rdev *rdev;  	int i, cnt; -	bool discard_supported = false;  	conf = kzalloc(struct_size(conf, disks, raid_disks), GFP_KERNEL);  	if (!conf) @@ -96,9 +95,6 @@ static struct linear_conf *linear_conf(struct mddev *mddev, int raid_disks)  		conf->array_sectors += rdev->sectors;  		cnt++; - -		if (blk_queue_discard(bdev_get_queue(rdev->bdev))) -			discard_supported = true;  	}  	if (cnt != raid_disks) {  		pr_warn("md/linear:%s: not enough drives present. Aborting!\n", @@ -106,11 +102,6 @@ static struct linear_conf *linear_conf(struct mddev *mddev, int raid_disks)  		goto out;  	} -	if (!discard_supported) -		blk_queue_flag_clear(QUEUE_FLAG_DISCARD, mddev->queue); -	else -		blk_queue_flag_set(QUEUE_FLAG_DISCARD, mddev->queue); -  	/*  	 * Here we calculate the device offsets.  	 */ @@ -252,7 +243,7 @@ static bool linear_make_request(struct mddev *mddev, struct bio *bio)  		start_sector + data_offset;  	if (unlikely((bio_op(bio) == REQ_OP_DISCARD) && -		     !blk_queue_discard(bio->bi_bdev->bd_disk->queue))) { +		     !bdev_max_discard_sectors(bio->bi_bdev))) {  		/* Just ignore it */  		bio_endio(bio);  	} else { | 
