From: NeilBrown <neilb@suse.de>
Date: Thu, 25 Aug 2011 14:43:08 +1000
Subject: [PATCH] md: ensure changes to 'write-mostly' are reflected in metadata.
Git-commit: aeb9b211849621f592288ed5ad694de9eeaae87a
Patch-mainline: v3.1
References: bnc#755178

The 'write-mostly' flag can be changed through sysfs.
With 0.90 metadata, those changes are reflected in the metadata.
For 1.x metadata, they aren't.

So fix super_1_sync to record 'write-mostly' status.

Signed-off-by: NeilBrown <neilb@suse.de>
Acked-by: NeilBrown <neilb@suse.de>

---
 drivers/md/md.c |    5 +++++
 1 file changed, 5 insertions(+)

--- linux-3.0-SLE11-SP2.orig/drivers/md/md.c
+++ linux-3.0-SLE11-SP2/drivers/md/md.c
@@ -1691,6 +1691,11 @@ static void super_1_sync(mddev_t *mddev,
 	else
 		sb->devflags &= ~FailFast1;
 
+	if (test_bit(WriteMostly, &rdev->flags))
+		sb->devflags |= WriteMostly1;
+	else
+		sb->devflags &= ~WriteMostly1;
+
 	if (mddev->bitmap && mddev->bitmap_info.file == NULL) {
 		sb->bitmap_offset = cpu_to_le32((__u32)mddev->bitmap_info.offset);
 		sb->feature_map = cpu_to_le32(MD_FEATURE_BITMAP_OFFSET);
