Re: mdadm(IMSM): Unsupported attributes : 40000000

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



On Sat, 6 Aug 2011 20:55:47 +0200 Thomas Steinborn
<thestonewell@xxxxxxxxxxxxxx> wrote:

> Hi,
> 
> after updating to mdadm 3.2.2 (by way of upgrading from Fedora 14 to
> 15) from 3.1.5 I am no longer able to boot my IMSM raid, which I was
> able to for the last 5 years or so.
> 
> The errors I am getting are:
> 
>   mdadm(IMSM): Unsupported attributes : 40000000
>   mdadm: IMSM metadata loading not allowed due to attributes incompatibility.
> 
> I tracked that down to the patch at
> 
> http://www.spinics.net/lists/raid/msg34783.html
> 
> According to that patch 40000000 means #define MPB_ATTRIB_NEVER_USE
> __cpu_to_le32(0x40000000). Any advice why an unused but aparently set
> attribute should stop the raid to boot?
> 
> For now I am up and running with 3.1.5 but would like to keep up with
> the latest mdadm if possible.
> 
> Thanks
> Thomas
> --
> To unsubscribe from this list: send the line "unsubscribe linux-raid" in
> the body of a message to majordomo@xxxxxxxxxxxxxxx
> More majordomo info at  http://vger.kernel.org/majordomo-info.html

Thanks for the report.

It looks like we need something like the following.

Adam/Kryzysztof:  Is this patch reasonable?

Thanks,
NeilBrown





>From 418f9b368a1200370695527d22aba8c3606172c5 Mon Sep 17 00:00:00 2001
From: NeilBrown <neilb@xxxxxxx>
Date: Tue, 9 Aug 2011 08:49:34 +1000
Subject: [PATCH] IMSM: allow some array attribute bits to be ignored.

Some bits are not handled by mdadm, but their presence should not
cause failure.
In particular MPB_ATTRIB_NEVER_USE appears harmless.

Reported-by: Thomas Steinborn <thestonewell@xxxxxxxxxxxxxx>
Signed-off-by: NeilBrown <neilb@xxxxxxx>

diff --git a/super-intel.c b/super-intel.c
index dcab5f9..ddf4de9 100644
--- a/super-intel.c
+++ b/super-intel.c
@@ -74,14 +74,17 @@
 
 /* Define all supported attributes that have to be accepted by mdadm
  */
-#define MPB_ATTRIB_SUPPORTED		MPB_ATTRIB_CHECKSUM_VERIFY | \
+#define MPB_ATTRIB_SUPPORTED	       (MPB_ATTRIB_CHECKSUM_VERIFY | \
 					MPB_ATTRIB_2TB             | \
 					MPB_ATTRIB_2TB_DISK        | \
 					MPB_ATTRIB_RAID0           | \
 					MPB_ATTRIB_RAID1           | \
 					MPB_ATTRIB_RAID10          | \
 					MPB_ATTRIB_RAID5           | \
-					MPB_ATTRIB_EXP_STRIPE_SIZE
+					MPB_ATTRIB_EXP_STRIPE_SIZE)
+
+/* Define attributes that are unused but not harmful */
+#define MPB_ATTRIB_IGNORED		(MPB_ATTRIB_NEVER_USE)
 
 #define MPB_SECTOR_CNT 2210
 #define IMSM_RESERVED_SECTORS 4096
@@ -1141,11 +1144,14 @@ void examine_migr_rec_imsm(struct intel_super *super)
 static int imsm_check_attributes(__u32 attributes)
 {
 	int ret_val = 1;
-	__u32 not_supported = (MPB_ATTRIB_SUPPORTED)^0xffffffff;
+	__u32 not_supported = MPB_ATTRIB_SUPPORTED^0xffffffff;
+
+	not_supported &= ~MPB_ATTRIB_IGNORED;
 
 	not_supported &= attributes;
 	if (not_supported) {
-		fprintf(stderr, Name "(IMSM): Unsupported attributes : %x\n", not_supported);
+		fprintf(stderr, Name "(IMSM): Unsupported attributes : %x\n",
+			(unsigned)__le32_to_cpu(not_supported));
 		if (not_supported & MPB_ATTRIB_CHECKSUM_VERIFY) {
 			dprintf("\t\tMPB_ATTRIB_CHECKSUM_VERIFY \n");
 			not_supported ^= MPB_ATTRIB_CHECKSUM_VERIFY;
--
To unsubscribe from this list: send the line "unsubscribe linux-raid" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at  http://vger.kernel.org/majordomo-info.html


[Index of Archives]     [Linux RAID Wiki]     [ATA RAID]     [Linux SCSI Target Infrastructure]     [Linux Block]     [Linux IDE]     [Linux SCSI]     [Linux Hams]     [Device Mapper]     [Device Mapper Cryptographics]     [Kernel]     [Linux Admin]     [Linux Net]     [GFS]     [RPM]     [git]     [Yosemite Forum]


  Powered by Linux