summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorQu Wenruo <wqu@suse.com>2018-01-18 13:52:16 +0800
committerDavid Sterba <dsterba@suse.com>2018-02-02 16:01:58 +0100
commit5c9ac8dc48e766b93ec99e35548e1c161b4ab92b (patch)
treee1d0699b2b7c17e15b3fdcaa2665cdb87b42b7a7
parent16e58a4003b739eb6569eb7e75a4983d26c0f0e0 (diff)
btrfs-progs: check: Move node_refs structure to check/common.h
Reviewed-by: Su Yue <suy.fnst@cn.fujitsu.com> Signed-off-by: Qu Wenruo <wqu@suse.com> Signed-off-by: David Sterba <dsterba@suse.com>
-rw-r--r--check/common.h39
-rw-r--r--check/main.c11
2 files changed, 40 insertions, 10 deletions
diff --git a/check/common.h b/check/common.h
new file mode 100644
index 00000000..25874aec
--- /dev/null
+++ b/check/common.h
@@ -0,0 +1,39 @@
+/*
+ * 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 code shared by both lowmem and
+ * original mode
+ */
+#ifndef __BTRFS_CHECK_COMMON_H__
+#define __BTRFS_CHECK_COMMON_H__
+#include "ctree.h"
+
+/*
+ * Use for tree walk to walk through trees whose leaves/nodes can be shared
+ * between different trees. (Namely subvolume/fs trees)
+ */
+struct node_refs {
+ u64 bytenr[BTRFS_MAX_LEVEL];
+ u64 refs[BTRFS_MAX_LEVEL];
+ int need_check[BTRFS_MAX_LEVEL];
+ /* field for checking all trees */
+ int checked[BTRFS_MAX_LEVEL];
+ /* the corresponding extent should be marked as full backref or not */
+ int full_backref[BTRFS_MAX_LEVEL];
+};
+
+#endif
diff --git a/check/main.c b/check/main.c
index 55e0471f..cb3eef73 100644
--- a/check/main.c
+++ b/check/main.c
@@ -45,6 +45,7 @@
#include "help.h"
#include "check/original.h"
#include "check/lowmem.h"
+#include "check/common.h"
enum task_position {
TASK_EXTENTS,
@@ -1668,16 +1669,6 @@ static int process_one_leaf(struct btrfs_root *root, struct extent_buffer *eb,
return ret;
}
-struct node_refs {
- u64 bytenr[BTRFS_MAX_LEVEL];
- u64 refs[BTRFS_MAX_LEVEL];
- int need_check[BTRFS_MAX_LEVEL];
- /* field for checking all trees */
- int checked[BTRFS_MAX_LEVEL];
- /* the corresponding extent should be marked as full backref or not */
- int full_backref[BTRFS_MAX_LEVEL];
-};
-
static int update_nodes_refs(struct btrfs_root *root, u64 bytenr,
struct extent_buffer *eb, struct node_refs *nrefs,
u64 level, int check_all);