X-Git-Url: https://git.stricted.de/?p=GitHub%2Fmt8127%2Fandroid_kernel_alcatel_ttab.git;a=blobdiff_plain;f=drivers%2Fmd%2Fraid10.c;fp=drivers%2Fmd%2Fraid10.c;h=018741ba93104d9ad432d7524a136cf7e69b2227;hp=c35d912a7f9bc62dec0a80934f9b637a99d687d8;hb=32f9f570d04461a41bdcd5c1d93b41ebc5ce182a;hpb=486adf72ccc0c235754923d47a2270c5dcb0c98b diff --git a/drivers/md/raid10.c b/drivers/md/raid10.c index c35d912a7f9b..018741ba9310 100644 --- a/drivers/md/raid10.c +++ b/drivers/md/raid10.c @@ -1133,7 +1133,12 @@ static void raid10_unplug(struct blk_plug_cb *cb, bool from_schedule) while (bio) { /* submit pending writes */ struct bio *next = bio->bi_next; bio->bi_next = NULL; - generic_make_request(bio); + if (unlikely((bio->bi_rw & REQ_DISCARD) && + !blk_queue_discard(bdev_get_queue(bio->bi_bdev)))) + /* Just ignore it */ + bio_endio(bio, 0); + else + generic_make_request(bio); bio = next; } kfree(plug);