Skip to contentSkip to conversation

MODULE_ALIAS for md

PATCH New Rusty Russell 1 participant 1 message Sep 3, 2003

Subsystems (2)
lore
Share & tools
lore
#0 lore raw

PATCH 1/1 MODULE_ALIAS for md

Rather than hardcoded names in modprobe, modules can offer their own aliases (which are overridden by config files).

Here are the drivers/md ones. Also uses try_then_request_module() to clean up some request_module code.

Name: Module Aliases Inside Modules: md
Author: Rusty Russell
Status: Trivial

D: MODULE_ALIAS() macros for md. Also uses try_then_request_module in
D: dm_get_target_type().

drivers/md/dm-target.c +2 -11
diff -urpN --exclude TAGS -X /home/rusty/devel/kernel/kernel-patches/current-dontdiff --minimal .12741-linux-2.6.0-test4-bk4/drivers/md/dm-target.c .12741-linux-2.6.0-test4-bk4.updated/drivers/md/dm-target.c
@@ -56,20 +56,11 @@ static struct tt_internal *get_target_ty
 	return ti;
 }
 
-static void load_module(const char *name)
-{
-	request_module("dm-%s", name);
-}
-
 struct target_type *dm_get_target_type(const char *name)
 {
-	struct tt_internal *ti = get_target_type(name);
-
-	if (!ti) {
-		load_module(name);
-		ti = get_target_type(name);
-	}
+	struct tt_internal *ti;
 
+	ti = try_then_request_module(get_target_type(name), "dm-%s", name);
 	return ti ? &ti->tt : NULL;
 }
 
drivers/md/linear.c +1 -0
diff -urpN --exclude TAGS -X /home/rusty/devel/kernel/kernel-patches/current-dontdiff --minimal .12741-linux-2.6.0-test4-bk4/drivers/md/linear.c .12741-linux-2.6.0-test4-bk4.updated/drivers/md/linear.c
@@ -296,3 +296,4 @@ static void linear_exit (void)
 module_init(linear_init);
 module_exit(linear_exit);
 MODULE_LICENSE("GPL");
+MODULE_ALIAS("md-personality-1"); /* LINEAR */
drivers/md/multipath.c +1 -0
diff -urpN --exclude TAGS -X /home/rusty/devel/kernel/kernel-patches/current-dontdiff --minimal .12741-linux-2.6.0-test4-bk4/drivers/md/multipath.c .12741-linux-2.6.0-test4-bk4.updated/drivers/md/multipath.c
@@ -509,3 +509,4 @@ static void __exit multipath_exit (void)
 module_init(multipath_init);
 module_exit(multipath_exit);
 MODULE_LICENSE("GPL");
+MODULE_ALIAS("md-personality-7"); /* MULTIPATH */
drivers/md/raid0.c +1 -0
diff -urpN --exclude TAGS -X /home/rusty/devel/kernel/kernel-patches/current-dontdiff --minimal .12741-linux-2.6.0-test4-bk4/drivers/md/raid0.c .12741-linux-2.6.0-test4-bk4.updated/drivers/md/raid0.c
@@ -461,3 +461,4 @@ static void raid0_exit (void)
 module_init(raid0_init);
 module_exit(raid0_exit);
 MODULE_LICENSE("GPL");
+MODULE_ALIAS("md-personality-2"); /* RAID0 */
drivers/md/raid1.c +1 -0
diff -urpN --exclude TAGS -X /home/rusty/devel/kernel/kernel-patches/current-dontdiff --minimal .12741-linux-2.6.0-test4-bk4/drivers/md/raid1.c .12741-linux-2.6.0-test4-bk4.updated/drivers/md/raid1.c
@@ -1197,3 +1197,4 @@ static void raid_exit(void)
 module_init(raid_init);
 module_exit(raid_exit);
 MODULE_LICENSE("GPL");
+MODULE_ALIAS("md-personality-3"); /* RAID1 */
drivers/md/raid5.c +1 -0
diff -urpN --exclude TAGS -X /home/rusty/devel/kernel/kernel-patches/current-dontdiff --minimal .12741-linux-2.6.0-test4-bk4/drivers/md/raid5.c .12741-linux-2.6.0-test4-bk4.updated/drivers/md/raid5.c
@@ -1780,3 +1780,4 @@ static void raid5_exit (void)
 module_init(raid5_init);
 module_exit(raid5_exit);
 MODULE_LICENSE("GPL");
+MODULE_ALIAS("md-personality-4"); /* RAID5 */

--
Anyone who quotes me in their sig is an idiot. -- Rusty Russell.