summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorDavid Sterba <dsterba@suse.com>2017-01-26 13:13:36 +0100
committerDavid Sterba <dsterba@suse.com>2017-03-08 13:00:45 +0100
commit14f9565c11828841274c516c71d11ab6a9e2fe58 (patch)
treec77e9b237f5599f0f7d02cbfc8ab6577f7908436
parent203c52a850f82d686cdff144f3cd296da0b5a1ed (diff)
btrfs-progs: move fs features declarations to own header from utils
Signed-off-by: David Sterba <dsterba@suse.com>
-rw-r--r--cmds-fi-du.c1
-rw-r--r--convert/main.c1
-rw-r--r--fsfeatures.h50
-rw-r--r--mkfs/main.c1
-rw-r--r--utils.c1
-rw-r--r--utils.h27
6 files changed, 54 insertions, 27 deletions
diff --git a/cmds-fi-du.c b/cmds-fi-du.c
index ef43259d..f106f45b 100644
--- a/cmds-fi-du.c
+++ b/cmds-fi-du.c
@@ -41,6 +41,7 @@
#include "interval_tree_generic.h"
#include "help.h"
+#include "fsfeatures.h"
static int summarize = 0;
static unsigned unit_mode = UNITS_RAW;
diff --git a/convert/main.c b/convert/main.c
index 48fb2f95..39c6eeb4 100644
--- a/convert/main.c
+++ b/convert/main.c
@@ -40,6 +40,7 @@
#include "help.h"
#include "mkfs/common.h"
#include "convert/common.h"
+#include "fsfeatures.h"
#if BTRFSCONVERT_EXT2
#include <ext2fs/ext2_fs.h>
diff --git a/fsfeatures.h b/fsfeatures.h
new file mode 100644
index 00000000..513ed1e7
--- /dev/null
+++ b/fsfeatures.h
@@ -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
diff --git a/mkfs/main.c b/mkfs/main.c
index 1c327f1f..0823b4fb 100644
--- a/mkfs/main.c
+++ b/mkfs/main.c
@@ -45,6 +45,7 @@
#include "list_sort.h"
#include "help.h"
#include "mkfs/common.h"
+#include "fsfeatures.h"
static u64 index_cnt = 2;
static int verbose = 1;
diff --git a/utils.c b/utils.c
index d24993e8..9de1ca2b 100644
--- a/utils.c
+++ b/utils.c
@@ -50,6 +50,7 @@
#include "volumes.h"
#include "ioctl.h"
#include "commands.h"
+#include "fsfeatures.h"
#ifndef BLKDISCARD
#define BLKDISCARD _IO(0x12,119)
diff --git a/utils.h b/utils.h
index b72260c4..c5ff19f9 100644
--- a/utils.h
+++ b/utils.h
@@ -30,28 +30,9 @@
#define BTRFS_MKFS_SYSTEM_GROUP_SIZE SZ_4M
#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_FEATURE_LIST_ALL (1ULL << 63)
-
#define BTRFS_SCAN_MOUNTED (1ULL << 0)
#define BTRFS_SCAN_LBLKID (1ULL << 1)
@@ -87,13 +68,6 @@
void units_set_mode(unsigned *units, unsigned mode);
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_DISCARD (1U << 1)
#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_check_nodesize(u32 nodesize, u32 sectorsize, u64 features);
unsigned int get_unit_mode_from_arg(int *argc, char *argv[], int df_mode);
int string_is_numerical(const char *str);