Even we tried to make mkfs and btrfs-convert use the same features, but previous patch forced btrfs-convert to use mix-bg feature.
So the default fs features is different for mkfs and btrfs-convert, add mask_default parameter for btrfs_list_all_fs_features() to handle the difference. Signed-off-by: Qu Wenruo <quwen...@cn.fujitsu.com> --- btrfs-convert.c | 4 +++- mkfs.c | 3 ++- utils.c | 4 ++-- utils.h | 2 +- 4 files changed, 8 insertions(+), 5 deletions(-) diff --git a/btrfs-convert.c b/btrfs-convert.c index a60f380..e730e4b 100644 --- a/btrfs-convert.c +++ b/btrfs-convert.c @@ -2950,7 +2950,9 @@ int main(int argc, char *argv[]) } if (features & BTRFS_FEATURE_LIST_ALL) { btrfs_list_all_fs_features( - ~BTRFS_CONVERT_ALLOWED_FEATURES); + ~BTRFS_CONVERT_ALLOWED_FEATURES, + BTRFS_MKFS_DEFAULT_FEATURES | + BTRFS_CONVERT_FORCE_FEATURES); exit(0); } diff --git a/mkfs.c b/mkfs.c index b8879fc..56ce381 100644 --- a/mkfs.c +++ b/mkfs.c @@ -1430,7 +1430,8 @@ int main(int ac, char **av) } free(orig); if (features & BTRFS_FEATURE_LIST_ALL) { - btrfs_list_all_fs_features(0); + btrfs_list_all_fs_features(0, + BTRFS_MKFS_DEFAULT_FEATURES); exit(0); } break; diff --git a/utils.c b/utils.c index c0d1afa..78ba67b 100644 --- a/utils.c +++ b/utils.c @@ -633,7 +633,7 @@ void btrfs_process_fs_features(u64 flags) } } -void btrfs_list_all_fs_features(u64 mask_disallowed) +void btrfs_list_all_fs_features(u64 mask_disallowed, u64 mask_default) { int i; @@ -643,7 +643,7 @@ void btrfs_list_all_fs_features(u64 mask_disallowed) if (mkfs_features[i].flag & mask_disallowed) continue; - if (mkfs_features[i].flag & BTRFS_MKFS_DEFAULT_FEATURES) + if (mkfs_features[i].flag & mask_default) is_default = ", default"; fprintf(stderr, "%-20s- %s (0x%llx%s)\n", mkfs_features[i].name, diff --git a/utils.h b/utils.h index 7f1a128..f8fd745 100644 --- a/utils.h +++ b/utils.h @@ -112,7 +112,7 @@ void set_argv0(char **argv); void units_set_mode(unsigned *units, unsigned mode); void units_set_base(unsigned *units, unsigned base); -void btrfs_list_all_fs_features(u64 mask_disallowed); +void btrfs_list_all_fs_features(u64 mask_disallowed, u64 mask_default); char* btrfs_parse_fs_features(char *namelist, u64 *flags); void btrfs_process_fs_features(u64 flags); void btrfs_parse_features_to_string(char *buf, u64 flags); -- 2.5.1 -- To unsubscribe from this list: send the line "unsubscribe linux-btrfs" in the body of a message to majord...@vger.kernel.org More majordomo info at http://vger.kernel.org/majordomo-info.html