• M
    md: software Raid autodetect dev list not array · 4d936ec1
    Michael J. Evans 提交于
    In current release kernels the md module (Software RAID) uses a static
    array (dev_t[128]) to store partition/device info temporarily for
    autostart.
    
    I discovered this (and that the devices are added as disks/partitions are
    discovered at boot) while I was debugging why only one of my MD arrays would
    come up whole, while all the others were short a disk.
    
    I eventually discovered that it was enumerating through all of 9 of my 11 hds
    (2 had only 4 partitions apiece) while the other 9 have 15 partitions (I
    wanted 64 per drive...).  The last partition of the 8th drive in my 9 drive
    raid 5 sets wasn't added, thus making the final md array short both a parity
    and data disk, and it was started later, elsewhere.
    
    This patch replaces that static array with a list.
    
    [akpm@linux-foundation.org: removed unused var]
    Signed-off-by: NMichael J. Evans <mjevans1983@gmail.com>
    Cc: Neil Brown <neilb@suse.de>
    Signed-off-by: NAndrew Morton <akpm@linux-foundation.org>
    Signed-off-by: NLinus Torvalds <torvalds@linux-foundation.org>
    4d936ec1
md.c 145.7 KB