Donate to e Foundation | Murena handsets with /e/OS | Own a part of Murena! Learn more

Commit e0d735c1 authored by Chao Yu's avatar Chao Yu Committed by Bob Peterson
Browse files

gfs2: fix to detect failure of register_shrinker



register_shrinker can fail after commit 1d3d4437 ("vmscan: per-node
deferred work"), we should detect the failure of it, otherwise we may
fail to register shrinker after gfs2 module was been inited successfully.

Signed-off-by: default avatarChao Yu <yuchao0@huawei.com>
Signed-off-by: default avatarBob Peterson <rpeterso@redhat.com>
parent 23e5671a
Loading
Loading
Loading
Loading
+7 −1
Original line number Diff line number Diff line
@@ -1781,7 +1781,13 @@ int __init gfs2_glock_init(void)
		return -ENOMEM;
	}

	register_shrinker(&glock_shrinker);
	ret = register_shrinker(&glock_shrinker);
	if (ret) {
		destroy_workqueue(gfs2_delete_workqueue);
		destroy_workqueue(glock_workqueue);
		rhashtable_destroy(&gl_hash_table);
		return ret;
	}

	return 0;
}
+3 −1
Original line number Diff line number Diff line
@@ -145,7 +145,9 @@ static int __init init_gfs2_fs(void)
	if (!gfs2_qadata_cachep)
		goto fail;

	register_shrinker(&gfs2_qd_shrinker);
	error = register_shrinker(&gfs2_qd_shrinker);
	if (error)
		goto fail;

	error = register_filesystem(&gfs2_fs_type);
	if (error)