diff options
author | Shaohua Li <shli@fb.com> | 2017-09-21 20:23:35 +0300 |
---|---|---|
committer | Shaohua Li <shli@fb.com> | 2017-09-28 06:07:40 +0300 |
commit | 393debc23c7820211d1c8253dd6a8408a7628fe7 (patch) | |
tree | f7306f2a4c7e664e27758edfafb23616ca0c90f2 /drivers/md/md.h | |
parent | 4a704d6db0ee4a349d5d523813a718e429b4914d (diff) | |
download | linux-393debc23c7820211d1c8253dd6a8408a7628fe7.tar.xz |
md: separate request handling
With commit cc27b0c78c79, pers->make_request could bail out without handling
the bio. If that happens, we should retry. The commit fixes md_make_request
but not other call sites. Separate the request handling part, so other call
sites can use it.
Reported-by: Nate Dailey <nate.dailey@stratus.com>
Fix: cc27b0c78c79(md: fix deadlock between mddev_suspend() and md_write_start())
Cc: stable@vger.kernel.org
Reviewed-by: NeilBrown <neilb@suse.com>
Signed-off-by: Shaohua Li <shli@fb.com>
Diffstat (limited to 'drivers/md/md.h')
-rw-r--r-- | drivers/md/md.h | 1 |
1 files changed, 1 insertions, 0 deletions
diff --git a/drivers/md/md.h b/drivers/md/md.h index 561d22b9a9a8..d8287d3cd1bf 100644 --- a/drivers/md/md.h +++ b/drivers/md/md.h @@ -692,6 +692,7 @@ extern void md_stop_writes(struct mddev *mddev); extern int md_rdev_init(struct md_rdev *rdev); extern void md_rdev_clear(struct md_rdev *rdev); +extern void md_handle_request(struct mddev *mddev, struct bio *bio); extern void mddev_suspend(struct mddev *mddev); extern void mddev_resume(struct mddev *mddev); extern struct bio *bio_alloc_mddev(gfp_t gfp_mask, int nr_iovecs, |