From: NeilBrown There are two ways to add devices to an md/raid array. It can have superblock written to it, and then given to the md driver, which will read the superblock (the new way) or md can be told (through SET_ARRAY_INFO) the shape of the array, and the told about individual drives, and md will create the required superblock (the old way). The newly introduced sb_size was only set for drives being added the new way, not the old ways. Oops :-( Signed-off-by: Neil Brown Signed-off-by: Andrew Morton --- drivers/md/md.c | 2 ++ 1 files changed, 2 insertions(+) diff -puN drivers/md/md.c~md-make-sure-the-new-sb_size-is-set-properly-device-added-without-pre-existing-superblock drivers/md/md.c --- devel/drivers/md/md.c~md-make-sure-the-new-sb_size-is-set-properly-device-added-without-pre-existing-superblock 2005-09-02 13:09:01.000000000 -0700 +++ devel-akpm/drivers/md/md.c 2005-09-02 13:09:01.000000000 -0700 @@ -2303,6 +2303,8 @@ static int add_new_disk(mddev_t * mddev, else rdev->in_sync = 0; + rdev->sb_size = MD_SB_BYTES; + if (info->state & (1<flags); _