diff options
author | Shaohua Li <shli@fb.com> | 2017-02-14 01:21:49 +0100 |
---|---|---|
committer | Shaohua Li <shli@fb.com> | 2017-02-14 04:24:16 +0100 |
commit | 26483819f89c5cf9d27620d70c95afeeeb9bece5 (patch) | |
tree | c6bc82084038c13c7c694062b4092a1eb8485abe /drivers/md/linear.c | |
parent | md/raid5-cache: exclude reclaiming stripes in reclaim check (diff) | |
download | linux-26483819f89c5cf9d27620d70c95afeeeb9bece5.tar.xz linux-26483819f89c5cf9d27620d70c95afeeeb9bece5.zip |
md: disable WRITE SAME if it fails in underlayer disks
This makes md do the same thing as dm for write same IO failure. Please
see 7eee4ae(dm: disable WRITE SAME if it fails) for details why we need
this.
We did a little bit different than dm. Instead of disabling writesame in
the first IO error, we disable it till next writesame IO coming after
the first IO error. This way we don't need to clone a bio.
Also reported here: https://bugzilla.kernel.org/show_bug.cgi?id=118581
Suggested-by: NeilBrown <neilb@suse.com>
Acked-by: NeilBrown <neilb@suse.com>
Signed-off-by: Shaohua Li <shli@fb.com>
Diffstat (limited to 'drivers/md/linear.c')
-rw-r--r-- | drivers/md/linear.c | 1 |
1 files changed, 1 insertions, 0 deletions
diff --git a/drivers/md/linear.c b/drivers/md/linear.c index 26a73b2002cf..789008bc94ff 100644 --- a/drivers/md/linear.c +++ b/drivers/md/linear.c @@ -291,6 +291,7 @@ static void linear_make_request(struct mddev *mddev, struct bio *bio) trace_block_bio_remap(bdev_get_queue(split->bi_bdev), split, disk_devt(mddev->gendisk), bio_sector); + mddev_check_writesame(mddev, split); generic_make_request(split); } } while (split != bio); |