From c855e60f7ef8f980a465bcadc72caeba70fd10b7 Mon Sep 17 00:00:00 2001 From: David Sterba Date: Tue, 24 Jan 2017 19:36:15 +0100 Subject: [PATCH] btrfs-progs: mkfs/convert: separate the convert part from make_btrfs The regulare mkfs_btrfs does not anything special about convert and just passes the arguments. Make that two functions. Signed-off-by: David Sterba --- convert/main.c | 2 +- mkfs/main.c | 2 +- utils.c | 7 ++----- utils.h | 5 +++-- 4 files changed, 7 insertions(+), 9 deletions(-) diff --git a/convert/main.c b/convert/main.c index 15f14af2..8d9f29fa 100644 --- a/convert/main.c +++ b/convert/main.c @@ -2431,7 +2431,7 @@ static int do_convert(const char *devname, int datacsum, int packing, memset(mkfs_cfg.chunk_uuid, 0, BTRFS_UUID_UNPARSED_SIZE); memset(mkfs_cfg.fs_uuid, 0, BTRFS_UUID_UNPARSED_SIZE); - ret = make_btrfs(fd, &mkfs_cfg, &cctx); + ret = make_convert_btrfs(fd, &mkfs_cfg, &cctx); if (ret) { error("unable to create initial ctree: %s", strerror(-ret)); goto fail; diff --git a/mkfs/main.c b/mkfs/main.c index 8cdc74b7..72834c9c 100644 --- a/mkfs/main.c +++ b/mkfs/main.c @@ -1740,7 +1740,7 @@ int main(int argc, char **argv) mkfs_cfg.stripesize = stripesize; mkfs_cfg.features = features; - ret = make_btrfs(fd, &mkfs_cfg, NULL); + ret = make_btrfs(fd, &mkfs_cfg); if (ret) { error("error during mkfs: %s", strerror(-ret)); exit(1); diff --git a/utils.c b/utils.c index 26493c56..5a481976 100644 --- a/utils.c +++ b/utils.c @@ -943,7 +943,7 @@ out: * Split into small blocks and reuse codes. * TODO: Reuse tree operation facilities by introducing new flags */ -static int make_convert_btrfs(int fd, struct btrfs_mkfs_config *cfg, +int make_convert_btrfs(int fd, struct btrfs_mkfs_config *cfg, struct btrfs_convert_context *cctx) { struct cache_tree *free = &cctx->free; @@ -1052,8 +1052,7 @@ out: * The superblock signature is not valid, denotes a partially created * filesystem, needs to be finalized. */ -int make_btrfs(int fd, struct btrfs_mkfs_config *cfg, - struct btrfs_convert_context *cctx) +int make_btrfs(int fd, struct btrfs_mkfs_config *cfg) { struct btrfs_super_block super; struct extent_buffer *buf; @@ -1078,8 +1077,6 @@ int make_btrfs(int fd, struct btrfs_mkfs_config *cfg, BTRFS_FEATURE_INCOMPAT_SKINNY_METADATA); u64 num_bytes; - if (cctx) - return make_convert_btrfs(fd, cfg, cctx); buf = malloc(sizeof(*buf) + max(cfg->sectorsize, cfg->nodesize)); if (!buf) return -ENOMEM; diff --git a/utils.h b/utils.h index a99bd701..3d30bd12 100644 --- a/utils.h +++ b/utils.h @@ -155,8 +155,9 @@ struct btrfs_convert_context { #define PREP_DEVICE_DISCARD (1U << 1) #define PREP_DEVICE_VERBOSE (1U << 2) -int make_btrfs(int fd, struct btrfs_mkfs_config *cfg, - struct btrfs_convert_context *cctx); +int make_btrfs(int fd, struct btrfs_mkfs_config *cfg); +int make_convert_btrfs(int fd, struct btrfs_mkfs_config *cfg, + struct btrfs_convert_context *cctx); int btrfs_make_root_dir(struct btrfs_trans_handle *trans, struct btrfs_root *root, u64 objectid); int btrfs_prepare_device(int fd, const char *file, u64 *block_count_ret,