From: Theodore Ts'o Date: Sun, 10 Aug 2014 23:33:31 +0000 (-0400) Subject: Merge branch 'maint' into next X-Git-Tag: v1.43-WIP-2015-05-18~224 X-Git-Url: http://git.ipfire.org/cgi-bin/gitweb.cgi?a=commitdiff_plain;h=68083287ae95dce9b610c94b28f95cb702d4c98f;p=thirdparty%2Fe2fsprogs.git Merge branch 'maint' into next Conflicts: e2fsck/unix.c --- 68083287ae95dce9b610c94b28f95cb702d4c98f diff --cc e2fsck/problem.h index e901c8e4e,212ed3507..5c92d0a24 --- a/e2fsck/problem.h +++ b/e2fsck/problem.h @@@ -249,18 -249,11 +249,20 @@@ struct problem_context /* 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 diff --cc lib/ext2fs/closefs.c index e7ec0ae37,1f9911311..4f2f19582 --- a/lib/ext2fs/closefs.c +++ b/lib/ext2fs/closefs.c @@@ -362,14 -344,15 +362,16 @@@ errcode_t ext2fs_flush2(ext2_filsys fs * 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++) {