[PATCH] md: make sure the new 'sb_size' is set properly device added without pre...
authorNeilBrown <neilb@suse.de>
Fri, 9 Sep 2005 23:24:01 +0000 (16:24 -0700)
committerLinus Torvalds <torvalds@g5.osdl.org>
Fri, 9 Sep 2005 23:39:14 +0000 (16:39 -0700)
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 <neilb@suse.de>
Signed-off-by: Andrew Morton <akpm@osdl.org>
Signed-off-by: Linus Torvalds <torvalds@osdl.org>
drivers/md/md.c

index f27e8f644dfe24adc8d07db3b02e131e36d8c088..8c1f7954882aa6f8c9838166071acb3747bb57b0 100644 (file)
@@ -2303,6 +2303,8 @@ static int add_new_disk(mddev_t * mddev, mdu_disk_info_t *info)
                else
                        rdev->in_sync = 0;
 
+               rdev->sb_size = MD_SB_BYTES;
+
                if (info->state & (1<<MD_DISK_WRITEMOSTLY))
                        set_bit(WriteMostly, &rdev->flags);