* [PATCH 1/2] btrfs-progs: check/lowmem: fix a false alert when counting the refs
2025-05-29 7:28 [PATCH 0/2] btrfs-progs: fix an old bug in lowmem mode Qu Wenruo
@ 2025-05-29 7:28 ` Qu Wenruo
2025-05-29 7:28 ` [PATCH 2/2] btrfs-progs: fsck-tests: fix an image which has incorrect super dev item Qu Wenruo
2025-05-30 11:37 ` [PATCH 0/2] btrfs-progs: fix an old bug in lowmem mode David Sterba
2 siblings, 0 replies; 4+ messages in thread
From: Qu Wenruo @ 2025-05-29 7:28 UTC (permalink / raw)
To: linux-btrfs
[BUG]
For a btrfs which is under metadata balance and interrupted (powerloss
etc), we can have the following extent backref item for a data extent:
item 22 key (13631488 EXTENT_ITEM 524288) itemoff 3161 itemsize 108
refs 180 gen 9 flags DATA
(178 0xdfb591fbbf5f519) extent data backref root FS_TREE objectid 258 offset 0 count 77
(178 0xdfb591fa80d95ea) extent data backref root FS_TREE objectid 257 offset 0 count 1
(184 0x151e000) shared data backref parent 22142976 count 51
(184 0x512000) shared data backref parent 5316608 count 51
Then lowmem mode will cause the following false alert:
[3/8] checking extents
ERROR: extent[13631488, 524288] referencer count mismatch (root: 5, owner: 258, offset: 0) wanted: 77, have: 128
ERROR: errors found in extent allocation tree or chunk allocation
[CAUSE]
When shared and keyed backref items are found, we must follow the
following rules to avoid incorrect refs count:
- If the leaf belongs to the shared backref parent
Then any found EXTENT_DATA inside the leaf will be contributed to the
shared backref values.
- Otherwise any found EXTENT_DATA can contributed to the keyed backref
In above case, if our leaf is 5316608 or 22142976, then we should not
contribute the number of found EXTENT_DATA to the keyed backref.
Unfortunately the original fix d53d42fa2183 ("btrfs-progs: lowmem: fix
false alerts of referencer count mismatch for blocks relocated") is not
following the above strict rule, but relying on the flag of the leaf.
However that RELOC flag is not a correct indicator, e.g in above case
the leaf at 5316608 is not yet being relocated, thus no RELOC flag.
[FIX]
Instead of check the unreliable RELOC flag, follow the correct rule when
checking the leaf.
Before we start checking the content of a leaf for EXTENT_DATA items,
make sure the leaf's bytenr is not in any shared backref item.
If so skip to the next leaf.
Fixes: d53d42fa2183 ("btrfs-progs: lowmem: fix false alerts of referencer count mismatch for blocks relocated")
Signed-off-by: Qu Wenruo <wqu@suse.com>
---
check/mode-lowmem.c | 145 ++++++++++++++++++++++++++++++++++++++++++--
1 file changed, 139 insertions(+), 6 deletions(-)
diff --git a/check/mode-lowmem.c b/check/mode-lowmem.c
index 34af77f88437..713ddc3d8842 100644
--- a/check/mode-lowmem.c
+++ b/check/mode-lowmem.c
@@ -3977,6 +3977,139 @@ out:
return 0;
}
+/*
+ * A read-only version of lookup_inline_extent_backref().
+ * We can not reuse that function as it always assume COW.
+ */
+static int has_inline_shared_backref(u64 data_bytenr, u64 data_len, u64 parent)
+{
+ struct btrfs_root *extent_root = btrfs_extent_root(gfs_info, data_bytenr);
+ struct btrfs_extent_inline_ref *iref;
+ struct btrfs_extent_item *ei;
+ struct btrfs_path path = { 0 };
+ struct extent_buffer *leaf;
+ struct btrfs_key key;
+ unsigned long ptr;
+ unsigned long end;
+ bool found = false;
+ u32 item_size;
+ u64 flags;
+ int ret;
+
+ key.objectid = data_bytenr;
+ key.type = BTRFS_EXTENT_ITEM_KEY;
+ key.offset = data_len;
+ ret = btrfs_search_slot(NULL, extent_root, &key, &path, 0, 0);
+ if (ret > 0)
+ ret = -ENOENT;
+ if (ret < 0)
+ goto out;
+
+ leaf = path.nodes[0];
+ item_size = btrfs_item_size(leaf, path.slots[0]);
+ if (item_size < sizeof(*ei)) {
+ error("extent item size %u < %zu, leaf %llu slot %u",
+ item_size, sizeof(*ei), leaf->start, path.slots[0]);
+ ret = -EUCLEAN;
+ goto out;
+ }
+ ei = btrfs_item_ptr(leaf, path.slots[0], struct btrfs_extent_item);
+ flags = btrfs_extent_flags(leaf, ei);
+
+ if (!(flags & BTRFS_EXTENT_FLAG_DATA)) {
+ error("backref item flag for bytenr %llu is not data",
+ data_bytenr);
+ ret = -EUCLEAN;
+ goto out;
+ }
+
+ ptr = (unsigned long)(ei + 1);
+ end = (unsigned long)ei + item_size;
+
+ while (true) {
+ u64 ref_parent;
+ u8 type;
+
+ if (ptr >= end) {
+ if (ptr > end) {
+ error("inline extent item for %llu is not properly ended",
+ data_bytenr);
+ ret = -EUCLEAN;
+ goto out;
+ }
+ break;
+ }
+ iref = (struct btrfs_extent_inline_ref *)ptr;
+ type = btrfs_extent_inline_ref_type(leaf, iref);
+ if (type != BTRFS_SHARED_DATA_REF_KEY)
+ goto next;
+
+ ref_parent = btrfs_extent_inline_ref_offset(leaf, iref);
+ if (ref_parent == parent) {
+ found = true;
+ goto out;
+ }
+next:
+ ptr += btrfs_extent_inline_ref_size(type);
+ }
+
+out:
+ btrfs_release_path(&path);
+ if (ret < 0)
+ return ret;
+ return found;
+}
+
+static int has_keyed_shared_backref(u64 data_bytenr, u64 parent)
+{
+ struct btrfs_root *extent_root = btrfs_extent_root(gfs_info, data_bytenr);
+ struct btrfs_path path = { 0 };
+ struct btrfs_key key;
+ int ret;
+
+ key.objectid = data_bytenr;
+ key.type = BTRFS_SHARED_DATA_REF_KEY;
+ key.offset = parent;
+ ret = btrfs_search_slot(NULL, extent_root, &key, &path, 0, 0);
+ btrfs_release_path(&path);
+ if (ret < 0)
+ return ret;
+ /* No keyed ref found, return 0. */
+ if (ret > 0)
+ return 0;
+ return 1;
+}
+
+/*
+ * A helper to determine if the @leaf already belongs to a shared data backref item.
+ * (with parent bytenr)
+ *
+ * Return >0 if the @leaf belongs to a shared data backref.
+ * Return 0 if not.
+ * Return <0 for critical error.
+ */
+static int is_leaf_shared(struct extent_buffer *leaf, u64 data_bytenr, u64 data_len)
+{
+ int ret;
+
+ ret = has_inline_shared_backref(data_bytenr, data_len, leaf->start);
+ if (ret < 0) {
+ errno = -ret;
+ error("failed to search inlined shared backref for logical %llu len %llu, %m",
+ data_bytenr, data_len);
+ return ret;
+ }
+ if (ret > 0)
+ return ret;
+ ret = has_keyed_shared_backref(data_bytenr, leaf->start);
+ if (ret < 0) {
+ errno = -ret;
+ error("failed to search keyed shared backref for logical %llu len %llu, %m",
+ data_bytenr, data_len);
+ }
+ return ret;
+}
+
/*
* Check referencer for normal (inlined) data ref
* If len == 0, it will be resolved by searching in extent tree
@@ -4049,13 +4182,13 @@ static int check_extent_data_backref(u64 root_id, u64 objectid, u64 offset,
btrfs_header_owner(leaf) != root_id)
goto next;
/*
- * For tree blocks have been relocated, data backref are
- * shared instead of keyed. Do not account it.
+ * If the node belongs to a shared backref item, we should not
+ * account the number.
*/
- if (btrfs_header_flag(leaf, BTRFS_HEADER_FLAG_RELOC)) {
- /*
- * skip the leaf to speed up.
- */
+ ret = is_leaf_shared(leaf, bytenr, len);
+ if (ret < 0)
+ break;
+ if (ret > 0) {
slot = btrfs_header_nritems(leaf);
goto next;
}
--
2.49.0
^ permalink raw reply related [flat|nested] 4+ messages in thread* [PATCH 2/2] btrfs-progs: fsck-tests: fix an image which has incorrect super dev item
2025-05-29 7:28 [PATCH 0/2] btrfs-progs: fix an old bug in lowmem mode Qu Wenruo
2025-05-29 7:28 ` [PATCH 1/2] btrfs-progs: check/lowmem: fix a false alert when counting the refs Qu Wenruo
@ 2025-05-29 7:28 ` Qu Wenruo
2025-05-30 11:37 ` [PATCH 0/2] btrfs-progs: fix an old bug in lowmem mode David Sterba
2 siblings, 0 replies; 4+ messages in thread
From: Qu Wenruo @ 2025-05-29 7:28 UTC (permalink / raw)
To: linux-btrfs
[CI FAILURE]
With Mark's incoming fsck enhancement on super block device item, it
exposed the following fs corruption on an existing image dump:
restoring image keyed_data_ref_with_reloc_leaf.img
====== RUN CHECK /home/runner/work/btrfs-progs/btrfs-progs/btrfs check ./keyed_data_ref_with_reloc_leaf.img.restored
[1/8] checking log skipped (none written)
[2/8] checking root items
[3/8] checking extents
device 1's bytes_used was 55181312 in tree but 59375616 in superblock
ERROR: errors found in extent allocation tree or chunk allocation
[4/8] checking free space cache
[5/8] checking fs roots
[6/8] checking only csums items (without verifying data)
[7/8] checking root refs
[8/8] checking quota groups skipped (not enabled on this FS)
Opening filesystem to check...
Checking filesystem on ./keyed_data_ref_with_reloc_leaf.img.restored
UUID: ca3568a3-d9d8-4901-b4dd-b180a437a07f
found 1175552 bytes used, error(s) found
total csum bytes: 512
total tree bytes: 651264
total fs tree bytes: 606208
total extent tree bytes: 16384
btree space waste bytes: 291631
file data blocks allocated: 67633152
referenced 1048576
[CAUSE]
The image has the following device item in the super block:
dev_item.uuid 5a1c9f96-b581-4fd3-a73a-5cfd789c3c84
dev_item.fsid ca3568a3-d9d8-4901-b4dd-b180a437a07f [match]
dev_item.type 0
dev_item.total_bytes 67108864
dev_item.bytes_used 59375616
Meanwhile the tree dump shows the following device item in the chunk
tree:
item 0 key (DEV_ITEMS DEV_ITEM 1) itemoff 3897 itemsize 98
devid 1 total_bytes 67108864 bytes_used 55181312
io_align 4096 io_width 4096 sector_size 4096 type 0
The bytes_used value does not match and triggered the fsck failure.
The root cause of such a mismatch is that, there was a bug in the kernel
that resulted incorrect byte_used number.
The kernel bug is fixed by commit: ce7213c70c37 ("Btrfs: fix wrong device
bytes_used in the super block").
However that fix doesn't have any fixes tag, thus not automatically
backported to older stable kernels.
And the image seems to be created by an older stable kernel, thus
missing the fix and caused the above mismatch.
[FIX]
Re-generate the image with the latest kernel so that the mismatch won't
happen.
Furthermore for future updates, here is the needed steps to create the
image.
- Modify the kernel btrfs module to commit transaction more frequently
The idea is to replace the btrfs_end_transaction_throttle() call
inside the while() loop of relocate_block_group().
So that every time a tree block is relocated, the fs will be
committed.
- Use the following script to populate the fs with log-writes
This requries CONFIG_DM_LOG_WRITES to be enabled.
```
dev_src="/dev/test/scratch1"
dev_log="/dev/test/log"
dev="/dev/mapper/log"
mnt="/mnt/btrfs/"
table="0 $(blockdev --getsz $dev_src) log-writes $dev_src $dev_log"
fail()
{
echo "!!! FAILED !!!"
exit 1
}
umount $dev &> /dev/null
umount $mnt &> /dev/null
dmsetup create log --table "$table" || fail
mkfs.btrfs -b 1G -n 4k -f -m single $dev
mount $dev $mnt
xfs_io -f -c "pwrite 0 512k" $mnt/src > /dev/null
sync
for ((i = 0; i < 128; i++)); do
xfs_io -f -c "reflink $mnt/src $(($i * 4096)) $(($i * 4096)) 4K" $mnt/file1 > /dev/null || fail
done
for ((i = 0; i < 128; i++)); do
xfs_io -f -c "pwrite 0 2k" $mnt/inline_$i > /dev/null || fail
done
sync
dmsetup message log 0 mark init
btrfs balance start -m $mnt
umount $mnt
dmsetup remove log
```
- Replay the log and run "btrfs dump-tree -t extent" for each fua
Use the log-writes tool (https://github.com/josefbacik/log-writes.git)
to replay the log.
And there will be one with the following contents for the data extent
item, with mixed keyed and shared backref.
item 22 key (13631488 EXTENT_ITEM 524288) itemoff 3161 itemsize 108
refs 180 gen 9 flags DATA
(178 0xdfb591fbbf5f519) extent data backref root FS_TREE objectid 258 offset 0 count 77
(178 0xdfb591fa80d95ea) extent data backref root FS_TREE objectid 257 offset 0 count 1
(184 0x151e000) shared data backref parent 22142976 count 51
(184 0x512000) shared data backref parent 5316608 count 51
- Take the image of that fs
This image has one extra benefit, that it exposed a bug in the older
lowmem code where shared backref number is not correctly skipped, thus
this image will also act as a regression test.
Signed-off-by: Qu Wenruo <wqu@suse.com>
---
.../keyed_data_ref_with_reloc_leaf.img | Bin 16384 -> 19456 bytes
1 file changed, 0 insertions(+), 0 deletions(-)
diff --git a/tests/fsck-tests/020-extent-ref-cases/keyed_data_ref_with_reloc_leaf.img b/tests/fsck-tests/020-extent-ref-cases/keyed_data_ref_with_reloc_leaf.img
index 80345cf9498f296f001b8b63e230bcfb9293300d..02c63ef7c4e665fc10b5681ce96d09a5c5755883 100644
GIT binary patch
literal 19456
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
aQMXg)PyH3|Vtlj`vJh;P91Q`K5C8xTDDxBm
literal 16384
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
--
2.49.0
^ permalink raw reply [flat|nested] 4+ messages in thread