From: Chao Yu Date: Tue, 20 Sep 2016 02:33:57 +0000 (+0800) Subject: raid5: fix to detect failure of register_shrinker X-Git-Tag: Ubuntu-5.13.0-19.19~14902^2~3 X-Git-Url: https://git.proxmox.com/?a=commitdiff_plain;h=6a0f53ff351dfd10e74752e57b9c27d3397a3c4d;p=mirror_ubuntu-jammy-kernel.git raid5: fix to detect failure of register_shrinker register_shrinker can fail after commit 1d3d4437eae1 ("vmscan: per-node deferred work"), we should detect the failure of it, otherwise we may fail to register shrinker after raid5 configuration was setup successfully. Signed-off-by: Chao Yu Signed-off-by: Shaohua Li --- diff --git a/drivers/md/raid5.c b/drivers/md/raid5.c index 5883ef0d95bf..08274b4b4009 100644 --- a/drivers/md/raid5.c +++ b/drivers/md/raid5.c @@ -6670,7 +6670,12 @@ static struct r5conf *setup_conf(struct mddev *mddev) conf->shrinker.count_objects = raid5_cache_count; conf->shrinker.batch = 128; conf->shrinker.flags = 0; - register_shrinker(&conf->shrinker); + if (register_shrinker(&conf->shrinker)) { + printk(KERN_ERR + "md/raid:%s: couldn't register shrinker.\n", + mdname(mddev)); + goto abort; + } sprintf(pers_name, "raid%d", mddev->new_level); conf->thread = md_register_thread(raid5d, mddev, pers_name);