From: Sun YangKai <sunk67188@gmail.com>
To: Leo Martins <loemra.dev@gmail.com>, Filipe Manana <fdmanana@kernel.org>
Cc: linux-btrfs@vger.kernel.org, kernel-team@fb.com
Subject: Re: [PATCH] btrfs: prevent COW amplification during btrfs_search_slot
Date: Fri, 30 Jan 2026 12:14:45 +0800 [thread overview]
Message-ID: <df47b1c0-c25e-4501-aaa0-bc73ce1fdc00@gmail.com> (raw)
In-Reply-To: <20260130001254.83750-1-loemra.dev@gmail.com>
On 2026/1/30 08:12, Leo Martins wrote:
> On Thu, 29 Jan 2026 11:52:07 +0000 Filipe Manana<fdmanana@kernel.org> wrote:
>> On Tue, Jan 27, 2026 at 8:43 PM Leo Martins<loemra.dev@gmail.com> wrote:
>>> I've been investigating enospcs at Meta and have observed a strange
>>> pattern where filesystems are enospcing with lots of unallocated space
>>> (> 100G). Sample dmesg dump at bottom of message.
>>>
>>> btrfs_insert_delayed_dir_index is attempting to migrate some reservation
>>> from the transaction block reserve and finding it exhausted leading to a
>>> warning and enospc. This is a bug as the reservations are meant to be
>>> worst case. It should be impossible to exhaust the transaction block
>>> reserve.
>>>
>>> Some tracing of affected hosts revealed that there were single
>>> btrfs_search_slot calls that were COWing 100s of times. I was able to
>>> reproduce this behavior locally by creating a very constrained cgroup
>>> and producing a lot of concurrent filesystem operations. Here's the
>>> pattern:
>>>
>>> 1. btrfs_search_slot() begins tree traversal with cow=1
>>> 2. Node at level N needs COW (old generation or WRITTEN flag set)
>>> 3. btrfs_cow_block() allocates new node, updates parent pointer
>>> 4. Traversal continues, but hits a condition requiring restart (e.g., node
>>> not cached, lock contention, need higher write_lock_level)
>>> 5. btrfs_release_path() releases all locks and references
>>> 6. Memory pressure triggers writeback on the COW'd node
>>> 7. lock_extent_buffer_for_io() clears EXTENT_BUFFER_DIRTY and sets
>>> BTRFS_HEADER_FLAG_WRITTEN
>>> 8. goto again - traversal restarts from root
>>> 9. Traversal reaches the freshly COW'd node
>>> 10. should_cow_block() sees WRITTEN flag set, returns true
>>> 11. btrfs_cow_block() allocates another new node - same logical position,
>>> new physical location, new reservation consumed
>>> 12. Steps 4-11 repeat indefinitely under sustained memory pressure
>>>
>>> Note this behavior should be much harder to trigger since Boris's
>>> AS_KERNEL_FILE changes that make it so that extent_buffer pages aren't
>>> accounted for in user cgroups. However, I believe it
>>> would still be an issue under global memory pressure.
>>> Link:https://lore.kernel.org/linux-btrfs/cover.1755812945.git.boris@bur.io/
>>>
>>> This COW amplification breaks the idea that transaction reservations are
>>> worst case as any search slot call could find itself in this COW loop and
>>> exhaust its reservation.
>>>
>>> My proposed solution is to temporarily pin extent buffers for the
>>> lifetime of btrfs_search_slot. This prevents the massive COW
>>> amplification that can be seen during high memory pressure.
>>>
>>> The implementation uses a local xarray to track COW'd buffers for the
>>> duration of the search. The xarray stores extent_buffer pointers without
>>> taking additional references; this is safe because tracked buffers remain
>>> dirty (writeback_blockers prevents the dirty bit from being cleared) and
>>> dirty buffers cannot be reclaimed by memory pressure.
>>>
>>> Synchronization is provided by eb->lock: increments in
>>> btrfs_search_slot_track_cow() occur while holding the write lock, and
>>> the check in lock_extent_buffer_for_io() also holds the write lock via
>>> btrfs_tree_lock(). Decrements don't require eb->lock because
>>> writeback_blockers is atomic and merely indicates "don't write yet".
>>> Once we decrement, we're done and don't care if writeback proceeds
>>> immediately.
>> This seems too complex to me.
>>
>> So this problem is very similar to some idea I had a few years ago but
>> never managed to implement.
>> It was about avoiding unnecessary COW, not for this space reservation
>> exhaustion due to sustained memory pressure, but it would solve it
>> too.
>>
>> The idea was that we do unnecessary COW in cases like this:
>>
>> 1) We COW a path in some tree and we are at transaction N;
>>
>> 2) Writeback happened for the extent buffers in that path while we are
>> in the same transaction, because we reached the 32M limit and some
>> task called btrfs_btree_balance_dirty() or something else triggered
>> writeback of the btree inode;
>>
>> 3) While still at transaction N, we visit the same path to add an item
>> to a leaf, or modify an item, whatever. Because the extent buffers
>> have BTRFS_HEADER_FLAG_WRITTEN, we COW them again (should_cow_block()
>> returns true).
>>
>> So during the lifetime of a transaction we can have a lot of
>> unnecessary COW - we spend more time allocating extents, allocating
>> memory, copying extent buffer data, use more space per transaction,
>> etc.
>>
>> The idea was to not COW when an extent buffer has
>> BTRFS_HEADER_FLAG_WRITTEN set, but only if its generation
>> (btrfs_header_generation(eb)) matches the current transaction.
>> That is safe because there's no committed tree that points to an
>> extent buffer created in the current transaction.
>>
>> Any further modification to the extent buffer must be sure that the
>> EXTENT_BUFFER_DIRTY flag is set, that the eb range is still in the
>> transaction's dirty_pages io tree, etc, so that we don't miss writing
>> the extent buffer to the same location again before the transaction
>> commits the superblocks.
>>
>> Have you considered an approach like this?
> I had not considered this, but it is a great idea.
>
> My first thought is that implementing this could be as simple
> as removing the BTRFS_HEADER_FLAG_WRITTEN check. However, this
> would mess with the assumptions around the log tree. From
> btrfs_sync_log():
After a fast glance and some tests, I found things might not be that
easy. The problem is not only the log tree.
> /*
> * IO has been started, blocks of the log tree have WRITTEN flag set
> * in their headers. new modifications of the log will be written to
> * new positions. so it's safe to allow log writers to go in.
> */
>
> ^ Assumes that WRITTEN blocks will be COW'd.
>
> The issue looks like:
>
> 1. fsync A COWs eb
> 2. fsync A lock_extent_buffer_for_io(); sets WRITTEN, unlocks tree
> 3. fsync B does __not__ COW eb and modifies it
> 4. fsync A writes modified eb to disk
> 5. CRASH; the log tree is corrupted
>
> One way to avoid that is to keep the current behavior for the log
> tree, but that leaves the potential for COW amplification...
I tested with a patch like this:
@@ -624,14 +624,18 @@ static inline bool should_cow_block(const struct
btrfs_trans_handle *trans,
if (btrfs_header_generation(buf) != trans->transid)
return true;
- if (btrfs_header_flag(buf, BTRFS_HEADER_FLAG_WRITTEN))
- return true;
-
/* Ensure we can see the FORCE_COW bit. */
smp_mb__before_atomic();
if (test_bit(BTRFS_ROOT_FORCE_COW, &root->state))
return true;
+ if (btrfs_header_flag(buf, BTRFS_HEADER_FLAG_WRITTEN)) {
+ if (btrfs_root_id(root) == BTRFS_TREE_LOG_OBJECTID)
+ return true;
+ btrfs_mark_buffer_dirty(trans, buf);
+ return false;
+ }
+
if (btrfs_root_id(root) == BTRFS_TREE_RELOC_OBJECTID)
return false;
And get some errors like this:
[ +0.090163] [ T2589] run fstests btrfs/004 at 2026-01-30 11:53:37
[ +0.432352] [T11685] BTRFS: device fsid
1fb397fc-97a7-44dd-9602-dd38b74bc391 devid 1 transid 8 /dev/loop1 (7:1)
scanned by mount (11685)
[ +0.000351] [T11685] BTRFS info (device loop1): first mount of
filesystem 1fb397fc-97a7-44dd-9602-dd38b74bc391
[ +0.000014] [T11685] BTRFS info (device loop1): using crc32c
(crc32c-lib) checksum algorithm
[ +0.001298] [T11685] BTRFS info (device loop1): checking UUID tree
[ +0.000039] [T11685] BTRFS info (device loop1): enabling ssd optimizations
[ +0.000003] [T11685] BTRFS info (device loop1): turning on async discard
[ +0.000002] [T11685] BTRFS info (device loop1): enabling free space tree
[ +1.051781] [T11703] page: refcount:2 mapcount:0
mapping:00000000eb6d7caa index:0x2348 pfn:0x1caebf
[ +0.000008] [T11703] memcg:ffff9b3300263cc0
[ +0.000003] [T11703] aops:0xffffffffc0354040 ino:1
[ +0.000024] [T11703] flags:
0x4e0000000000423e(referenced|uptodate|dirty|lru|workingset|private|writeback|zone=1)
[ +0.000007] [T11703] raw: 4e0000000000423e fffff74a872bb908
fffff74a84206a88 ffff9b33c6706880
[ +0.000004] [T11703] raw: 0000000000002348 ffff9b334be522d0
00000002ffffffff ffff9b3300263cc0
[ +0.000002] [T11703] page dumped because: eb page dump
[ +0.000003] [T11703] BTRFS critical (device loop1): corrupt leaf:
root=5 block=36995072 slot=118 ino=406 file_offset=94208, invalid
ram_bytes for file extent, have 8660273067269322872, should be aligned
to 4096
[ +0.000013] [T11703] BTRFS info (device loop1): leaf 36995072 gen 33
total ptrs 128 free space 2857 owner 5
[ +0.000006] [T11703] item 0 key (386 DIR_ITEM 238230307) itemoff
16249 itemsize 34
[ +0.000004] [T11703] location key (462 1 0) type 2
[ +0.000003] [T11703] transid 33 data_len 0 name_len 4
[ +0.000003] [T11703] item 1 key (386 DIR_ITEM 1473745676) itemoff
16216 itemsize 33
[ +0.000004] [T11703] location key (376 1 0) type 3
[ +0.000002] [T11703] transid 30 data_len 0 name_len 3
[ +0.000003] [T11703] item 2 key (386 DIR_ITEM 2243137595) itemoff
16182 itemsize 34
[ +0.000004] [T11703] location key (413 1 0) type 1
[ +0.000002] [T11703] transid 32 data_len 0 name_len 4
[ +0.000003] [T11703] item 3 key (386 DIR_ITEM 2980467489) itemoff
16148 itemsize 34
[ +0.000003] [T11703] location key (478 1 0) type 1
[ +0.000002] [T11703] transid 33 data_len 0 name_len 4
[ +0.000003] [T11703] item 4 key (386 DIR_ITEM 3091124746) itemoff
16115 itemsize 33
[ +0.000002] [T11703] location key (474 1 0) type 3
[ +0.000002] [T11703] transid 33 data_len 0 name_len 3
[ +0.000001] [T11703] item 5 key (386 DIR_ITEM 4127802504) itemoff
16082 itemsize 33
[ +0.000003] [T11703] location key (407 1 0) type 2
[ +0.000001] [T11703] transid 27 data_len 0 name_len 3
[ +0.000002] [T11703] item 6 key (386 DIR_INDEX 2) itemoff 16049
itemsize 33
[ +0.000003] [T11703] location key (407 1 0) type 2
[ +0.000001] [T11703] transid 27 data_len 0 name_len 3
[ +0.000002] [T11703] item 7 key (386 DIR_INDEX 4) itemoff 16016
itemsize 33
[ +0.000002] [T11703] location key (376 1 0) type 3
[ +0.000002] [T11703] transid 30 data_len 0 name_len 3
[ +0.000002] [T11703] item 8 key (386 DIR_INDEX 5) itemoff 15982
itemsize 34
[ +0.000002] [T11703] location key (413 1 0) type 1
[ +0.000002] [T11703] transid 32 data_len 0 name_len 4
[ +0.000002] [T11703] item 9 key (386 DIR_INDEX 6) itemoff 15948
itemsize 34
[ +0.000002] [T11703] location key (462 1 0) type 2
[ +0.000002] [T11703] transid 33 data_len 0 name_len 4
[ +0.000001] [T11703] item 10 key (386 DIR_INDEX 7) itemoff 15915
itemsize 33
[ +0.000003] [T11703] location key (474 1 0) type 3
[ +0.000001] [T11703] transid 33 data_len 0 name_len 3
[ +0.000002] [T11703] item 11 key (386 DIR_INDEX 8) itemoff 15881
itemsize 34
[ +0.000002] [T11703] location key (478 1 0) type 1
[ +0.000002] [T11703] transid 33 data_len 0 name_len 4
[ +0.000002] [T11703] item 12 key (387 INODE_ITEM 0) itemoff 15721
itemsize 160
[ +0.000002] [T11703] inode generation 25 transid 25 size 0
nbytes 0
[ +0.000003] [T11703] block group 0 mode 20444 links 1 uid 0 gid 0
[ +0.000002] [T11703] rdev 0 sequence 0 flags 0x0
[ +0.000002] [T11703] atime 1769745218.410248188
[ +0.000002] [T11703] ctime 1769745218.410248188
[ +0.000002] [T11703] mtime 1769745218.410248188
[ +0.000002] [T11703] otime 1769745218.410248188
[ +0.000002] [T11703] item 13 key (387 INODE_REF 324) itemoff 15708
itemsize 13
[ +0.000002] [T11703] index 13 name_len 3
[ +0.000002] [T11703] item 14 key (389 INODE_ITEM 0) itemoff 15548
itemsize 160
[ +0.000002] [T11703] inode generation 25 transid 33 size
375425 nbytes 8192
[ +0.000003] [T11703] block group 0 mode 100666 links 1 uid 0 gid 0
[ +0.000002] [T11703] rdev 0 sequence 4 flags 0x0
[ +0.000001] [T11703] atime 1769745218.410248188
[ +0.000002] [T11703] ctime 1769745218.662385845
[ +0.000002] [T11703] mtime 1769745218.662385845
[ +0.000001] [T11703] otime 1769745218.410248188
[ +0.000002] [T11703] item 15 key (389 INODE_REF 334) itemoff 15535
itemsize 13
[ +0.000002] [T11703] index 7 name_len 3
[ +0.000002] [T11703] item 16 key (389 XATTR_ITEM 1939513822)
itemoff 15435 itemsize 100
[ +0.000003] [T11703] location key (0 0 0) type 8
[ +0.000002] [T11703] transid 33 data_len 63 name_len 7
[ +0.000002] [T11703] item 17 key (389 EXTENT_DATA 368640) itemoff
15382 itemsize 53
[ +0.000002] [T11703] generation 31 type 1
[ +0.000002] [T11703] extent data disk bytenr 17526784 nr 8192
[ +0.000002] [T11703] extent data offset 0 nr 4096 ram 8192
[ +0.000002] [T11703] extent compression 0
[ +0.000002] [T11703] item 18 key (389 EXTENT_DATA 372736) itemoff
15329 itemsize 53
[ +0.000002] [T11703] generation 33 type 1
[ +0.000001] [T11703] extent data disk bytenr 14102528 nr 4096
[ +0.000002] [T11703] extent data offset 0 nr 4096 ram 4096
[ +0.000002] [T11703] extent compression 0
[ +0.000001] [T11703] item 19 key (389 EXTENT_DATA 1179648) itemoff
15276 itemsize 53
[ +0.000002] [T11703] generation 33 type 1
[ +0.000002] [T11703] extent data disk bytenr 370638848 nr 28672
[ +0.000002] [T11703] extent data offset 0 nr 28672 ram 28672
[ +0.000002] [T11703] extent compression 0
[ +0.000001] [T11703] item 20 key (390 INODE_ITEM 0) itemoff 15116
itemsize 160
[ +0.000002] [T11703] inode generation 25 transid 33 size 0
nbytes 0
[ +0.000002] [T11703] block group 0 mode 20444 links 2 uid 0 gid 0
[ +0.000002] [T11703] rdev 0 sequence 3 flags 0x0
[ +0.000002] [T11703] atime 1769745218.414620392
[ +0.000002] [T11703] ctime 1769745218.892384583
[ +0.000001] [T11703] mtime 1769745218.414620392
[ +0.000002] [T11703] otime 1769745218.414620392
[ +0.000002] [T11703] item 21 key (390 INODE_REF 300) itemoff 15103
itemsize 13
[ +0.000002] [T11703] index 13 name_len 3
[ +0.000002] [T11703] item 22 key (390 INODE_REF 327) itemoff 15089
itemsize 14
[ +0.000002] [T11703] index 17 name_len 4
[ +0.000001] [T11703] item 23 key (391 INODE_ITEM 0) itemoff 14929
itemsize 160
[ +0.000003] [T11703] inode generation 25 transid 30 size 12
nbytes 0
[ +0.000002] [T11703] block group 0 mode 40777 links 1 uid 0 gid 0
[ +0.000002] [T11703] rdev 0 sequence 3 flags 0x0
[ +0.000001] [T11703] atime 1769745218.414620392
[ +0.000002] [T11703] ctime 1769745218.609052805
[ +0.000002] [T11703] mtime 1769745218.609052805
[ +0.000001] [T11703] otime 1769745218.414620392
[ +0.000002] [T11703] item 24 key (391 INODE_REF 369) itemoff 14916
itemsize 13
[ +0.000002] [T11703] index 3 name_len 3
[ +0.000002] [T11703] item 25 key (391 DIR_ITEM 2351632656) itemoff
14883 itemsize 33
[ +0.000002] [T11703] location key (430 1 0) type 3
[ +0.000002] [T11703] transid 30 data_len 0 name_len 3
[ +0.000002] [T11703] item 26 key (391 DIR_ITEM 3050776180) itemoff
14850 itemsize 33
[ +0.000002] [T11703] location key (392 1 0) type 3
[ +0.000002] [T11703] transid 25 data_len 0 name_len 3
[ +0.000002] [T11703] item 27 key (391 DIR_INDEX 2) itemoff 14817
itemsize 33
[ +0.000002] [T11703] location key (392 1 0) type 3
[ +0.000002] [T11703] transid 25 data_len 0 name_len 3
[ +0.000002] [T11703] item 28 key (391 DIR_INDEX 3) itemoff 14784
itemsize 33
[ +0.000002] [T11703] location key (430 1 0) type 3
[ +0.000002] [T11703] transid 30 data_len 0 name_len 3
[ +0.000001] [T11703] item 29 key (392 INODE_ITEM 0) itemoff 14624
itemsize 160
[ +0.000003] [T11703] inode generation 25 transid 25 size 0
nbytes 0
[ +0.000001] [T11703] block group 0 mode 20444 links 1 uid 0 gid 0
[ +0.000002] [T11703] rdev 0 sequence 2 flags 0x0
[ +0.000002] [T11703] atime 1769745218.425720477
[ +0.000002] [T11703] ctime 1769745218.429053792
[ +0.000001] [T11703] mtime 1769745218.425720477
[ +0.000002] [T11703] otime 1769745218.425720477
[ +0.000002] [T11703] item 30 key (392 INODE_REF 391) itemoff 14611
itemsize 13
[ +0.000002] [T11703] index 2 name_len 3
[ +0.000001] [T11703] item 31 key (393 INODE_ITEM 0) itemoff 14451
itemsize 160
[ +0.000003] [T11703] inode generation 25 transid 25 size 0
nbytes 0
[ +0.000001] [T11703] block group 0 mode 20000 links 1 uid 0 gid 0
[ +0.000002] [T11703] rdev 0 sequence 19 flags 0x0
[ +0.000002] [T11703] atime 1769745218.429053792
[ +0.000002] [T11703] ctime 1769745218.429053792
[ +0.000001] [T11703] mtime 1769745218.429053792
[ +0.000002] [T11703] otime 1769745218.429053792
[ +0.000002] [T11703] item 32 key (393 INODE_REF 377) itemoff 14438
itemsize 13
[ +0.000002] [T11703] index 4 name_len 3
[ +0.000002] [T11703] item 33 key (394 INODE_ITEM 0) itemoff 14278
itemsize 160
[ +0.000023] [T11703] inode generation 25 transid 29 size 0
nbytes 0
[ +0.000002] [T11703] block group 0 mode 20444 links 1 uid
116392077 gid 49956004
[ +0.000002] [T11703] rdev 0 sequence 20 flags 0x0
[ +0.000017] [T11703] atime 1769745218.435720422
[ +0.000005] [T11703] ctime 1769745218.575719654
[ +0.000002] [T11703] mtime 1769745218.435720422
[ +0.000002] [T11703] otime 1769745218.435720422
[ +0.000002] [T11703] item 34 key (394 INODE_REF 336) itemoff 14265
itemsize 13
[ +0.000003] [T11703] index 11 name_len 3
[ +0.000002] [T11703] item 35 key (395 INODE_ITEM 0) itemoff 14105
itemsize 160
[ +0.000003] [T11703] inode generation 25 transid 33 size 14
nbytes 0
[ +0.000003] [T11703] block group 0 mode 40777 links 1 uid 0 gid 0
[ +0.000002] [T11703] rdev 0 sequence 31 flags 0x0
[ +0.000002] [T11703] atime 1769745218.436974912
[ +0.000002] [T11703] ctime 1769745218.892384583
[ +0.000002] [T11703] mtime 1769745218.892384583
[ +0.000001] [T11703] otime 1769745218.436974912
[ +0.000002] [T11703] item 36 key (395 INODE_REF 300) itemoff 14092
itemsize 13
[ +0.000003] [T11703] index 14 name_len 3
[ +0.000002] [T11703] item 37 key (395 DIR_ITEM 1909090157) itemoff
14059 itemsize 33
[ +0.000002] [T11703] location key (410 1 0) type 1
[ +0.000002] [T11703] transid 27 data_len 0 name_len 3
[ +0.000002] [T11703] item 38 key (395 DIR_ITEM 2010649400) itemoff
14025 itemsize 34
[ +0.000003] [T11703] location key (448 1 0) type 1
[ +0.000002] [T11703] transid 32 data_len 0 name_len 4
[ +0.000001] [T11703] item 39 key (395 DIR_INDEX 3) itemoff 13992
itemsize 33
[ +0.000003] [T11703] location key (410 1 0) type 1
[ +0.000001] [T11703] transid 27 data_len 0 name_len 3
[ +0.000002] [T11703] item 40 key (395 DIR_INDEX 7) itemoff 13958
itemsize 34
[ +0.000002] [T11703] location key (448 1 0) type 1
[ +0.000002] [T11703] transid 32 data_len 0 name_len 4
[ +0.000002] [T11703] item 41 key (396 INODE_ITEM 0) itemoff 13798
itemsize 160
[ +0.000002] [T11703] inode generation 25 transid 33 size
4498598 nbytes 368640
[ +0.000003] [T11703] block group 0 mode 100666 links 1 uid 0 gid 0
[ +0.000002] [T11703] rdev 0 sequence 43 flags 0x0
[ +0.000001] [T11703] atime 1769745218.862384748
[ +0.000002] [T11703] ctime 1769745218.872384693
[ +0.000002] [T11703] mtime 1769745218.872384693
[ +0.000002] [T11703] otime 1769745218.436974912
[ +0.000003] [T11703] item 42 key (396 INODE_REF 334) itemoff 13785
itemsize 13
[ +0.000003] [T11703] index 8 name_len 3
[ +0.000002] [T11703] item 43 key (396 EXTENT_DATA 1015808) itemoff
13732 itemsize 53
[ +0.000004] [T11703] generation 26 type 1
[ +0.000002] [T11703] extent data disk bytenr 20709376 nr 4096
[ +0.000003] [T11703] extent data offset 0 nr 4096 ram 4096
[ +0.000002] [T11703] extent compression 0
[ +0.000002] [T11703] item 44 key (396 EXTENT_DATA 1376256) itemoff
13679 itemsize 53
[ +0.000003] [T11703] generation 27 type 1
[ +0.000002] [T11703] extent data disk bytenr 362196992 nr 131072
[ +0.000003] [T11703] extent data offset 0 nr 73728 ram 131072
[ +0.000002] [T11703] extent compression 0
[ +0.000002] [T11703] item 45 key (396 EXTENT_DATA 1449984) itemoff
13626 itemsize 53
[ +0.000003] [T11703] generation 29 type 1
[ +0.000003] [T11703] extent data disk bytenr 356175872 nr 114688
[ +0.000002] [T11703] extent data offset 0 nr 114688 ram 114688
[ +0.000002] [T11703] extent compression 0
[ +0.000001] [T11703] item 46 key (396 EXTENT_DATA 1703936) itemoff
13573 itemsize 53
[ +0.000004] [T11703] generation 27 type 1
[ +0.000002] [T11703] extent data disk bytenr 361512960 nr 102400
[ +0.000002] [T11703] extent data offset 0 nr 102400 ram 102400
[ +0.000002] [T11703] extent compression 0
[ +0.000002] [T11703] item 47 key (396 EXTENT_DATA 2301952) itemoff
13520 itemsize 53
[ +0.000003] [T11703] generation 31 type 1
[ +0.000002] [T11703] extent data disk bytenr 15396864 nr 32768
[ +0.000003] [T11703] extent data offset 0 nr 32768 ram 32768
[ +0.000002] [T11703] extent compression 0
[ +0.000002] [T11703] item 48 key (396 EXTENT_DATA 3616768) itemoff
13467 itemsize 53
[ +0.000002] [T11703] generation 31 type 1
[ +0.000002] [T11703] extent data disk bytenr 17121280 nr 49152
[ +0.000001] [T11703] extent data offset 0 nr 40960 ram 49152
[ +0.000002] [T11703] extent compression 0
[ +0.000002] [T11703] item 49 key (396 EXTENT_DATA 4497408) itemoff
13414 itemsize 53
[ +0.000002] [T11703] generation 33 type 1
[ +0.000001] [T11703] extent data disk bytenr 15429632 nr 4096
[ +0.000002] [T11703] extent data offset 0 nr 4096 ram 4096
[ +0.000002] [T11703] extent compression 0
[ +0.000001] [T11703] item 50 key (396 EXTENT_DATA 4562944) itemoff
13361 itemsize 53
[ +0.000002] [T11703] generation 33 type 1
[ +0.000002] [T11703] extent data disk bytenr 16396288 nr 8192
[ +0.000001] [T11703] extent data offset 0 nr 8192 ram 8192
[ +0.000002] [T11703] extent compression 0
[ +0.000002] [T11703] item 51 key (397 INODE_ITEM 0) itemoff 13201
itemsize 160
[ +0.000002] [T11703] inode generation 25 transid 32 size
3371008 nbytes 757760
[ +0.000002] [T11703] block group 0 mode 100666 links 1 uid 0 gid 0
[ +0.000002] [T11703] rdev 0 sequence 40 flags 0x10
[ +0.000002] [T11703] atime 1769745218.436974912
[ +0.000002] [T11703] ctime 1769745218.732385461
[ +0.000001] [T11703] mtime 1769745218.732385461
[ +0.000002] [T11703] otime 1769745218.436974912
[ +0.000002] [T11703] item 52 key (397 INODE_REF 344) itemoff 13188
itemsize 13
[ +0.000002] [T11703] index 5 name_len 3
[ +0.000002] [T11703] item 53 key (397 EXTENT_DATA 204800) itemoff
13135 itemsize 53
[ +0.000002] [T11703] generation 14 type 2
[ +0.000002] [T11703] extent data disk bytenr 135266304 nr 954368
[ +0.000001] [T11703] extent data offset 421888 nr 8192 ram 954368
[ +0.000002] [T11703] extent compression 0
[ +0.000002] [T11703] item 54 key (397 EXTENT_DATA 253952) itemoff
13082 itemsize 53
[ +0.000002] [T11703] generation 14 type 2
[ +0.000001] [T11703] extent data disk bytenr 135266304 nr 954368
[ +0.000002] [T11703] extent data offset 471040 nr 28672 ram 954368
[ +0.000002] [T11703] extent compression 0
[ +0.000001] [T11703] item 55 key (397 EXTENT_DATA 507904) itemoff
13029 itemsize 53
[ +0.000003] [T11703] generation 31 type 1
[ +0.000001] [T11703] extent data disk bytenr 17121280 nr 49152
[ +0.000002] [T11703] extent data offset 0 nr 40960 ram 49152
[ +0.000001] [T11703] extent compression 0
[ +0.000002] [T11703] item 56 key (397 EXTENT_DATA 643072) itemoff
12976 itemsize 53
[ +0.000002] [T11703] generation 27 type 1
[ +0.000002] [T11703] extent data disk bytenr 362475520 nr 77824
[ +0.000001] [T11703] extent data offset 0 nr 57344 ram 77824
[ +0.000002] [T11703] extent compression 0
[ +0.000001] [T11703] item 57 key (397 EXTENT_DATA 700416) itemoff
12923 itemsize 53
[ +0.000003] [T11703] generation 32 type 1
[ +0.000001] [T11703] extent data disk bytenr 353513472 nr 16384
[ +0.000002] [T11703] extent data offset 0 nr 16384 ram 16384
[ +0.000001] [T11703] extent compression 0
[ +0.000002] [T11703] item 58 key (397 EXTENT_DATA 716800) itemoff
12870 itemsize 53
[ +0.000002] [T11703] generation 27 type 1
[ +0.000002] [T11703] extent data disk bytenr 362475520 nr 77824
[ +0.000001] [T11703] extent data offset 73728 nr 4096 ram 77824
[ +0.000002] [T11703] extent compression 0
[ +0.000001] [T11703] item 59 key (397 EXTENT_DATA 720896) itemoff
12817 itemsize 53
[ +0.000003] [T11703] generation 27 type 1
[ +0.000001] [T11703] extent data disk bytenr 19050496 nr 4096
[ +0.000002] [T11703] extent data offset 0 nr 4096 ram 4096
[ +0.000001] [T11703] extent compression 0
[ +0.000002] [T11703] item 60 key (397 EXTENT_DATA 901120) itemoff
12764 itemsize 53
[ +0.000002] [T11703] generation 30 type 1
[ +0.000001] [T11703] extent data disk bytenr 364146688 nr 28672
[ +0.000001] [T11703] extent data offset 0 nr 28672 ram 28672
[ +0.000001] [T11703] extent compression 0
[ +0.000002] [T11703] item 61 key (397 EXTENT_DATA 1875968) itemoff
12711 itemsize 53
[ +0.000001] [T11703] generation 24 type 1
[ +0.000002] [T11703] extent data disk bytenr 357761024 nr 73728
[ +0.000001] [T11703] extent data offset 40960 nr 28672 ram 73728
[ +0.000001] [T11703] extent compression 0
[ +0.000001] [T11703] item 62 key (397 EXTENT_DATA 1904640) itemoff
12658 itemsize 53
[ +0.000002] [T11703] generation 27 type 1
[ +0.000001] [T11703] extent data disk bytenr 355385344 nr 4096
[ +0.000002] [T11703] extent data offset 0 nr 4096 ram 4096
[ +0.000001] [T11703] extent compression 0
[ +0.000001] [T11703] item 63 key (397 EXTENT_DATA 2244608) itemoff
12605 itemsize 53
[ +0.000002] [T11703] generation 33 type 1
[ +0.000001] [T11703] extent data disk bytenr 366755840 nr 102400
[ +0.000001] [T11703] extent data offset 0 nr 102400 ram 102400
[ +0.000002] [T11703] extent compression 0
[ +0.000001] [T11703] item 64 key (397 EXTENT_DATA 2990080) itemoff
12552 itemsize 53
[ +0.000001] [T11703] generation 32 type 2
[ +0.000001] [T11703] extent data disk bytenr 153870336 nr 585728
[ +0.000002] [T11703] extent data offset 16384 nr 172032 ram 585728
[ +0.000001] [T11703] extent compression 0
[ +0.000001] [T11703] item 65 key (397 EXTENT_DATA 3162112) itemoff
12499 itemsize 53
[ +0.000002] [T11703] generation 32 type 1
[ +0.000001] [T11703] extent data disk bytenr 153870336 nr 585728
[ +0.000001] [T11703] extent data offset 188416 nr 110592 ram
585728
[ +0.000001] [T11703] extent compression 0
[ +0.000001] [T11703] item 66 key (397 EXTENT_DATA 3272704) itemoff
12446 itemsize 53
[ +0.000002] [T11703] generation 33 type 1
[ +0.000001] [T11703] extent data disk bytenr 369012736 nr 4096
[ +0.000001] [T11703] extent data offset 0 nr 4096 ram 4096
[ +0.000002] [T11703] extent compression 0
[ +0.000001] [T11703] item 67 key (397 EXTENT_DATA 3276800) itemoff
12393 itemsize 53
[ +0.000001] [T11703] generation 33 type 2
[ +0.000001] [T11703] extent data disk bytenr 161648640 nr 643072
[ +0.000002] [T11703] extent data offset 0 nr 643072 ram 643072
[ +0.000001] [T11703] extent compression 0
[ +0.000001] [T11703] item 68 key (398 INODE_ITEM 0) itemoff 12233
itemsize 160
[ +0.000002] [T11703] inode generation 25 transid 32 size
1390453 nbytes 172032
[ +0.000001] [T11703] block group 0 mode 100666 links 1 uid 0 gid 0
[ +0.000002] [T11703] rdev 0 sequence 30 flags 0x0
[ +0.000001] [T11703] atime 1769745218.436974912
[ +0.000002] [T11703] ctime 1769745218.522719547
[ +0.000001] [T11703] mtime 1769745218.522719547
[ +0.000001] [T11703] otime 1769745218.436974912
[ +0.000001] [T11703] item 69 key (398 INODE_REF 369) itemoff 12220
itemsize 13
[ +0.000002] [T11703] index 4 name_len 3
[ +0.000001] [T11703] item 70 key (398 EXTENT_DATA 40960) itemoff
12167 itemsize 53
[ +0.000002] [T11703] generation 14 type 2
[ +0.000001] [T11703] extent data disk bytenr 135266304 nr 954368
[ +0.000001] [T11703] extent data offset 421888 nr 8192 ram 954368
[ +0.000002] [T11703] extent compression 0
[ +0.000001] [T11703] item 71 key (398 EXTENT_DATA 90112) itemoff
12114 itemsize 53
[ +0.000002] [T11703] generation 14 type 2
[ +0.000001] [T11703] extent data disk bytenr 135266304 nr 954368
[ +0.000001] [T11703] extent data offset 471040 nr 28672 ram 954368
[ +0.000001] [T11703] extent compression 0
[ +0.000001] [T11703] item 72 key (398 EXTENT_DATA 344064) itemoff
12061 itemsize 53
[ +0.000002] [T11703] generation 14 type 2
[ +0.000001] [T11703] extent data disk bytenr 135266304 nr 954368
[ +0.000001] [T11703] extent data offset 421888 nr 8192 ram 954368
[ +0.000002] [T11703] extent compression 0
[ +0.000001] [T11703] item 73 key (398 EXTENT_DATA 393216) itemoff
12008 itemsize 53
[ +0.000002] [T11703] generation 14 type 2
[ +0.000001] [T11703] extent data disk bytenr 135266304 nr 954368
[ +0.000001] [T11703] extent data offset 471040 nr 28672 ram 954368
[ +0.000001] [T11703] extent compression 0
[ +0.000001] [T11703] item 74 key (398 EXTENT_DATA 753664) itemoff
11955 itemsize 53
[ +0.000002] [T11703] generation 27 type 1
[ +0.000001] [T11703] extent data disk bytenr 21372928 nr 16384
[ +0.000001] [T11703] extent data offset 0 nr 16384 ram 16384
[ +0.000001] [T11703] extent compression 0
[ +0.000001] [T11703] item 75 key (398 EXTENT_DATA 806912) itemoff
11902 itemsize 53
[ +0.000002] [T11703] generation 33 type 1
[ +0.000001] [T11703] extent data disk bytenr 366972928 nr 102400
[ +0.000001] [T11703] extent data offset 0 nr 102400 ram 102400
[ +0.000002] [T11703] extent compression 0
[ +0.000001] [T11703] item 76 key (398 EXTENT_DATA 962560) itemoff
11849 itemsize 53
[ +0.000001] [T11703] generation 31 type 1
[ +0.000001] [T11703] extent data disk bytenr 17121280 nr 49152
[ +0.000002] [T11703] extent data offset 0 nr 40960 ram 49152
[ +0.000001] [T11703] extent compression 0
[ +0.000001] [T11703] item 77 key (398 EXTENT_DATA 1343488) itemoff
11796 itemsize 53
[ +0.000002] [T11703] generation 31 type 1
[ +0.000001] [T11703] extent data disk bytenr 17121280 nr 49152
[ +0.000001] [T11703] extent data offset 8192 nr 32768 ram 49152
[ +0.000001] [T11703] extent compression 0
[ +0.000001] [T11703] item 78 key (398 EXTENT_DATA 1388544) itemoff
11743 itemsize 53
[ +0.000002] [T11703] generation 33 type 1
[ +0.000001] [T11703] extent data disk bytenr 14479360 nr 4096
[ +0.000001] [T11703] extent data offset 0 nr 4096 ram 4096
[ +0.000002] [T11703] extent compression 0
[ +0.000001] [T11703] item 79 key (399 INODE_ITEM 0) itemoff 11583
itemsize 160
[ +0.000001] [T11703] inode generation 25 transid 32 size
585093 nbytes 339968
[ +0.000002] [T11703] block group 0 mode 100666 links 1 uid 0 gid 0
[ +0.000001] [T11703] rdev 0 sequence 31 flags 0x10
[ +0.000001] [T11703] atime 1769745218.552386449
[ +0.000002] [T11703] ctime 1769745218.649404376
[ +0.000001] [T11703] mtime 1769745218.649404376
[ +0.000001] [T11703] otime 1769745218.438593902
[ +0.000002] [T11703] item 80 key (399 INODE_REF 297) itemoff 11570
itemsize 13
[ +0.000001] [T11703] index 14 name_len 3
[ +0.000002] [T11703] item 81 key (399 EXTENT_DATA 49152) itemoff
11517 itemsize 53
[ +0.000001] [T11703] generation 14 type 2
[ +0.000001] [T11703] extent data disk bytenr 135266304 nr 954368
[ +0.000002] [T11703] extent data offset 421888 nr 8192 ram 954368
[ +0.000001] [T11703] extent compression 0
[ +0.000001] [T11703] item 82 key (399 EXTENT_DATA 98304) itemoff
11464 itemsize 53
[ +0.000002] [T11703] generation 14 type 2
[ +0.000001] [T11703] extent data disk bytenr 135266304 nr 954368
[ +0.000001] [T11703] extent data offset 471040 nr 28672 ram 954368
[ +0.000001] [T11703] extent compression 0
[ +0.000001] [T11703] item 83 key (399 EXTENT_DATA 163840) itemoff
11411 itemsize 53
[ +0.000002] [T11703] generation 27 type 1
[ +0.000001] [T11703] extent data disk bytenr 362151936 nr 45056
[ +0.000001] [T11703] extent data offset 0 nr 45056 ram 45056
[ +0.000001] [T11703] extent compression 0
[ +0.000001] [T11703] item 84 key (399 EXTENT_DATA 229376) itemoff
11358 itemsize 53
[ +0.000002] [T11703] generation 30 type 1
[ +0.000001] [T11703] extent data disk bytenr 363864064 nr 98304
[ +0.000001] [T11703] extent data offset 0 nr 98304 ram 98304
[ +0.000002] [T11703] extent compression 0
[ +0.000001] [T11703] item 85 key (399 EXTENT_DATA 335872) itemoff
11305 itemsize 53
[ +0.000001] [T11703] generation 25 type 2
[ +0.000001] [T11703] extent data disk bytenr 359723008 nr 94208
[ +0.000002] [T11703] extent data offset 0 nr 4096 ram 94208
[ +0.000001] [T11703] extent compression 0
[ +0.000001] [T11703] item 86 key (399 EXTENT_DATA 344064) itemoff
11252 itemsize 53
[ +0.000002] [T11703] generation 33 type 1
[ +0.000001] [T11703] extent data disk bytenr 14061568 nr 4096
[ +0.000001] [T11703] extent data offset 0 nr 4096 ram 4096
[ +0.000001] [T11703] extent compression 0
[ +0.000001] [T11703] item 87 key (399 EXTENT_DATA 356352) itemoff
11199 itemsize 53
[ +0.000002] [T11703] generation 15 type 2
[ +0.000001] [T11703] extent data disk bytenr 138276864 nr 282624
[ +0.000001] [T11703] extent data offset 69632 nr 16384 ram 282624
[ +0.000001] [T11703] extent compression 0
[ +0.000001] [T11703] item 88 key (399 EXTENT_DATA 479232) itemoff
11146 itemsize 53
[ +0.000002] [T11703] generation 31 type 1
[ +0.000001] [T11703] extent data disk bytenr 17408000 nr 106496
[ +0.000001] [T11703] extent data offset 0 nr 102400 ram 106496
[ +0.000002] [T11703] extent compression 0
[ +0.000001] [T11703] item 89 key (399 EXTENT_DATA 581632) itemoff
11093 itemsize 53
[ +0.000001] [T11703] generation 33 type 1
[ +0.000002] [T11703] extent data disk bytenr 13647872 nr 4096
[ +0.000001] [T11703] extent data offset 0 nr 4096 ram 4096
[ +0.000001] [T11703] extent compression 0
[ +0.000001] [T11703] item 90 key (399 EXTENT_DATA 1445888) itemoff
11040 itemsize 53
[ +0.000002] [T11703] generation 33 type 1
[ +0.000001] [T11703] extent data disk bytenr 21803008 nr 32768
[ +0.000002] [T11703] extent data offset 0 nr 28672 ram 32768
[ +0.000001] [T11703] extent compression 0
[ +0.000001] [T11703] item 91 key (399 EXTENT_DATA 1474560) itemoff
10987 itemsize 53
[ +0.000002] [T11703] generation 33 type 1
[ +0.000001] [T11703] extent data disk bytenr 13877248 nr 4096
[ +0.000001] [T11703] extent data offset 0 nr 4096 ram 4096
[ +0.000001] [T11703] extent compression 0
[ +0.000001] [T11703] item 92 key (399 EXTENT_DATA 1892352) itemoff
10934 itemsize 53
[ +0.000002] [T11703] generation 33 type 1
[ +0.000001] [T11703] extent data disk bytenr 369930240 nr 65536
[ +0.000001] [T11703] extent data offset 0 nr 65536 ram 65536
[ +0.000002] [T11703] extent compression 0
[ +0.000001] [T11703] item 93 key (400 INODE_ITEM 0) itemoff 10774
itemsize 160
[ +0.000001] [T11703] inode generation 25 transid 30 size 0
nbytes 0
[ +0.000002] [T11703] block group 0 mode 20444 links 1 uid 0 gid 0
[ +0.000001] [T11703] rdev 0 sequence 23 flags 0x0
[ +0.000002] [T11703] atime 1769745218.439782042
[ +0.000001] [T11703] ctime 1769745218.632386010
[ +0.000001] [T11703] mtime 1769745218.439782042
[ +0.000001] [T11703] otime 1769745218.439782042
[ +0.000002] [T11703] item 94 key (400 INODE_REF 272) itemoff 10761
itemsize 13
[ +0.000001] [T11703] index 44 name_len 3
[ +0.000002] [T11703] item 95 key (401 INODE_ITEM 0) itemoff 10601
itemsize 160
[ +0.000001] [T11703] inode generation 25 transid 33 size 14
nbytes 0
[ +0.000002] [T11703] block group 0 mode 40777 links 1 uid 0 gid 0
[ +0.000001] [T11703] rdev 0 sequence 22 flags 0x0
[ +0.000001] [T11703] atime 1769745218.444837643
[ +0.000002] [T11703] ctime 1769745218.839051542
[ +0.000001] [T11703] mtime 1769745218.839051542
[ +0.000001] [T11703] otime 1769745218.444837643
[ +0.000002] [T11703] item 96 key (401 INODE_REF 319) itemoff 10588
itemsize 13
[ +0.000001] [T11703] index 10 name_len 3
[ +0.000001] [T11703] item 97 key (401 DIR_ITEM 1191232959) itemoff
10554 itemsize 34
[ +0.000002] [T11703] location key (459 1 0) type 3
[ +0.000002] [T11703] transid 33 data_len 0 name_len 4
[ +0.000001] [T11703] item 98 key (401 DIR_ITEM 3224377935) itemoff
10521 itemsize 33
[ +0.000002] [T11703] location key (429 1 0) type 1
[ +0.000001] [T11703] transid 30 data_len 0 name_len 3
[ +0.000001] [T11703] item 99 key (401 DIR_INDEX 2) itemoff 10488
itemsize 33
[ +0.000002] [T11703] location key (429 1 0) type 1
[ +0.000001] [T11703] transid 30 data_len 0 name_len 3
[ +0.000002] [T11703] item 100 key (401 DIR_INDEX 3) itemoff 10454
itemsize 34
[ +0.000001] [T11703] location key (459 1 0) type 3
[ +0.000002] [T11703] transid 33 data_len 0 name_len 4
[ +0.000001] [T11703] item 101 key (402 INODE_ITEM 0) itemoff 10294
itemsize 160
[ +0.000002] [T11703] inode generation 25 transid 30 size 0
nbytes 0
[ +0.000001] [T11703] block group 0 mode 20000 links 1 uid 10
gid 25
[ +0.000002] [T11703] rdev 0 sequence 20 flags 0x0
[ +0.000001] [T11703] atime 1769745218.446861225
[ +0.000001] [T11703] ctime 1769745218.609052805
[ +0.000002] [T11703] mtime 1769745218.446861225
[ +0.000001] [T11703] otime 1769745218.446861225
[ +0.000001] [T11703] item 102 key (402 INODE_REF 336) itemoff
10281 itemsize 13
[ +0.000002] [T11703] index 12 name_len 3
[ +0.000001] [T11703] item 103 key (403 INODE_ITEM 0) itemoff 10121
itemsize 160
[ +0.000002] [T11703] inode generation 25 transid 33 size 48
nbytes 0
[ +0.000001] [T11703] block group 0 mode 40777 links 1 uid 0 gid 0
[ +0.000002] [T11703] rdev 0 sequence 40 flags 0x0
[ +0.000001] [T11703] atime 1769745218.446861225
[ +0.000001] [T11703] ctime 1769745218.802385077
[ +0.000001] [T11703] mtime 1769745218.802385077
[ +0.000002] [T11703] otime 1769745218.446861225
[ +0.000001] [T11703] item 104 key (403 INODE_REF 335) itemoff
10108 itemsize 13
[ +0.000002] [T11703] index 8 name_len 3
[ +0.000001] [T11703] item 105 key (403 DIR_ITEM 383218927) itemoff
10074 itemsize 34
[ +0.000002] [T11703] location key (299 1 0) type 3
[ +0.000001] [T11703] transid 33 data_len 0 name_len 4
[ +0.000001] [T11703] item 106 key (403 DIR_ITEM 445930716) itemoff
10041 itemsize 33
[ +0.000002] [T11703] location key (287 1 0) type 3
[ +0.000001] [T11703] transid 30 data_len 0 name_len 3
[ +0.000002] [T11703] item 107 key (403 DIR_ITEM 1238590424)
itemoff 10008 itemsize 33
[ +0.000001] [T11703] location key (418 1 0) type 2
[ +0.000002] [T11703] transid 27 data_len 0 name_len 3
[ +0.000001] [T11703] item 108 key (403 DIR_ITEM 1779809903)
itemoff 9974 itemsize 34
[ +0.000002] [T11703] location key (486 1 0) type 2
[ +0.000001] [T11703] transid 33 data_len 0 name_len 4
[ +0.000001] [T11703] item 109 key (403 DIR_ITEM 1827976929)
itemoff 9941 itemsize 33
[ +0.000002] [T11703] location key (263 1 0) type 3
[ +0.000002] [T11703] transid 30 data_len 0 name_len 3
[ +0.000001] [T11703] item 110 key (403 DIR_ITEM 2397436283)
itemoff 9907 itemsize 34
[ +0.000002] [T11703] location key (458 1 0) type 7
[ +0.000001] [T11703] transid 33 data_len 0 name_len 4
[ +0.000001] [T11703] item 111 key (403 DIR_ITEM 2479530324)
itemoff 9873 itemsize 34
[ +0.000002] [T11703] location key (457 1 0) type 3
[ +0.000001] [T11703] transid 33 data_len 0 name_len 4
[ +0.000001] [T11703] item 112 key (403 DIR_ITEM 3110495684)
itemoff 9839 itemsize 34
[ +0.000002] [T11703] location key (466 1 0) type 3
[ +0.000001] [T11703] transid 33 data_len 0 name_len 4
[ +0.000002] [T11703] item 113 key (403 DIR_ITEM 3884400930)
itemoff 9806 itemsize 33
[ +0.000001] [T11703] location key (416 1 0) type 1
[ +0.000002] [T11703] transid 27 data_len 0 name_len 3
[ +0.000001] [T11703] item 114 key (403 DIR_INDEX 4) itemoff 9773
itemsize 33
[ +0.000002] [T11703] location key (416 1 0) type 1
[ +0.000001] [T11703] transid 27 data_len 0 name_len 3
[ +0.000001] [T11703] item 115 key (403 DIR_INDEX 5) itemoff 9740
itemsize 33
[ +0.000002] [T11703] location key (418 1 0) type 2
[ +0.000001] [T11703] transid 27 data_len 0 name_len 3
[ +0.000002] [T11703] item 116 key (403 DIR_INDEX 7) itemoff 9707
itemsize 33
[ +0.000001] [T11703] location key (287 1 0) type 3
[ +0.000002] [T11703] transid 30 data_len 0 name_len 3
[ +0.000001] [T11703] item 117 key (403 DIR_INDEX 8) itemoff 9674
itemsize 33
[ +0.000002] [T11703] location key (263 1 0) type 3
[ +0.000001] [T11703] transid 30 data_len 0 name_len 3
[ +0.000001] [T11703] item 118 key (403 DIR_INDEX 10) itemoff 9640
itemsize 34
[ +0.000002] [T11703] location key (299 1 0) type 3
[ +0.000001] [T11703] transid 33 data_len 0 name_len 4
[ +0.000002] [T11703] item 119 key (403 DIR_INDEX 11) itemoff 9606
itemsize 34
[ +0.000001] [T11703] location key (457 1 0) type 3
[ +0.000002] [T11703] transid 33 data_len 0 name_len 4
[ +0.000001] [T11703] item 120 key (403 DIR_INDEX 12) itemoff 9572
itemsize 34
[ +0.000002] [T11703] location key (458 1 0) type 7
[ +0.000001] [T11703] transid 33 data_len 0 name_len 4
[ +0.000001] [T11703] item 121 key (404 INODE_ITEM 0) itemoff 9412
itemsize 160
[ +0.000002] [T11703] inode generation 27 transid 32 size 3080
nbytes 3080
[ +0.000001] [T11703] block group 0 mode 120777 links 1 uid 0 gid 0
[ +0.000002] [T11703] rdev 0 sequence 21 flags 0x0
[ +0.000001] [T11703] atime 1769745218.505720038
[ +0.000001] [T11703] ctime 1769745218.754448742
[ +0.000002] [T11703] mtime 1769745218.505720038
[ +0.000001] [T11703] otime 1769745218.505720038
[ +0.000001] [T11703] item 122 key (404 INODE_REF 315) itemoff 9399
itemsize 13
[ +0.000002] [T11703] index 19 name_len 3
[ +0.000001] [T11703] item 123 key (404 EXTENT_DATA 0) itemoff 6298
itemsize 3101
[ +0.000002] [T11703] generation 27 type 0
[ +0.000001] [T11703] inline extent data size 3080 ram_bytes
3080 compression 0
[ +0.000002] [T11703] item 124 key (405 INODE_ITEM 0) itemoff 6138
itemsize 160
[ +0.000001] [T11703] inode generation 27 transid 30 size 20
nbytes 0
[ +0.000002] [T11703] block group 0 mode 40777 links 1 uid 31
gid 901
[ +0.000002] [T11703] rdev 0 sequence 26 flags 0x0
[ +0.000001] [T11703] atime 1769745218.505720038
[ +0.000001] [T11703] ctime 1769745218.662385845
[ +0.000001] [T11703] mtime 1769745218.662385845
[ +0.000001] [T11703] otime 1769745218.505720038
[ +0.000002] [T11703] item 125 key (405 INODE_REF 327) itemoff 6125
itemsize 13
[ +0.000001] [T11703] index 12 name_len 3
[ +0.000002] [T11703] item 126 key (405 DIR_ITEM 695610317) itemoff
6091 itemsize 34
[ +0.000002] [T11703] location key (435 1 0) type 2
[ +0.000001] [T11703] transid 30 data_len 0 name_len 4
[ +0.000001] [T11703] item 127 key (405 DIR_ITEM 828387202) itemoff
6057 itemsize 34
[ +0.000002] [T11703] location key (479 1 0) type 3
[ +0.000001] [T11703] transid 33 data_len 0 name_len 4
[ +0.000002] [T11703] BTRFS error (device loop1): block=36995072 write
time tree block corruption detected
[ +0.003429] [T11703] BTRFS: error (device loop1) in
btrfs_commit_transaction:2555: errno=-5 IO failure (Error while writing
out transaction)
[ +0.000007] [T11703] BTRFS info (device loop1 state E): forced readonly
[ +0.000002] [T11703] BTRFS warning (device loop1 state E): Skipping
commit of aborted transaction.
[ +0.000002] [T11703] BTRFS error (device loop1 state EA): Transaction
aborted (error -5)
[ +0.000003] [T11703] BTRFS: error (device loop1 state EA) in
cleanup_transaction:2037: errno=-5 IO failure
The reported 406 inode is even not in the printed leaf. It seems like a
data race maybe caused by:
We unlock the eb after setting the WRITTEN flag during write back, and
the eb should not get modified since then because all future writes will
use the cowed eb. However, with the WRITTEN flag check removed in
should_cow_block, we might write to the eb with WRITTEN flag set which
might be under io.
To fix this, we need to check the DIRTY flag again to prevent writing a
eb which has some new data written, and lock the eb before we really
doing io related things. I'm not farmilar with io related code so please
correct me if I got anything wrong.
Thanks,
Sun Yangkai
next prev parent reply other threads:[~2026-01-30 4:14 UTC|newest]
Thread overview: 21+ messages / expand[flat|nested] mbox.gz Atom feed top
2026-01-27 20:42 [PATCH] btrfs: prevent COW amplification during btrfs_search_slot Leo Martins
2026-01-28 21:48 ` Qu Wenruo
2026-01-29 19:30 ` Leo Martins
2026-01-29 11:52 ` Filipe Manana
2026-01-30 0:12 ` Leo Martins
2026-01-30 4:14 ` Sun YangKai [this message]
2026-01-30 9:37 ` Sun YangKai
2026-01-30 15:50 ` Sun YangKai
2026-01-30 16:11 ` Filipe Manana
2026-01-31 9:16 ` Sun YangKai
2026-01-30 12:49 ` Filipe Manana
2026-01-30 15:43 ` Boris Burkov
2026-01-30 15:57 ` Filipe Manana
2026-02-03 1:09 ` Leo Martins
2026-01-30 21:43 ` Leo Martins
2026-01-30 22:34 ` Qu Wenruo
2026-01-31 0:11 ` Boris Burkov
2026-01-31 1:06 ` Qu Wenruo
2026-01-31 17:16 ` Boris Burkov
2026-01-31 21:59 ` Qu Wenruo
2026-02-10 7:45 ` kernel test robot
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=df47b1c0-c25e-4501-aaa0-bc73ce1fdc00@gmail.com \
--to=sunk67188@gmail.com \
--cc=fdmanana@kernel.org \
--cc=kernel-team@fb.com \
--cc=linux-btrfs@vger.kernel.org \
--cc=loemra.dev@gmail.com \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
* If your mail client supports setting the In-Reply-To header
via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox