This is the part for multipath. Since multipatch already attaches private data into original bio, we just disable write same there. Signed-off-by: Shaohua Li <shli@xxxxxx> --- drivers/md/multipath.c | 4 ++++ 1 file changed, 4 insertions(+) diff --git a/drivers/md/multipath.c b/drivers/md/multipath.c index aa8c4e5c..5ee9579 100644 --- a/drivers/md/multipath.c +++ b/drivers/md/multipath.c @@ -89,6 +89,10 @@ static void multipath_end_request(struct bio *bio) struct mpconf *conf = mp_bh->mddev->private; struct md_rdev *rdev = conf->multipaths[mp_bh->path].rdev; + if (bio_op(bio) == REQ_OP_WRITE_SAME && bio->bi_error == -EREMOTEIO && + !bdev_get_queue(bio->bi_bdev)->limits.max_write_same_sectors) + mp_bh->mddev->queue->limits.max_write_same_sectors = 0; + if (!bio->bi_error) multipath_end_bh_io(mp_bh, 0); else if (!(bio->bi_opf & REQ_RAHEAD)) { -- 2.9.3 -- To unsubscribe from this list: send the line "unsubscribe linux-raid" in the body of a message to majordomo@xxxxxxxxxxxxxxx More majordomo info at http://vger.kernel.org/majordomo-info.html