diff options
author | Yu Kuai <yukuai3@huawei.com> | 2025-02-15 17:22:22 +0800 |
---|---|---|
committer | Yu Kuai <yukuai@kernel.org> | 2025-03-05 00:27:20 +0800 |
commit | 3d44e1d1575a877cf75a7776802506ce7ab8ecc4 (patch) | |
tree | 3b5602426431e5c68a1d1f2980faa8e59c32492f /drivers/md/raid1.c | |
parent | d3beb7c9c61d239e73cb93481b27c7b94130dd03 (diff) |
md: switch personalities to use md_submodule_head
Remove the global list 'pers_list', and switch to use md_submodule_head,
which is managed by xarry. Prepare to unify registration and unregistration
for all sub modules.
Link: https://lore.kernel.org/linux-raid/20250215092225.2427977-5-yukuai1@huaweicloud.com
Signed-off-by: Yu Kuai <yukuai3@huawei.com>
Diffstat (limited to 'drivers/md/raid1.c')
-rw-r--r-- | drivers/md/raid1.c | 22 |
1 files changed, 13 insertions, 9 deletions
diff --git a/drivers/md/raid1.c b/drivers/md/raid1.c index 789e8b73df9b..87ec691920cd 100644 --- a/drivers/md/raid1.c +++ b/drivers/md/raid1.c @@ -3500,9 +3500,13 @@ static void *raid1_takeover(struct mddev *mddev) static struct md_personality raid1_personality = { - .name = "raid1", - .level = 1, - .owner = THIS_MODULE, + .head = { + .type = MD_PERSONALITY, + .id = ID_RAID1, + .name = "raid1", + .owner = THIS_MODULE, + }, + .make_request = raid1_make_request, .run = raid1_run, .free = raid1_free, @@ -3519,18 +3523,18 @@ static struct md_personality raid1_personality = .takeover = raid1_takeover, }; -static int __init raid_init(void) +static int __init raid1_init(void) { - return register_md_personality(&raid1_personality); + return register_md_submodule(&raid1_personality.head); } -static void raid_exit(void) +static void __exit raid1_exit(void) { - unregister_md_personality(&raid1_personality); + unregister_md_submodule(&raid1_personality.head); } -module_init(raid_init); -module_exit(raid_exit); +module_init(raid1_init); +module_exit(raid1_exit); MODULE_LICENSE("GPL"); MODULE_DESCRIPTION("RAID1 (mirroring) personality for MD"); MODULE_ALIAS("md-personality-3"); /* RAID1 */ |