diff options
author | Nikolay Borisov <nborisov@suse.com> | 2018-03-27 10:19:25 +0300 |
---|---|---|
committer | David Sterba <dsterba@suse.com> | 2018-06-07 16:37:34 +0200 |
commit | 72cdfeaf62e59e910202bff6cdd866317a1354df (patch) | |
tree | ebaa42ccddd1de4e864e3b2f3f4ce1f9a9ef8aa9 /check/mode-lowmem.c | |
parent | 990c79bff564bfb5c92b6bc366f704a8c1955747 (diff) |
btrfs-progs: check: Drop ext_ref argument from check_inode_item
We can derive this argument from root->fs_info and also make it local
to the sole switch case it's used.
Signed-off-by: Nikolay Borisov <nborisov@suse.com>
Reviewed-by: Su Yue <suy.fnst@cn.fujitsu.com>
Signed-off-by: David Sterba <dsterba@suse.com>
Diffstat (limited to 'check/mode-lowmem.c')
-rw-r--r-- | check/mode-lowmem.c | 11 |
1 files changed, 6 insertions, 5 deletions
diff --git a/check/mode-lowmem.c b/check/mode-lowmem.c index 8ac54671..a83b0d11 100644 --- a/check/mode-lowmem.c +++ b/check/mode-lowmem.c @@ -2263,13 +2263,10 @@ static bool has_orphan_item(struct btrfs_root *root, u64 ino) * 2. check inode ref/extref * 3. check dir item/index * - * @ext_ref: the EXTENDED_IREF feature - * * Return 0 if no error occurred. * Return >0 for error or hit the traversal is done(by error bitmap) */ -static int check_inode_item(struct btrfs_root *root, struct btrfs_path *path, - unsigned int ext_ref) +static int check_inode_item(struct btrfs_root *root, struct btrfs_path *path) { struct extent_buffer *node; struct btrfs_inode_item *ii; @@ -2338,6 +2335,9 @@ static int check_inode_item(struct btrfs_root *root, struct btrfs_path *path, err |= ret; break; case BTRFS_INODE_EXTREF_KEY: + { + bool ext_ref = btrfs_fs_incompat(root->fs_info, + EXTENDED_IREF); if (key.type == BTRFS_INODE_EXTREF_KEY && !ext_ref) warning("root %llu EXTREF[%llu %llu] isn't supported", root->objectid, key.objectid, @@ -2346,6 +2346,7 @@ static int check_inode_item(struct btrfs_root *root, struct btrfs_path *path, mode); err |= ret; break; + } case BTRFS_DIR_ITEM_KEY: case BTRFS_DIR_INDEX_KEY: if (!dir) { @@ -2516,7 +2517,7 @@ static int process_one_leaf(struct btrfs_root *root, struct btrfs_path *path, path->slots[0] = i; again: - err |= check_inode_item(root, path, ext_ref); + err |= check_inode_item(root, path); /* modify cur since check_inode_item may change path */ cur = path->nodes[0]; |