mdadm(IMSM): Unsupported attributes : 40000000

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 incompatib=
ility.

I tracked that down to the patch at

http://www.spinics.net/lists/raid/msg34783.html

According to that patch 40000000 means=A0#define MPB_ATTRIB_NEVER_USE
__cpu_to_le32(0x40000000). Any advice why an unused but aparently set
attribute should stop the raid to boot?

=46or 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" i=
n
the body of a message to majordomo [at] vger.kernel.org
More majordomo info at http://vger.kernel.org/majordomo-info.html
Thomas Steinborn [ Sa, 06 August 2011 20:55 ] [ ID #2063056 ]

Re: mdadm(IMSM): Unsupported attributes : 40000000

On Sat, 6 Aug 2011 20:55:47 +0200 Thomas Steinborn
<thestonewell [at] googlemail.com> 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 incompat=
ibility.
>
> I tracked that down to the patch at
>
> http://www.spinics.net/lists/raid/msg34783.html
>
> According to that patch 40000000 means=A0#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 [at] vger.kernel.org
> 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





=46rom 418f9b368a1200370695527d22aba8c3606172c5 Mon Sep 17 00:00:00 200=
1
=46rom: NeilBrown <neilb [at] suse.de>
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 [at] googlemail.com>
Signed-off-by: NeilBrown <neilb [at] suse.de>

diff --git a/super-intel.c b/super-intel.c
index dcab5f9..ddf4de9 100644
--- a/super-intel.c
+++ b/super-intel.c
[at] [at] -74,14 +74,17 [at] [at]

/* 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
[at] [at] -1141,11 +1144,14 [at] [at] void examine_migr_rec_imsm(struct intel_super *=
super)
static int imsm_check_attributes(__u32 attributes)
{
int ret_val =3D 1;
- __u32 not_supported =3D (MPB_ATTRIB_SUPPORTED)^0xffffffff;
+ __u32 not_supported =3D MPB_ATTRIB_SUPPORTED^0xffffffff;
+
+ not_supported &=3D ~MPB_ATTRIB_IGNORED;

not_supported &=3D attributes;
if (not_supported) {
- fprintf(stderr, Name "(IMSM): Unsupported attributes : %x\n", not_su=
pported);
+ 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 ^=3D MPB_ATTRIB_CHECKSUM_VERIFY;
--
To unsubscribe from this list: send the line "unsubscribe linux-raid" i=
n
the body of a message to majordomo [at] vger.kernel.org
More majordomo info at http://vger.kernel.org/majordomo-info.html
NeilBrown [ Di, 09 August 2011 00:51 ] [ ID #2063136 ]

RE: mdadm(IMSM): Unsupported attributes : 40000000

Neil,

In fact this bit may cause backward compatibility issue.
It was used in old versions of IMSM metadata and for some reason was ma=
rked as "never use".
Skipping this bit during compatibility check is good idea.

I've checked compatibility with metadata created using dmraid and got a=
nother issue.
Attribute "MPB_ATTRIB_NEVER_USE2" is set in metadata created by dmraid =
so mdadm refuse loading metadata.
Could you add MPB_ATTRIB_NEVER_USE2 to your patch to MPB_ATTRIB_IGNORED=
list?

Regards
Krzysztof

> -----Original Message-----
> From: NeilBrown [mailto:neilb [at] suse.de]
> Sent: Tuesday, August 09, 2011 12:51 AM
> To: Thomas Steinborn
> Cc: linux-raid [at] vger.kernel.org; Kwolek, Adam; Wojcik, Krzysztof;
> Williams, Dan J
> Subject: Re: mdadm(IMSM): Unsupported attributes : 40000000
>
> On Sat, 6 Aug 2011 20:55:47 +0200 Thomas Steinborn
> <thestonewell [at] googlemail.com> wrote:
>
> > Hi,
> >
> > after updating to mdadm 3.2.2 (by way of upgrading from Fedora 14 t=
o
> > 15) from 3.1.5 I am no longer able to boot my IMSM raid, which I wa=
s
> > 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=A0#define MPB_ATTRIB_NEVER_U=
SE
> > __cpu_to_le32(0x40000000). Any advice why an unused but aparently s=
et
> > attribute should stop the raid to boot?
> >
> > For now I am up and running with 3.1.5 but would like to keep up wi=
th
> > the latest mdadm if possible.
> >
> > Thanks
> > Thomas
> > --
> > To unsubscribe from this list: send the line "unsubscribe linux-rai=
d"
> in
> > the body of a message to majordomo [at] vger.kernel.org
> > 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 200=
1
> From: NeilBrown <neilb [at] suse.de>
> 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 [at] googlemail.com>
> Signed-off-by: NeilBrown <neilb [at] suse.de>
>
> diff --git a/super-intel.c b/super-intel.c
> index dcab5f9..ddf4de9 100644
> --- a/super-intel.c
> +++ b/super-intel.c
> [at] [at] -74,14 +74,17 [at] [at]
>
> /* 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
> [at] [at] -1141,11 +1144,14 [at] [at] void examine_migr_rec_imsm(struct intel_super
> *super)
> static int imsm_check_attributes(__u32 attributes)
> {
> int ret_val =3D 1;
> - __u32 not_supported =3D (MPB_ATTRIB_SUPPORTED)^0xffffffff;
> + __u32 not_supported =3D MPB_ATTRIB_SUPPORTED^0xffffffff;
> +
> + not_supported &=3D ~MPB_ATTRIB_IGNORED;
>
> not_supported &=3D 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 ^=3D MPB_ATTRIB_CHECKSUM_VERIFY;
--
To unsubscribe from this list: send the line "unsubscribe linux-raid" i=
n
the body of a message to majordomo [at] vger.kernel.org
More majordomo info at http://vger.kernel.org/majordomo-info.html
krzysztof.wojcik [ Di, 09 August 2011 11:36 ] [ ID #2063144 ]

Re: mdadm(IMSM): Unsupported attributes : 40000000

Btw, I have a pretty old imsm controller.
[root [at] pinguin ~]# mdadm --detail-platform

Platform : Intel(R) Matrix Storage Manager
Version : 5.0.0.1032
RAID Levels : raid0 raid1 raid10
Chunk Sizes : 4k 8k 16k 32k 64k 128k
Max Disks : 4
Max Volumes : 2
I/O Controller : /sys/devices/pci0000:00/0000:00:1f.2
Port0 : /dev/sda (WD-WMANK1522533)
Port2 : /dev/sdb (WD-WMANK1522480)
Port1 : - no device attached -
Port3 : - no device attached -


And indeed this was managed by dmraid before.

The array itself was created by the controller BIOS and not windows or linux.

HTH
Thomas


On 09.08.2011 11:36, Wojcik, Krzysztof wrote:
> Neil,
>
> In fact this bit may cause backward compatibility issue.
> It was used in old versions of IMSM metadata and for some reason was marked as "never use".
> Skipping this bit during compatibility check is good idea.
>
> I've checked compatibility with metadata created using dmraid and got another issue.
> Attribute "MPB_ATTRIB_NEVER_USE2" is set in metadata created by dmraid so mdadm refuse loading metadata.
> Could you add MPB_ATTRIB_NEVER_USE2 to your patch to MPB_ATTRIB_IGNORED list?
>
> Regards
> Krzysztof
>
>> -----Original Message-----
>> From: NeilBrown [mailto:neilb [at] suse.de]
>> Sent: Tuesday, August 09, 2011 12:51 AM
>> To: Thomas Steinborn
>> Cc: linux-raid [at] vger.kernel.org; Kwolek, Adam; Wojcik, Krzysztof;
>> Williams, Dan J
>> Subject: Re: mdadm(IMSM): Unsupported attributes : 40000000
>>
>> On Sat, 6 Aug 2011 20:55:47 +0200 Thomas Steinborn
>> <thestonewell [at] googlemail.com> 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 [at] vger.kernel.org
>>> 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 [at] suse.de>
>> 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 [at] googlemail.com>
>> Signed-off-by: NeilBrown<neilb [at] suse.de>
>>
>> diff --git a/super-intel.c b/super-intel.c
>> index dcab5f9..ddf4de9 100644
>> --- a/super-intel.c
>> +++ b/super-intel.c
>> [at] [at] -74,14 +74,17 [at] [at]
>>
>> /* 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
>> [at] [at] -1141,11 +1144,14 [at] [at] 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 [at] vger.kernel.org
More majordomo info at http://vger.kernel.org/majordomo-info.html
Thomas Steinborn [ Mi, 10 August 2011 11:13 ] [ ID #2063182 ]
Linux » gmane.linux.raid » mdadm(IMSM): Unsupported attributes : 40000000

Vorheriges Thema: Re: Linux 3.1-rc1 (nfs/pnfs and drivers/md)
Nächstes Thema: mdadm forces resync every boot