]> git.neil.brown.name Git - mdadm.git/commitdiff
Change behavior in find_free_devnm when wrapping around.
authorMike Lovell <mlovell@bluehost.com>
Wed, 18 May 2016 18:23:14 +0000 (12:23 -0600)
committerJes Sorensen <Jes.Sorensen@redhat.com>
Fri, 3 Jun 2016 19:36:11 +0000 (15:36 -0400)
Newer kernels don't allow for specifying an array larger than 511. This
makes it so find_free_devnm wraps to 511 instead of 2^20 - 1.

Signed-off-by: Mike Lovell <mlovell@bluehost.com>
Signed-off-by: Jes Sorensen <Jes.Sorensen@redhat.com>
mdopen.c

index e71d7586cf79d36023eed8beaf45d62af8aaaf01..f818fdf339eb9314eae07fd24b96c5229d0baf43 100644 (file)
--- a/mdopen.c
+++ b/mdopen.c
@@ -439,7 +439,7 @@ char *find_free_devnm(int use_partitions)
        static char devnm[32];
        int devnum;
        for (devnum = 127; devnum != 128;
-            devnum = devnum ? devnum-1 : (1<<20)-1) {
+            devnum = devnum ? devnum-1 : (1<<9)-1) {
 
                if (use_partitions)
                        sprintf(devnm, "md_d%d", devnum);