Introduce md_stop_all_writes() because the next patch will add a second caller for this function. Rename md_notifier into md_reboot_notifier to avoid that the name of this notifier will become confusing due to the next patch. This patch does not change any functionality. Signed-off-by: Bart Van Assche <bart.vanassche@xxxxxxx> Cc: Shaohua Li <shli@xxxxxxxxxx> Cc: linux-raid@xxxxxxxxxxxxxxx Cc: Ming Lei <ming.lei@xxxxxxxxxx> Cc: Christoph Hellwig <hch@xxxxxx> Cc: Hannes Reinecke <hare@xxxxxxxx> Cc: Johannes Thumshirn <jthumshirn@xxxxxxx> --- drivers/md/md.c | 15 ++++++++++----- 1 file changed, 10 insertions(+), 5 deletions(-) diff --git a/drivers/md/md.c b/drivers/md/md.c index 0ff1bbf6c90e..3f7426120a3b 100644 --- a/drivers/md/md.c +++ b/drivers/md/md.c @@ -8935,8 +8935,7 @@ int rdev_clear_badblocks(struct md_rdev *rdev, sector_t s, int sectors, } EXPORT_SYMBOL_GPL(rdev_clear_badblocks); -static int md_notify_reboot(struct notifier_block *this, - unsigned long code, void *x) +static void md_stop_all_writes(void) { struct list_head *tmp; struct mddev *mddev; @@ -8960,11 +8959,17 @@ static int md_notify_reboot(struct notifier_block *this, */ if (need_delay) mdelay(1000*1); +} + +static int md_notify_reboot(struct notifier_block *this, + unsigned long code, void *x) +{ + md_stop_all_writes(); return NOTIFY_DONE; } -static struct notifier_block md_notifier = { +static struct notifier_block md_reboot_notifier = { .notifier_call = md_notify_reboot, .next = NULL, .priority = INT_MAX, /* before any real devices */ @@ -9001,7 +9006,7 @@ static int __init md_init(void) blk_register_region(MKDEV(mdp_major, 0), 1UL<<MINORBITS, THIS_MODULE, md_probe, NULL, NULL); - register_reboot_notifier(&md_notifier); + register_reboot_notifier(&md_reboot_notifier); raid_table_header = register_sysctl_table(raid_root_table); md_geninit(); @@ -9241,7 +9246,7 @@ static __exit void md_exit(void) unregister_blkdev(MD_MAJOR,"md"); unregister_blkdev(mdp_major, "mdp"); - unregister_reboot_notifier(&md_notifier); + unregister_reboot_notifier(&md_reboot_notifier); unregister_sysctl_table(raid_table_header); /* We cannot unload the modules while some process is -- 2.14.1