diff options
author | Artur Paszkiewicz <artur.paszkiewicz@intel.com> | 2018-02-20 10:10:36 +0100 |
---|---|---|
committer | Shaohua Li <sh.li@alibaba-inc.com> | 2018-02-21 18:40:40 +0100 |
commit | f4bc0c813e03bdb93f5300c3e06d7a0f07f65a74 (patch) | |
tree | 2ea6fafb1c885f995140e16e052c4c8b83d3b2d0 /drivers/md/raid5-log.h | |
parent | md raid10: fix NULL deference in handle_write_completed() (diff) | |
download | linux-f4bc0c813e03bdb93f5300c3e06d7a0f07f65a74.tar.xz linux-f4bc0c813e03bdb93f5300c3e06d7a0f07f65a74.zip |
raid5-ppl: fix handling flush requests
Add missing bio completion. Without this any flush request would hang.
Fixes: 1532d9e87e8b ("raid5-ppl: PPL support for disks with write-back cache enabled")
Signed-off-by: Artur Paszkiewicz <artur.paszkiewicz@intel.com>
Signed-off-by: Shaohua Li <sh.li@alibaba-inc.com>
Diffstat (limited to 'drivers/md/raid5-log.h')
-rw-r--r-- | drivers/md/raid5-log.h | 3 |
1 files changed, 2 insertions, 1 deletions
diff --git a/drivers/md/raid5-log.h b/drivers/md/raid5-log.h index 0c76bcedfc1c..a001808a2b77 100644 --- a/drivers/md/raid5-log.h +++ b/drivers/md/raid5-log.h @@ -44,6 +44,7 @@ extern void ppl_write_stripe_run(struct r5conf *conf); extern void ppl_stripe_write_finished(struct stripe_head *sh); extern int ppl_modify_log(struct r5conf *conf, struct md_rdev *rdev, bool add); extern void ppl_quiesce(struct r5conf *conf, int quiesce); +extern int ppl_handle_flush_request(struct r5l_log *log, struct bio *bio); static inline bool raid5_has_ppl(struct r5conf *conf) { @@ -104,7 +105,7 @@ static inline int log_handle_flush_request(struct r5conf *conf, struct bio *bio) if (conf->log) ret = r5l_handle_flush_request(conf->log, bio); else if (raid5_has_ppl(conf)) - ret = 0; + ret = ppl_handle_flush_request(conf->log, bio); return ret; } |