From: NeilBrown <neilb@suse.de>

There was another case where sb_size wasn't being set, so instead do the
sensible thing and set if when filling in the content of a superblock.  That
ensures that whenever we write a superblock, the sb_size MUST be set.

Signed-off-by: Neil Brown <neilb@suse.de>
Signed-off-by: Andrew Morton <akpm@osdl.org>
---

 drivers/md/md.c |    4 ++--
 1 files changed, 2 insertions(+), 2 deletions(-)

diff -puN drivers/md/md.c~md-really-get-sb_size-setting-right-in-all-cases drivers/md/md.c
--- devel/drivers/md/md.c~md-really-get-sb_size-setting-right-in-all-cases	2005-09-06 17:10:27.000000000 -0700
+++ devel-akpm/drivers/md/md.c	2005-09-06 17:10:27.000000000 -0700
@@ -712,6 +712,8 @@ static void super_90_sync(mddev_t *mddev
 	int i;
 	int active=0, working=0,failed=0,spare=0,nr_disks=0;
 
+	rdev->sb_size = MD_SB_BYTES;
+
 	sb = (mdp_super_t*)page_address(rdev->sb_page);
 
 	memset(sb, 0, sizeof(*sb));
@@ -2303,8 +2305,6 @@ static int add_new_disk(mddev_t * mddev,
 		else
 			rdev->in_sync = 0;
 
-		rdev->sb_size = MD_SB_BYTES;
-
 		if (info->state & (1<<MD_DISK_WRITEMOSTLY))
 			set_bit(WriteMostly, &rdev->flags);
 
_