/* Checking group descriptor failed */
#define PR_0_CHECK_DESC_FAILED 0x000045
- /* 64bit is set but extents are not set. */
- #define PR_0_64BIT_WITHOUT_EXTENTS 0x000048
-
+/*
+ * metadata_csum supersedes uninit_bg; both feature bits cannot be set
+ * simultaneously.
+ */
+#define PR_0_META_AND_GDT_CSUM_SET 0x000046
+
+/* Superblock has invalid MMP checksum. */
+#define PR_0_MMP_CSUM_INVALID 0x000047
+
+ /* 64bit is set but extents are not set. */
+ #define PR_0_64BIT_WITHOUT_EXTENTS 0x000048
+
+ /* The first_meta_bg is too big */
+ #define PR_0_FIRST_META_BG_TOO_BIG 0x000049
/*
* Pass 1 errors
* superblocks and group descriptors.
*/
group_ptr = (char *) group_shadow;
- if (fs->super->s_feature_incompat & EXT2_FEATURE_INCOMPAT_META_BG)
+ if (fs->super->s_feature_incompat & EXT2_FEATURE_INCOMPAT_META_BG) {
old_desc_blocks = fs->super->s_first_meta_bg;
- else
+ if (old_desc_blocks > fs->super->s_first_meta_bg)
+ old_desc_blocks = fs->desc_blocks;
+ } else
old_desc_blocks = fs->desc_blocks;
- ext2fs_numeric_progress_init(fs, &progress, NULL,
- fs->group_desc_count);
+ if (fs->progress_ops && fs->progress_ops->init)
+ (fs->progress_ops->init)(fs, &progress, NULL,
+ fs->group_desc_count);
for (i = 0; i < fs->group_desc_count; i++) {