aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorShaohua Li <shli@fb.com>2015-08-13 17:32:04 -0400
committerNeilBrown <neilb@suse.com>2015-10-31 22:48:26 -0400
commit5c7e81c3de9eb3db01e16190a1da0899efee645b (patch)
tree3abff5f4c664ceeb23949099700890201c01105f
parent713cf5a63954bdc1cd4bed0a81e98cbd8fc5928c (diff)
raid5: enable log for raid array with cache disk
Now log is safe to enable for raid array with cache disk Signed-off-by: Shaohua Li <shli@fb.com> Signed-off-by: NeilBrown <neilb@suse.com>
-rw-r--r--drivers/md/raid5.c11
-rw-r--r--include/uapi/linux/raid/md_p.h1
2 files changed, 12 insertions, 0 deletions
diff --git a/drivers/md/raid5.c b/drivers/md/raid5.c
index 122702d957a6..b0bf81d084fd 100644
--- a/drivers/md/raid5.c
+++ b/drivers/md/raid5.c
@@ -6329,8 +6329,11 @@ static void raid5_free_percpu(struct r5conf *conf)
6329 6329
6330static void free_conf(struct r5conf *conf) 6330static void free_conf(struct r5conf *conf)
6331{ 6331{
6332 if (conf->log)
6333 r5l_exit_log(conf->log);
6332 if (conf->shrinker.seeks) 6334 if (conf->shrinker.seeks)
6333 unregister_shrinker(&conf->shrinker); 6335 unregister_shrinker(&conf->shrinker);
6336
6334 free_thread_groups(conf); 6337 free_thread_groups(conf);
6335 shrink_stripes(conf); 6338 shrink_stripes(conf);
6336 raid5_free_percpu(conf); 6339 raid5_free_percpu(conf);
@@ -6996,6 +6999,14 @@ static int run(struct mddev *mddev)
6996 mddev->queue); 6999 mddev->queue);
6997 } 7000 }
6998 7001
7002 if (journal_dev) {
7003 char b[BDEVNAME_SIZE];
7004
7005 printk(KERN_INFO"md/raid:%s: using device %s as journal\n",
7006 mdname(mddev), bdevname(journal_dev->bdev, b));
7007 r5l_init_log(conf, journal_dev);
7008 }
7009
6999 return 0; 7010 return 0;
7000abort: 7011abort:
7001 md_unregister_thread(&mddev->thread); 7012 md_unregister_thread(&mddev->thread);
diff --git a/include/uapi/linux/raid/md_p.h b/include/uapi/linux/raid/md_p.h
index 96e4196f9c79..c3e654c6d518 100644
--- a/include/uapi/linux/raid/md_p.h
+++ b/include/uapi/linux/raid/md_p.h
@@ -322,6 +322,7 @@ struct mdp_superblock_1 {
322 |MD_FEATURE_NEW_OFFSET \ 322 |MD_FEATURE_NEW_OFFSET \
323 |MD_FEATURE_RECOVERY_BITMAP \ 323 |MD_FEATURE_RECOVERY_BITMAP \
324 |MD_FEATURE_CLUSTERED \ 324 |MD_FEATURE_CLUSTERED \
325 |MD_FEATURE_JOURNAL \
325 ) 326 )
326 327
327struct r5l_payload_header { 328struct r5l_payload_header {