btrfs-progs: mkfs/convert: separate the convert part from make_btrfs
authorDavid Sterba <dsterba@suse.com>
Tue, 24 Jan 2017 18:36:15 +0000 (19:36 +0100)
committerDavid Sterba <dsterba@suse.com>
Fri, 27 Jan 2017 11:20:43 +0000 (12:20 +0100)
The regulare mkfs_btrfs does not anything special about convert and just
passes the arguments. Make that two functions.

Signed-off-by: David Sterba <dsterba@suse.com>
convert/main.c
mkfs/main.c
utils.c
utils.h

index 15f14af..8d9f29f 100644 (file)
@@ -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;
index 8cdc74b..72834c9 100644 (file)
@@ -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 26493c5..5a48197 100644 (file)
--- 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 a99bd70..3d30bd1 100644 (file)
--- 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,