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 <dsterba@suse.com>
master
David Sterba 2017-01-25 16:54:35 +01:00
parent 50ac7b6dc8
commit ad7c469ac3
5 changed files with 49 additions and 15 deletions

View File

@ -38,6 +38,7 @@
#include "utils.h"
#include "task-utils.h"
#include "help.h"
#include "mkfs/common.h"
#if BTRFSCONVERT_EXT2
#include <ext2fs/ext2_fs.h>

45
mkfs/common.h 100644
View File

@ -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

View File

@ -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;

View File

@ -50,6 +50,7 @@
#include "volumes.h"
#include "ioctl.h"
#include "commands.h"
#include "mkfs/common.h"
#ifndef BLKDISCARD
#define BLKDISCARD _IO(0x12,119)

16
utils.h
View File

@ -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,