diff options
author | David Sterba <dsterba@suse.com> | 2017-01-25 17:09:10 +0100 |
---|---|---|
committer | David Sterba <dsterba@suse.com> | 2017-03-08 13:00:45 +0100 |
commit | 5f276edfdaaec5ec21e48694768b7c200583736c (patch) | |
tree | b8b8aa45d700e1a656b5b3b46de603d8d3174ea2 /convert | |
parent | ad7c469ac33dce8b9a602e5dbc63cc3cf96b0d48 (diff) |
btrfs-progs: move convert definitions to own header
Create a header for filesystem conversion API, the config and the main
entry function.
Signed-off-by: David Sterba <dsterba@suse.com>
Diffstat (limited to 'convert')
-rw-r--r-- | convert/common.h | 55 | ||||
-rw-r--r-- | convert/main.c | 1 |
2 files changed, 56 insertions, 0 deletions
diff --git a/convert/common.h b/convert/common.h new file mode 100644 index 00000000..236e9a80 --- /dev/null +++ b/convert/common.h @@ -0,0 +1,55 @@ +/* + * 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_CONVERT_COMMON_H__ +#define __BTRFS_CONVERT_COMMON_H__ + +#include "kerncompat.h" +#include "common-defs.h" + +struct btrfs_mkfs_config; + +struct btrfs_convert_context { + u32 blocksize; + u32 first_data_block; + u32 block_count; + u32 inodes_count; + u32 free_inodes_count; + u64 total_bytes; + char *volume_name; + const struct btrfs_convert_operations *convert_ops; + + /* The accurate used space of old filesystem */ + struct cache_tree used; + + /* Batched ranges which must be covered by data chunks */ + struct cache_tree data_chunks; + + /* Free space which is not covered by data_chunks */ + struct cache_tree free; + + void *fs_data; +}; + +int make_convert_btrfs(int fd, struct btrfs_mkfs_config *cfg, + struct btrfs_convert_context *cctx); + +#endif diff --git a/convert/main.c b/convert/main.c index 3135ee31..48fb2f95 100644 --- a/convert/main.c +++ b/convert/main.c @@ -39,6 +39,7 @@ #include "task-utils.h" #include "help.h" #include "mkfs/common.h" +#include "convert/common.h" #if BTRFSCONVERT_EXT2 #include <ext2fs/ext2_fs.h> |