From 7a382c8ce021aabbba71e3b3f9e2f38b3e7e4923 Mon Sep 17 00:00:00 2001 From: Qu Wenruo Date: Wed, 22 Nov 2017 17:03:18 +0800 Subject: [PATCH] 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 Signed-off-by: Qu Wenruo Signed-off-by: David Sterba --- cmds-check.c | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/cmds-check.c b/cmds-check.c index 9f9eb50..452e715 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); -- 2.7.4