btrfs-progs: move fs features declarations to own header from utils

Signed-off-by: David Sterba <dsterba@suse.com>
This commit is contained in:
David Sterba 2017-01-26 13:13:36 +01:00
parent 203c52a850
commit 14f9565c11
6 changed files with 54 additions and 27 deletions

View File

@ -41,6 +41,7 @@
#include "interval_tree_generic.h" #include "interval_tree_generic.h"
#include "help.h" #include "help.h"
#include "fsfeatures.h"
static int summarize = 0; static int summarize = 0;
static unsigned unit_mode = UNITS_RAW; static unsigned unit_mode = UNITS_RAW;

View File

@ -40,6 +40,7 @@
#include "help.h" #include "help.h"
#include "mkfs/common.h" #include "mkfs/common.h"
#include "convert/common.h" #include "convert/common.h"
#include "fsfeatures.h"
#if BTRFSCONVERT_EXT2 #if BTRFSCONVERT_EXT2
#include <ext2fs/ext2_fs.h> #include <ext2fs/ext2_fs.h>

50
fsfeatures.h Normal file
View File

@ -0,0 +1,50 @@
/*
* 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.
*/
#ifndef __BTRFS_FSFEATURES_H__
#define __BTRFS_FSFEATURES_H__
#include "kerncompat.h"
#define BTRFS_MKFS_DEFAULT_NODE_SIZE SZ_16K
#define BTRFS_MKFS_DEFAULT_FEATURES \
(BTRFS_FEATURE_INCOMPAT_EXTENDED_IREF \
| BTRFS_FEATURE_INCOMPAT_SKINNY_METADATA)
/*
* Avoid multi-device features (RAID56) and mixed block groups
*/
#define BTRFS_CONVERT_ALLOWED_FEATURES \
(BTRFS_FEATURE_INCOMPAT_MIXED_BACKREF \
| BTRFS_FEATURE_INCOMPAT_DEFAULT_SUBVOL \
| BTRFS_FEATURE_INCOMPAT_COMPRESS_LZO \
| BTRFS_FEATURE_INCOMPAT_COMPRESS_LZOv2 \
| BTRFS_FEATURE_INCOMPAT_BIG_METADATA \
| BTRFS_FEATURE_INCOMPAT_EXTENDED_IREF \
| BTRFS_FEATURE_INCOMPAT_SKINNY_METADATA \
| BTRFS_FEATURE_INCOMPAT_NO_HOLES)
#define BTRFS_FEATURE_LIST_ALL (1ULL << 63)
void btrfs_list_all_fs_features(u64 mask_disallowed);
char* btrfs_parse_fs_features(char *namelist, u64 *flags);
void btrfs_process_fs_features(u64 flags);
void btrfs_parse_features_to_string(char *buf, u64 flags);
void print_kernel_version(FILE *stream, u32 version);
u32 get_running_kernel_version(void);
int btrfs_check_nodesize(u32 nodesize, u32 sectorsize, u64 features);
#endif

View File

@ -45,6 +45,7 @@
#include "list_sort.h" #include "list_sort.h"
#include "help.h" #include "help.h"
#include "mkfs/common.h" #include "mkfs/common.h"
#include "fsfeatures.h"
static u64 index_cnt = 2; static u64 index_cnt = 2;
static int verbose = 1; static int verbose = 1;

View File

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

27
utils.h
View File

@ -30,28 +30,9 @@
#define BTRFS_MKFS_SYSTEM_GROUP_SIZE SZ_4M #define BTRFS_MKFS_SYSTEM_GROUP_SIZE SZ_4M
#define BTRFS_MKFS_SMALL_VOLUME_SIZE SZ_1G #define BTRFS_MKFS_SMALL_VOLUME_SIZE SZ_1G
#define BTRFS_MKFS_DEFAULT_NODE_SIZE SZ_16K
#define BTRFS_MKFS_DEFAULT_FEATURES \
(BTRFS_FEATURE_INCOMPAT_EXTENDED_IREF \
| BTRFS_FEATURE_INCOMPAT_SKINNY_METADATA)
/*
* Avoid multi-device features (RAID56) and mixed block groups
*/
#define BTRFS_CONVERT_ALLOWED_FEATURES \
(BTRFS_FEATURE_INCOMPAT_MIXED_BACKREF \
| BTRFS_FEATURE_INCOMPAT_DEFAULT_SUBVOL \
| BTRFS_FEATURE_INCOMPAT_COMPRESS_LZO \
| BTRFS_FEATURE_INCOMPAT_COMPRESS_LZOv2 \
| BTRFS_FEATURE_INCOMPAT_BIG_METADATA \
| BTRFS_FEATURE_INCOMPAT_EXTENDED_IREF \
| BTRFS_FEATURE_INCOMPAT_SKINNY_METADATA \
| BTRFS_FEATURE_INCOMPAT_NO_HOLES)
#define BTRFS_CONVERT_META_GROUP_SIZE SZ_32M #define BTRFS_CONVERT_META_GROUP_SIZE SZ_32M
#define BTRFS_FEATURE_LIST_ALL (1ULL << 63)
#define BTRFS_SCAN_MOUNTED (1ULL << 0) #define BTRFS_SCAN_MOUNTED (1ULL << 0)
#define BTRFS_SCAN_LBLKID (1ULL << 1) #define BTRFS_SCAN_LBLKID (1ULL << 1)
@ -87,13 +68,6 @@
void units_set_mode(unsigned *units, unsigned mode); void units_set_mode(unsigned *units, unsigned mode);
void units_set_base(unsigned *units, unsigned base); void units_set_base(unsigned *units, unsigned base);
void btrfs_list_all_fs_features(u64 mask_disallowed);
char* btrfs_parse_fs_features(char *namelist, u64 *flags);
void btrfs_process_fs_features(u64 flags);
void btrfs_parse_features_to_string(char *buf, u64 flags);
void print_kernel_version(FILE *stream, u32 version);
u32 get_running_kernel_version(void);
#define PREP_DEVICE_ZERO_END (1U << 0) #define PREP_DEVICE_ZERO_END (1U << 0)
#define PREP_DEVICE_DISCARD (1U << 1) #define PREP_DEVICE_DISCARD (1U << 1)
#define PREP_DEVICE_VERBOSE (1U << 2) #define PREP_DEVICE_VERBOSE (1U << 2)
@ -223,7 +197,6 @@ static inline u64 div_factor(u64 num, int factor)
} }
int btrfs_tree_search2_ioctl_supported(int fd); int btrfs_tree_search2_ioctl_supported(int fd);
int btrfs_check_nodesize(u32 nodesize, u32 sectorsize, u64 features);
unsigned int get_unit_mode_from_arg(int *argc, char *argv[], int df_mode); unsigned int get_unit_mode_from_arg(int *argc, char *argv[], int df_mode);
int string_is_numerical(const char *str); int string_is_numerical(const char *str);