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>
This commit is contained in:
Qu Wenruo 2018-01-18 13:52:16 +08:00 committed by David Sterba
parent 16e58a4003
commit 5c9ac8dc48
2 changed files with 40 additions and 10 deletions

39
check/common.h Normal file
View File

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

View File

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