summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorJens Axboe <axboe@kernel.dk>2020-03-17 15:15:34 -0600
committerJens Axboe <axboe@kernel.dk>2020-03-17 15:15:34 -0600
commitfcc43a515637d0045e8bf6eb5b3ca5b9752501b6 (patch)
tree51449cebc1f1a08d85f350bb1bc053a62efc6bd3
parente83995c9f84161900b80d337d6df358a7803870a (diff)
parente74d93e96d721c4297f2a900ad0191890d2fc2b0 (diff)
Merge branch 'md-next' of ssh://gitolite.kernel.org/pub/scm/linux/kernel/git/song/md into for-5.7/drivers
Pull MD fixes from Song. * 'md-next' of ssh://gitolite.kernel.org/pub/scm/linux/kernel/git/song/md: block: keep bdi->io_pages in sync with max_sectors_kb for stacked devices md: check arrays is suspended in mddev_detach before call quiesce operations
-rw-r--r--block/blk-settings.c3
-rw-r--r--drivers/md/md.c2
2 files changed, 4 insertions, 1 deletions
diff --git a/block/blk-settings.c b/block/blk-settings.c
index c8eda2e7b91e..be1dca0103a4 100644
--- a/block/blk-settings.c
+++ b/block/blk-settings.c
@@ -664,6 +664,9 @@ void disk_stack_limits(struct gendisk *disk, struct block_device *bdev,
printk(KERN_NOTICE "%s: Warning: Device %s is misaligned\n",
top, bottom);
}
+
+ t->backing_dev_info->io_pages =
+ t->limits.max_sectors >> (PAGE_SHIFT - 9);
}
EXPORT_SYMBOL(disk_stack_limits);
diff --git a/drivers/md/md.c b/drivers/md/md.c
index 469f551863be..0b30ada971c1 100644
--- a/drivers/md/md.c
+++ b/drivers/md/md.c
@@ -6184,7 +6184,7 @@ EXPORT_SYMBOL_GPL(md_stop_writes);
static void mddev_detach(struct mddev *mddev)
{
md_bitmap_wait_behind_writes(mddev);
- if (mddev->pers && mddev->pers->quiesce) {
+ if (mddev->pers && mddev->pers->quiesce && !mddev->suspended) {
mddev->pers->quiesce(mddev, 1);
mddev->pers->quiesce(mddev, 0);
}