diff options
author | Qu Wenruo <wqu@suse.com> | 2017-11-22 17:03:18 +0800 |
---|---|---|
committer | David Sterba <dsterba@suse.com> | 2018-01-03 17:09:13 +0100 |
commit | 7a382c8ce021aabbba71e3b3f9e2f38b3e7e4923 (patch) | |
tree | 58563d778f928b5041c72f3814c6fca84b6d21e6 | |
parent | 7cf15bcc6afd6f9bbd8caf1c81b5424d1f41190a (diff) |
btrfs-progs: lowmem check: Fix false backref lost warning for keyed extent data ref
For keyed extent ref, its offset is calculated offset (file offset -
file extent offset), just like inlined extent data ref.
However the code is using file offset to hash extent data ref offset,
causing false backref lost warning like:
------
ERROR: data extent[16913485824 7577600] backref lost
------
Fixes: b0d360b541f0 ("btrfs-progs: check: introduce function to check data backref in extent tree")
Reported-by: Chris Murphy <chris@colorremedies.com>
Signed-off-by: Qu Wenruo <wqu@suse.com>
Signed-off-by: David Sterba <dsterba@suse.com>
-rw-r--r-- | cmds-check.c | 2 |
1 files changed, 1 insertions, 1 deletions
diff --git a/cmds-check.c b/cmds-check.c index 9f9eb504..452e715b 100644 --- a/cmds-check.c +++ b/cmds-check.c @@ -12126,7 +12126,7 @@ static int check_extent_data_item(struct btrfs_root *root, dbref_key.objectid = btrfs_file_extent_disk_bytenr(eb, fi); dbref_key.type = BTRFS_EXTENT_DATA_REF_KEY; dbref_key.offset = hash_extent_data_ref(root->objectid, - fi_key.objectid, fi_key.offset); + fi_key.objectid, fi_key.offset - offset); ret = btrfs_search_slot(NULL, root->fs_info->extent_root, &dbref_key, &path, 0, 0); |