<html><head><meta name="color-scheme" content="light dark"></head><body><pre style="word-wrap: break-word; white-space: pre-wrap;">
From: NeilBrown &lt;neilb@cse.unsw.edu.au&gt;

As this is used to flag an internal bitmap.

Also, introduce symbolic names for feature bits.

Signed-off-by: Neil Brown &lt;neilb@cse.unsw.edu.au&gt;
Signed-off-by: Andrew Morton &lt;akpm@osdl.org&gt;
---

 drivers/md/md.c           |    6 +++---
 include/linux/raid/md_p.h |    5 +++++
 2 files changed, 8 insertions(+), 3 deletions(-)

diff -puN drivers/md/md.c~md-allow-md-to-load-a-superblock-with-feature-bit-1-set drivers/md/md.c
--- devel/drivers/md/md.c~md-allow-md-to-load-a-superblock-with-feature-bit-1-set	2005-08-21 23:49:50.000000000 -0700
+++ devel-akpm/drivers/md/md.c	2005-08-21 23:49:50.000000000 -0700
@@ -875,7 +875,7 @@ static int super_1_load(mdk_rdev_t *rdev
 	    sb-&gt;major_version != cpu_to_le32(1) ||
 	    le32_to_cpu(sb-&gt;max_dev) &gt; (4096-256)/2 ||
 	    le64_to_cpu(sb-&gt;super_offset) != (rdev-&gt;sb_offset&lt;&lt;1) ||
-	    sb-&gt;feature_map != 0)
+	    (le32_to_cpu(sb-&gt;feature_map) &amp; ~MD_FEATURE_ALL) != 0)
 		return -EINVAL;
 
 	if (calc_sb_1_csum(sb) != sb-&gt;sb_csum) {
@@ -954,7 +954,7 @@ static int super_1_validate(mddev_t *mdd
 
 		mddev-&gt;max_disks =  (4096-256)/2;
 
-		if ((le32_to_cpu(sb-&gt;feature_map) &amp; 1) &amp;&amp;
+		if ((le32_to_cpu(sb-&gt;feature_map) &amp; MD_FEATURE_BITMAP_OFFSET) &amp;&amp;
 		    mddev-&gt;bitmap_file == NULL ) {
 			if (mddev-&gt;level != 1) {
 				printk(KERN_WARNING "md: bitmaps only supported for raid1\n");
@@ -1029,7 +1029,7 @@ static void super_1_sync(mddev_t *mddev,
 
 	if (mddev-&gt;bitmap &amp;&amp; mddev-&gt;bitmap_file == NULL) {
 		sb-&gt;bitmap_offset = cpu_to_le32((__u32)mddev-&gt;bitmap_offset);
-		sb-&gt;feature_map = cpu_to_le32(1);
+		sb-&gt;feature_map = cpu_to_le32(MD_FEATURE_BITMAP_OFFSET);
 	}
 
 	max_dev = 0;
diff -puN include/linux/raid/md_p.h~md-allow-md-to-load-a-superblock-with-feature-bit-1-set include/linux/raid/md_p.h
--- devel/include/linux/raid/md_p.h~md-allow-md-to-load-a-superblock-with-feature-bit-1-set	2005-08-21 23:49:50.000000000 -0700
+++ devel-akpm/include/linux/raid/md_p.h	2005-08-21 23:49:50.000000000 -0700
@@ -238,5 +238,10 @@ struct mdp_superblock_1 {
 	__u16	dev_roles[0];	/* role in array, or 0xffff for a spare, or 0xfffe for faulty */
 };
 
+/* feature_map bits */
+#define MD_FEATURE_BITMAP_OFFSET	1
+
+#define	MD_FEATURE_ALL			1
+
 #endif 
 
_
</pre></body></html>