diff options
author | Darrick J. Wong <darrick.wong@oracle.com> | 2015-10-24 01:23:01 -0400 |
---|---|---|
committer | Theodore Ts'o <tytso@mit.edu> | 2015-10-24 01:23:01 -0400 |
commit | 7889640d6d0b3ec3ce0f557e563e84c7bbe3fc19 (patch) | |
tree | c5bba2e075653a75dc197dde548ea7de5bd7955b /misc/dumpe2fs.c | |
parent | 86f3b6cf98a72c6dad0738e3af2512ddcbd49be9 (diff) | |
download | e2fsprogs-7889640d6d0b3ec3ce0f557e563e84c7bbe3fc19.tar.gz |
misc: clean up feature test macros with predicate functions
Create separate predicate functions to test/set/clear feature flags,
thereby replacing the wordy old macros. Furthermore, clean out the
places where we open-coded feature tests.
Signed-off-by: Darrick J. Wong <darrick.wong@oracle.com>
Signed-off-by: Theodore Ts'o <tytso@mit.edu>
Diffstat (limited to 'misc/dumpe2fs.c')
-rw-r--r-- | misc/dumpe2fs.c | 25 |
1 files changed, 9 insertions, 16 deletions
diff --git a/misc/dumpe2fs.c b/misc/dumpe2fs.c index 9e1e5d05..a034703b 100644 --- a/misc/dumpe2fs.c +++ b/misc/dumpe2fs.c @@ -143,8 +143,7 @@ static void print_bg_rel_offset(ext2_filsys fs, blk64_t block, int itable, if (itable && block == first_block) return; printf(" (+%u)", (unsigned)(block - first_block)); - } else if (fs->super->s_feature_incompat & - EXT4_FEATURE_INCOMPAT_FLEX_BG) { + } else if (ext2fs_has_feature_flex_bg(fs->super)) { dgrp_t flex_grp = ext2fs_group_of_blk2(fs, block); printf(" (bg #%u + %u)", flex_grp, (unsigned)(block-ext2fs_group_first_block2(fs,flex_grp))); @@ -165,8 +164,7 @@ static void list_desc(ext2_filsys fs, int grp_only) ext2_ino_t ino_itr = 1; errcode_t retval; - if (EXT2_HAS_RO_COMPAT_FEATURE(fs->super, - EXT4_FEATURE_RO_COMPAT_BIGALLOC)) + if (ext2fs_has_feature_bigalloc(fs->super)) units = _("clusters"); block_nbytes = EXT2_CLUSTERS_PER_GROUP(fs->super) / 8; @@ -184,7 +182,7 @@ static void list_desc(ext2_filsys fs, int grp_only) reserved_gdt = fs->super->s_reserved_gdt_blocks; fputc('\n', stdout); first_block = fs->super->s_first_data_block; - if (fs->super->s_feature_incompat & EXT2_FEATURE_INCOMPAT_META_BG) + if (ext2fs_has_feature_meta_bg(fs->super)) old_desc_blocks = fs->super->s_first_meta_bg; else old_desc_blocks = fs->desc_blocks; @@ -258,8 +256,7 @@ static void list_desc(ext2_filsys fs, int grp_only) print_number(ext2fs_block_bitmap_loc(fs, i)); print_bg_rel_offset(fs, ext2fs_block_bitmap_loc(fs, i), 0, first_block, last_block); - if (fs->super->s_feature_ro_compat & - EXT4_FEATURE_RO_COMPAT_METADATA_CSUM) + if (ext2fs_has_feature_metadata_csum(fs->super)) printf(_(", csum 0x%08x"), ext2fs_block_bitmap_checksum(fs, i)); if (getenv("DUMPE2FS_IGNORE_80COL")) @@ -270,8 +267,7 @@ static void list_desc(ext2_filsys fs, int grp_only) print_number(ext2fs_inode_bitmap_loc(fs, i)); print_bg_rel_offset(fs, ext2fs_inode_bitmap_loc(fs, i), 0, first_block, last_block); - if (fs->super->s_feature_ro_compat & - EXT4_FEATURE_RO_COMPAT_METADATA_CSUM) + if (ext2fs_has_feature_metadata_csum(fs->super)) printf(_(", csum 0x%08x"), ext2fs_inode_bitmap_checksum(fs, i)); fputs(_("\n Inode table at "), stdout); @@ -422,8 +418,7 @@ static void print_inline_journal_information(ext2_filsys fs) printf(" (none)"); printf("\n"); fputs(_("Journal size: "), stdout); - if ((fs->super->s_feature_ro_compat & - EXT4_FEATURE_RO_COMPAT_HUGE_FILE) && + if (ext2fs_has_feature_huge_file(fs->super) && (inode.i_flags & EXT4_HUGE_FILE_FL)) size = inode.i_blocks / (fs->blocksize / 1024); else @@ -699,7 +694,7 @@ try_open_again: exit (1); } fs->default_bitmap_type = EXT2FS_BMAP64_RBTREE; - if (fs->super->s_feature_incompat & EXT4_FEATURE_INCOMPAT_64BIT) + if (ext2fs_has_feature_64bit(fs->super)) blocks64 = 1; if (print_badblocks) { list_bad_blocks(fs, 1); @@ -707,14 +702,12 @@ try_open_again: if (grp_only) goto just_descriptors; list_super (fs->super); - if (fs->super->s_feature_incompat & - EXT3_FEATURE_INCOMPAT_JOURNAL_DEV) { + if (ext2fs_has_feature_journal_dev(fs->super)) { print_journal_information(fs); ext2fs_close_free(&fs); exit(0); } - if ((fs->super->s_feature_compat & - EXT3_FEATURE_COMPAT_HAS_JOURNAL) && + if (ext2fs_has_feature_journal(fs->super) && (fs->super->s_journal_inum != 0)) print_inline_journal_information(fs); list_bad_blocks(fs, 0); |