summaryrefslogtreecommitdiff
path: root/image/main.c
diff options
context:
space:
mode:
authorDavid Sterba <dsterba@suse.com>2017-10-20 01:11:11 +0200
committerDavid Sterba <dsterba@suse.com>2017-11-14 15:59:00 +0100
commite05551b0805dc314598548b2e36e82cc4226475e (patch)
treebe6b173ea738aff03cc18bac450398e2af85eacc /image/main.c
parent5d64cd80fe50ea6aa3d3184805098dd3481d2286 (diff)
btrfs-progs: image: pass sanitize mode and name tree separately to sanitize_dir_item
We don't need the full mdrestore structure. Signed-off-by: David Sterba <dsterba@suse.com>
Diffstat (limited to 'image/main.c')
-rw-r--r--image/main.c12
1 files changed, 6 insertions, 6 deletions
diff --git a/image/main.c b/image/main.c
index 8804c733..aef4f3f4 100644
--- a/image/main.c
+++ b/image/main.c
@@ -502,8 +502,8 @@ static char *find_collision(struct rb_root *name_tree, char *name,
return val->sub;
}
-static void sanitize_dir_item(struct metadump_struct *md, struct extent_buffer *eb,
- int slot)
+static void sanitize_dir_item(enum sanitize_mode sanitize,
+ struct rb_root *name_tree, struct extent_buffer *eb, int slot)
{
struct btrfs_dir_item *dir_item;
char *buf;
@@ -513,7 +513,7 @@ static void sanitize_dir_item(struct metadump_struct *md, struct extent_buffer *
u32 cur = 0;
u32 this_len;
u32 name_len;
- int free_garbage = (md->sanitize_names == SANITIZE_NAMES);
+ int free_garbage = (sanitize == SANITIZE_NAMES);
dir_item = btrfs_item_ptr(eb, slot, struct btrfs_dir_item);
total_len = btrfs_item_size_nr(eb, slot);
@@ -524,14 +524,14 @@ static void sanitize_dir_item(struct metadump_struct *md, struct extent_buffer *
name_ptr = (unsigned long)(dir_item + 1);
name_len = btrfs_dir_name_len(eb, dir_item);
- if (md->sanitize_names == SANITIZE_COLLISIONS) {
+ if (sanitize == SANITIZE_COLLISIONS) {
buf = malloc(name_len);
if (!buf) {
error("cannot sanitize name, not enough memory");
return;
}
read_extent_buffer(eb, buf, name_ptr, name_len);
- garbage = find_collision(&md->name_tree, buf, name_len);
+ garbage = find_collision(name_tree, buf, name_len);
} else {
garbage = generate_garbage(name_len);
}
@@ -632,7 +632,7 @@ static void sanitize_name(struct metadump_struct *md, u8 *dst,
switch (key->type) {
case BTRFS_DIR_ITEM_KEY:
case BTRFS_DIR_INDEX_KEY:
- sanitize_dir_item(md, eb, slot);
+ sanitize_dir_item(md->sanitize_names, &md->name_tree, eb, slot);
break;
case BTRFS_INODE_REF_KEY:
sanitize_inode_ref(md->sanitize_names, &md->name_tree, eb, slot,