linux-next/fs/btrfs/tests
Josef Bacik ee7cf5cd74 btrfs: selftests: add delayed ref self test cases
The recent fix for a stupid mistake I made uncovered the fact that we
don't have adequate testing in the delayed refs code, as it took a
pretty extensive and long running stress test to uncover something that
a unit test would have uncovered right away.

Fix this by adding a delayed refs self test suite.  This will validate
that the btrfs_ref transformation does the correct thing, that we do the
correct thing when merging delayed refs, and that we get the delayed
refs in the order that we expect.  These are all crucial to how the
delayed refs operate.

I introduced various bugs (including the original bug) into the delayed
refs code to validate that these tests caught all of the shenanigans
that I could think of.

Reviewed-by: Boris Burkov <boris@bur.io>
Signed-off-by: Josef Bacik <josef@toxicpanda.com>
Signed-off-by: David Sterba <dsterba@suse.com>
2024-12-11 05:07:34 +01:00
..
btrfs-tests.c btrfs: selftests: add delayed ref self test cases 2024-12-11 05:07:34 +01:00
btrfs-tests.h btrfs: selftests: add delayed ref self test cases 2024-12-11 05:07:34 +01:00
delayed-refs-tests.c btrfs: selftests: add delayed ref self test cases 2024-12-11 05:07:34 +01:00
extent-buffer-tests.c btrfs: abort transaction on generation mismatch when marking eb as dirty 2023-10-12 16:44:07 +02:00
extent-io-tests.c btrfs: convert find_lock_delalloc_range() to use a folio 2024-09-10 16:51:14 +02:00
extent-map-tests.c btrfs: fix corrupt read due to bad offset of a compressed extent map 2024-07-25 23:54:06 +02:00
free-space-tests.c btrfs: remove use btrfs_remove_free_space_cache instead of variant 2022-09-26 12:27:58 +02:00
free-space-tree-tests.c btrfs: convert btrfs_block_group::needs_free_space to runtime flag 2022-12-05 18:00:51 +01:00
inode-tests.c btrfs: remove extent_map::block_start member 2024-07-11 15:33:21 +02:00
qgroup-tests.c btrfs: use a structure to pass arguments to backref walking functions 2022-12-05 18:00:50 +01:00
raid-stripe-tree-tests.c btrfs: tests: implement case for partial RAID stripe-tree delete 2024-11-11 14:34:19 +01:00