>
> I've asked Girish to send an incremental patch.
>
Here is the incremental patch, to be applied after the patch sent by
Avantika for 2.6.22-rc4 kernel.
Regards,
Girish.
Index: linux-2.6.22-rc4/fs/ext4/super.c
===================================================================
--- linux-2.6.22-rc4.orig/fs/ext4/super.c
+++ linux-2.6.22-rc4/fs/ext4/super.c
@@ -1298,9 +1298,12 @@ __le16 ext4_group_desc_csum(struct ext4_
offset += sizeof(gdp->bg_checksum); /* skip checksum */
/*BUG_ON(offset != sizeof(*gdp)); /* XXX handle s_desc_size */
/* for checksum of struct ext4_group_desc do the rest...*/
- if (offset < sbi->s_es->s_desc_size) {
+ if ((sbi->s_es->s_feature_incompat &
+ cpu_to_le32(EXT4_FEATURE_INCOMPAT_64BIT)) &&
+ offset < le16_to_cpu(sbi->s_es->s_desc_size)) {
crc = crc16(crc, (__u8 *)gdp + offset,
- sbi->s_es->s_desc_size - offset);
+ le16_to_cpu(sbi->s_es->s_desc_size)
+ - offset);
}
}
Index: linux-2.6.22-rc4/include/linux/ext4_fs.h
===================================================================
--- linux-2.6.22-rc4.orig/include/linux/ext4_fs.h
+++ linux-2.6.22-rc4/include/linux/ext4_fs.h
@@ -687,11 +687,11 @@ static inline int ext4_valid_inum(struct
#define EXT4_FEATURE_COMPAT_EXT_ATTR 0x0008
#define EXT4_FEATURE_COMPAT_RESIZE_INODE 0x0010
#define EXT4_FEATURE_COMPAT_DIR_INDEX 0x0020
-#define EXT4_FEATURE_RO_COMPAT_GDT_CSUM 0x0040
#define EXT4_FEATURE_RO_COMPAT_SPARSE_SUPER 0x0001
#define EXT4_FEATURE_RO_COMPAT_LARGE_FILE 0x0002
#define EXT4_FEATURE_RO_COMPAT_BTREE_DIR 0x0004
+#define EXT4_FEATURE_RO_COMPAT_GDT_CSUM 0x0010
#define EXT4_FEATURE_RO_COMPAT_DIR_NLINK 0x0020
#define EXT4_FEATURE_RO_COMPAT_EXTRA_ISIZE 0x0040