md: MD_RECOVERY_NEEDED is set for mddev->recovery
authorShaohua Li <shli@fb.com>
Thu, 8 Dec 2016 23:48:18 +0000 (15:48 -0800)
committerGreg Kroah-Hartman <gregkh@linuxfoundation.org>
Thu, 12 Jan 2017 10:22:50 +0000 (11:22 +0100)
commit 82a301cb0ea2df8a5c88213094a01660067c7fb4 upstream.

Fixes: 90f5f7ad4f38("md: Wait for md_check_recovery before attempting device
removal.")

Reviewed-by: NeilBrown <neilb@suse.com>
Signed-off-by: Shaohua Li <shli@fb.com>
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
drivers/md/md.c

index c1c7d4fb4b775dea78ac3d796ed332d7b6b5f68a..eff554a12fb428560310da77b7b08457d9d57e7b 100644 (file)
@@ -6771,7 +6771,7 @@ static int md_ioctl(struct block_device *bdev, fmode_t mode,
                /* need to ensure recovery thread has run */
                wait_event_interruptible_timeout(mddev->sb_wait,
                                                 !test_bit(MD_RECOVERY_NEEDED,
-                                                          &mddev->flags),
+                                                          &mddev->recovery),
                                                 msecs_to_jiffies(5000));
        if (cmd == STOP_ARRAY || cmd == STOP_ARRAY_RO) {
                /* Need to flush page cache, and ensure no-one else opens