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 <yuchao0@huawei.com> Signed-off-by: Shaohua Li <shli@fb.com>
This commit is contained in:
parent
90bcf13381
commit
6a0f53ff35
@ -6670,7 +6670,12 @@ static struct r5conf *setup_conf(struct mddev *mddev)
|
|||||||
conf->shrinker.count_objects = raid5_cache_count;
|
conf->shrinker.count_objects = raid5_cache_count;
|
||||||
conf->shrinker.batch = 128;
|
conf->shrinker.batch = 128;
|
||||||
conf->shrinker.flags = 0;
|
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);
|
sprintf(pers_name, "raid%d", mddev->new_level);
|
||||||
conf->thread = md_register_thread(raid5d, mddev, pers_name);
|
conf->thread = md_register_thread(raid5d, mddev, pers_name);
|
||||||
|
Loading…
x
Reference in New Issue
Block a user