aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorNeilBrown2006-10-03 03:15:59 -0500
committerLinus Torvalds2006-10-03 10:04:18 -0500
commite8703fe1f5cdcff686f7eb0a46487b5a04a9324a (patch)
tree3b52bfa6ee57d59e059fd0e8d8504dbd3ee073b4 /init/do_mounts_md.c
parentd33a56d3639eba077489c937943a32ef6237b1b8 (diff)
downloadkernel-e8703fe1f5cdcff686f7eb0a46487b5a04a9324a.tar.gz
kernel-e8703fe1f5cdcff686f7eb0a46487b5a04a9324a.tar.xz
kernel-e8703fe1f5cdcff686f7eb0a46487b5a04a9324a.zip
[PATCH] md: remove MAX_MD_DEVS which is an arbitrary limit
Once upon a time we needed to fixed limit to the number of md devices, probably because we preallocated some array. This need no longer exists, but we still have an arbitrary limit. So remove MAX_MD_DEVS and allow as many devices as we can fit into the 'minor' part of a device number. Also remove some useless noise at init time (which reports MAX_MD_DEVS) and remove MD_THREAD_NAME_MAX which hasn't been used for a while. Signed-off-by: Neil Brown <neilb@suse.de> Signed-off-by: Andrew Morton <akpm@osdl.org> Signed-off-by: Linus Torvalds <torvalds@osdl.org>
Diffstat (limited to 'init/do_mounts_md.c')
-rw-r--r--init/do_mounts_md.c8
1 files changed, 2 insertions, 6 deletions
diff --git a/init/do_mounts_md.c b/init/do_mounts_md.c
index 2429e1bf8c60..753dc54a6649 100644
--- a/init/do_mounts_md.c
+++ b/init/do_mounts_md.c
@@ -20,7 +20,7 @@ static struct {
20 int level; 20 int level;
21 int chunk; 21 int chunk;
22 char *device_names; 22 char *device_names;
23} md_setup_args[MAX_MD_DEVS] __initdata; 23} md_setup_args[256] __initdata;
24 24
25static int md_setup_ents __initdata; 25static int md_setup_ents __initdata;
26 26
@@ -61,10 +61,6 @@ static int __init md_setup(char *str)
61 return 0; 61 return 0;
62 } 62 }
63 str1 = str; 63 str1 = str;
64 if (minor >= MAX_MD_DEVS) {
65 printk(KERN_WARNING "md: md=%d, Minor device number too high.\n", minor);
66 return 0;
67 }
68 for (ent=0 ; ent< md_setup_ents ; ent++) 64 for (ent=0 ; ent< md_setup_ents ; ent++)
69 if (md_setup_args[ent].minor == minor && 65 if (md_setup_args[ent].minor == minor &&
70 md_setup_args[ent].partitioned == partitioned) { 66 md_setup_args[ent].partitioned == partitioned) {
@@ -72,7 +68,7 @@ static int __init md_setup(char *str)
72 "Replacing previous definition.\n", partitioned?"d":"", minor); 68 "Replacing previous definition.\n", partitioned?"d":"", minor);
73 break; 69 break;
74 } 70 }
75 if (ent >= MAX_MD_DEVS) { 71 if (ent >= ARRAY_SIZE(md_setup_args)) {
76 printk(KERN_WARNING "md: md=%s%d - too many md initialisations\n", partitioned?"d":"", minor); 72 printk(KERN_WARNING "md: md=%s%d - too many md initialisations\n", partitioned?"d":"", minor);
77 return 0; 73 return 0;
78 } 74 }