On Fri, Feb 24 2017, ian_bruce@xxxxxxx wrote: > When assembling non-metadata arrays ("mdadm --build"), the in-kernel > superblock apparently defaults to the MD-RAID v0.90 type. This imposes a > maximum of 27 component block devices, presumably as well as limits on > device size. > > mdadm does not allow you to override this default, by specifying the > v1.2 superblock. It is not clear whether mdadm tells the kernel to use > the v0.90 superblock, or the kernel assumes this by itself. One or other > of them should be fixed; there does not appear to be any reason why the > v1.2 superblock should not be the default in this case. Can you see if this change improves the behavior for you? NeilBrown diff --git a/drivers/md/md.c b/drivers/md/md.c index ba485dcf1064..e0ac7f5a8e68 100644 --- a/drivers/md/md.c +++ b/drivers/md/md.c @@ -6464,9 +6464,8 @@ static int set_array_info(struct mddev *mddev, mdu_array_info_t *info) mddev->layout = info->layout; mddev->chunk_sectors = info->chunk_size >> 9; - mddev->max_disks = MD_SB_DISKS; - if (mddev->persistent) { + mddev->max_disks = MD_SB_DISKS; mddev->flags = 0; mddev->sb_flags = 0; }
Attachment:
signature.asc
Description: PGP signature