mdadm/mdadm-3.2.2-attributes.patch

42 lines
1.6 KiB
Diff
Raw Normal View History

diff -up mdadm-3.2.2/super-intel.c.attributes mdadm-3.2.2/super-intel.c
--- mdadm-3.2.2/super-intel.c.attributes 2011-08-31 15:50:02.919229255 -0400
+++ mdadm-3.2.2/super-intel.c 2011-08-31 15:51:58.560231484 -0400
@@ -74,14 +74,18 @@
/* 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 | \
+ MPB_ATTRIB_NEVER_USE2)
#define MPB_SECTOR_CNT 2210
#define IMSM_RESERVED_SECTORS 4096
@@ -1141,11 +1145,14 @@ void examine_migr_rec_imsm(struct intel_
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;