From ad7c469ac33dce8b9a602e5dbc63cc3cf96b0d48 Mon Sep 17 00:00:00 2001 From: David Sterba Date: Wed, 25 Jan 2017 16:54:35 +0100 Subject: [PATCH] btrfs-progs: move mkfs definitions to own header Create a header for filesystem creation API, the config and the main entry function. Signed-off-by: David Sterba --- convert/main.c | 1 + mkfs/common.h | 45 +++++++++++++++++++++++++++++++++++++++++++++ mkfs/main.c | 1 + utils.c | 1 + utils.h | 16 +--------------- 5 files changed, 49 insertions(+), 15 deletions(-) create mode 100644 mkfs/common.h diff --git a/convert/main.c b/convert/main.c index fa05485..3135ee3 100644 --- a/convert/main.c +++ b/convert/main.c @@ -38,6 +38,7 @@ #include "utils.h" #include "task-utils.h" #include "help.h" +#include "mkfs/common.h" #if BTRFSCONVERT_EXT2 #include diff --git a/mkfs/common.h b/mkfs/common.h new file mode 100644 index 0000000..2a18839 --- /dev/null +++ b/mkfs/common.h @@ -0,0 +1,45 @@ +/* + * This program is free software; you can redistribute it and/or + * modify it under the terms of the GNU General Public + * License v2 as published by the Free Software Foundation. + * + * This program is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU + * General Public License for more details. + * + * You should have received a copy of the GNU General Public + * License along with this program; if not, write to the + * Free Software Foundation, Inc., 59 Temple Place - Suite 330, + * Boston, MA 021110-1307, USA. + */ + +/* + * Defines and function declarations for users of the mkfs API, no internal + * defintions. + */ + +#ifndef __BTRFS_MKFS_COMMON_H__ +#define __BTRFS_MKFS_COMMON_H__ + +#include "kerncompat.h" +#include "common-defs.h" + +struct btrfs_mkfs_config { + char *label; + char fs_uuid[BTRFS_UUID_UNPARSED_SIZE]; + char chunk_uuid[BTRFS_UUID_UNPARSED_SIZE]; + u64 blocks[8]; + u64 num_bytes; + u32 nodesize; + u32 sectorsize; + u32 stripesize; + u64 features; + + /* Super bytenr after make_btrfs */ + u64 super_bytenr; +}; + +int make_btrfs(int fd, struct btrfs_mkfs_config *cfg); + +#endif diff --git a/mkfs/main.c b/mkfs/main.c index 770039f..1c327f1 100644 --- a/mkfs/main.c +++ b/mkfs/main.c @@ -44,6 +44,7 @@ #include "utils.h" #include "list_sort.h" #include "help.h" +#include "mkfs/common.h" static u64 index_cnt = 2; static int verbose = 1; diff --git a/utils.c b/utils.c index 10cbeec..990a936 100644 --- a/utils.c +++ b/utils.c @@ -50,6 +50,7 @@ #include "volumes.h" #include "ioctl.h" #include "commands.h" +#include "mkfs/common.h" #ifndef BLKDISCARD #define BLKDISCARD _IO(0x12,119) diff --git a/utils.h b/utils.h index be75f22..3cb006d 100644 --- a/utils.h +++ b/utils.h @@ -94,20 +94,7 @@ void btrfs_parse_features_to_string(char *buf, u64 flags); void print_kernel_version(FILE *stream, u32 version); u32 get_running_kernel_version(void); -struct btrfs_mkfs_config { - char *label; - char fs_uuid[BTRFS_UUID_UNPARSED_SIZE]; - char chunk_uuid[BTRFS_UUID_UNPARSED_SIZE]; - u64 blocks[8]; - u64 num_bytes; - u32 nodesize; - u32 sectorsize; - u32 stripesize; - u64 features; - - /* Super bytenr after make_btrfs */ - u64 super_bytenr; -}; +struct btrfs_mkfs_config; struct btrfs_convert_context { u32 blocksize; @@ -135,7 +122,6 @@ 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); 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, -- 2.7.4