diff options
author | Kent Overstreet <kent.overstreet@linux.dev> | 2024-09-23 22:32:58 -0400 |
---|---|---|
committer | Kent Overstreet <kent.overstreet@linux.dev> | 2024-09-27 21:46:35 -0400 |
commit | 3672bda8f5edd8ed23c745965500ceb53286d48d (patch) | |
tree | f97788d47e10a05a0ca5f15ec37629eef6f6d1b3 /tools/perf/scripts/python/arm-cs-trace-disasm.py | |
parent | 22a507d68eb8dc9d05b7e91e9a7c9b2566d48c81 (diff) |
bcachefs: fix transaction restart handling in check_extents(), check_dirents()
Dealing with outside state within a btree transaction is always tricky.
check_extents() and check_dirents() have to accumulate counters for
i_sectors and i_nlink (for subdirectories). There were two bugs:
- transaction commit may return a restart; therefore we have to commit
before accumulating to those counters
- get_inode_all_snapshots() may return a transaction restart, before
updating w->last_pos; then, on the restart,
check_i_sectors()/check_subdir_count() would see inodes that were not
for w->last_pos
Signed-off-by: Kent Overstreet <kent.overstreet@linux.dev>
Diffstat (limited to 'tools/perf/scripts/python/arm-cs-trace-disasm.py')
0 files changed, 0 insertions, 0 deletions