Commit 2ddb5998 authored by Linus Torvalds's avatar Linus Torvalds

Merge tag 'md/3.15-fixes' of git://neil.brown.name/md

Pull md bugfixes from Neil Brown:
 "Two bugfixes for md in 3.15

  Both tagged for -stable"

* tag 'md/3.15-fixes' of git://neil.brown.name/md:
  md: avoid possible spinning md thread at shutdown.
  md/raid10: call wait_barrier() for each request submitted.
parents 200d963b 0f62fb22
...@@ -8516,7 +8516,8 @@ static int md_notify_reboot(struct notifier_block *this, ...@@ -8516,7 +8516,8 @@ static int md_notify_reboot(struct notifier_block *this,
if (mddev_trylock(mddev)) { if (mddev_trylock(mddev)) {
if (mddev->pers) if (mddev->pers)
__md_stop_writes(mddev); __md_stop_writes(mddev);
mddev->safemode = 2; if (mddev->persistent)
mddev->safemode = 2;
mddev_unlock(mddev); mddev_unlock(mddev);
} }
need_delay = 1; need_delay = 1;
......
...@@ -1172,6 +1172,13 @@ static void __make_request(struct mddev *mddev, struct bio *bio) ...@@ -1172,6 +1172,13 @@ static void __make_request(struct mddev *mddev, struct bio *bio)
int max_sectors; int max_sectors;
int sectors; int sectors;
/*
* Register the new request and wait if the reconstruction
* thread has put up a bar for new requests.
* Continue immediately if no resync is active currently.
*/
wait_barrier(conf);
sectors = bio_sectors(bio); sectors = bio_sectors(bio);
while (test_bit(MD_RECOVERY_RESHAPE, &mddev->recovery) && while (test_bit(MD_RECOVERY_RESHAPE, &mddev->recovery) &&
bio->bi_iter.bi_sector < conf->reshape_progress && bio->bi_iter.bi_sector < conf->reshape_progress &&
...@@ -1552,12 +1559,6 @@ static void make_request(struct mddev *mddev, struct bio *bio) ...@@ -1552,12 +1559,6 @@ static void make_request(struct mddev *mddev, struct bio *bio)
md_write_start(mddev, bio); md_write_start(mddev, bio);
/*
* Register the new request and wait if the reconstruction
* thread has put up a bar for new requests.
* Continue immediately if no resync is active currently.
*/
wait_barrier(conf);
do { do {
......
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment