summaryrefslogtreecommitdiffstats
path: root/drivers/md/raid5-log.h
diff options
context:
space:
mode:
authorShaohua Li <shli@fb.com>2018-08-29 20:05:42 +0200
committerShaohua Li <shli@fb.com>2018-09-01 02:38:09 +0200
commite254de6bcf3f5b6e78a92ac95fb91acef8adfe1a (patch)
tree28d3936768e8425494ea69815bc62e6fa4608e1a /drivers/md/raid5-log.h
parentMerge tag 'arm64-fixes' of git://git.kernel.org/pub/scm/linux/kernel/git/arm6... (diff)
downloadlinux-e254de6bcf3f5b6e78a92ac95fb91acef8adfe1a.tar.xz
linux-e254de6bcf3f5b6e78a92ac95fb91acef8adfe1a.zip
md/raid5-cache: disable reshape completely
We don't support reshape yet if an array supports log device. Previously we determine the fact by checking ->log. However, ->log could be NULL after a log device is removed, but the array is still marked to support log device. Don't allow reshape in this case too. User can disable log device support by setting 'consistency_policy' to 'resync' then do reshape. Reported-by: Xiao Ni <xni@redhat.com> Tested-by: Xiao Ni <xni@redhat.com> Signed-off-by: Shaohua Li <shli@fb.com>
Diffstat (limited to 'drivers/md/raid5-log.h')
-rw-r--r--drivers/md/raid5-log.h5
1 files changed, 5 insertions, 0 deletions
diff --git a/drivers/md/raid5-log.h b/drivers/md/raid5-log.h
index a001808a2b77..bfb811407061 100644
--- a/drivers/md/raid5-log.h
+++ b/drivers/md/raid5-log.h
@@ -46,6 +46,11 @@ 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_log(struct r5conf *conf)
+{
+ return test_bit(MD_HAS_JOURNAL, &conf->mddev->flags);
+}
+
static inline bool raid5_has_ppl(struct r5conf *conf)
{
return test_bit(MD_HAS_PPL, &conf->mddev->flags);