Re: [PATCH 00/31] btrfs: move extent_io_tree code and cleanups

David Sterba
2022-09-07T18:47:45Z

On Fri, Sep 02, 2022 at 04:16:05PM -0400, Josef Bacik wrote:
> Josef Bacik (31):
> btrfs: cleanup clean_io_failure
> btrfs: unexport internal failrec functions
> btrfs: stop using extent_io_tree for io_failure_record's
> btrfs: use find_first_extent_bit in btrfs_clean_io_failure
> btrfs: separate out the extent state and extent buffer init code
> btrfs: separate out the eb and extent state leak helpers
> btrfs: temporarily export alloc_extent_state helpers
> btrfs: move extent state init and alloc functions to their own file
> btrfs: convert BUG_ON(EXTENT_BIT_LOCKED) checks to ASSERT's
> btrfs: move simple extent bit helpers out of extent_io.c
> btrfs: export wait_extent_bit
> btrfs: move the core extent_io_tree code into extent-io-tree.c
> btrfs: remove struct tree_entry
> btrfs: use next_state instead of rb_next where we can
> btrfs: make tree_search return struct extent_state
> btrfs: make tree_search_for_insert return extent_state
> btrfs: make tree_search_prev_next return extent_state's
> btrfs: use next_state/prev_state in merge_state
> btrfs: remove temporary exports for extent_state movement
> btrfs: move irrelevant prototypes to their appropriate header
> btrfs: drop exclusive_bits from set_extent_bit
> btrfs: remove the wake argument from clear_extent_bits
> btrfs: remove failed_start argument from set_extent_bit
> btrfs: drop extent_changeset from set_extent_bit
> btrfs: unify the lock/unlock extent variants
> btrfs: get rid of track_uptodate
> btrfs: get rid of ->dirty_bytes
> btrfs: don't clear CTL bits when trying to release extent state
> btrfs: replace delete argument with EXTENT_CLEAR_ALL_BITS
> btrfs: don't init io tree with private data for non inodes
> btrfs: remove is_data_inode() checks in extent-io-tree.c

The self tests don't pass

[ 13.933867] Btrfs loaded, crc32c=crc32c-generic, debug=on, assert=on, integrity-checker=on, ref-verify=on, zoned=yes, fsverity=yes
[ 13.936232] BTRFS: selftest: sectorsize: 4096 nodesize: 4096
[ 13.937186] BTRFS: selftest: running btrfs free space cache tests
[ 13.938314] BTRFS: selftest: running extent only tests
[ 13.939327] BTRFS: selftest: running bitmap only tests
[ 13.940285] BTRFS: selftest: running bitmap and extent tests
[ 13.941288] BTRFS: selftest: running space stealing from bitmap to extent tests
[ 13.942627] BTRFS: selftest: running bytes index tests
[ 13.943681] BTRFS: selftest: running extent buffer operation tests
[ 13.944868] BTRFS: selftest: running btrfs_split_item tests
[ 13.945641] BTRFS: selftest: running extent I/O tests
[ 13.946662] BTRFS: selftest: running find delalloc tests
[ 14.226329] BTRFS: selftest: running find_first_clear_extent_bit test
[ 14.227517] BTRFS: selftest: fs/btrfs/tests/extent-io-tests.c:528 error finding trimmed range: start 67108864 end 33554431
[ 14.229160] BTRFS: selftest: io tree content:
[ 14.229873] BTRFS: selftest: start=1048576 len=3145728 flags=DIRTY|DEFRAG
[ 14.231208] BTRFS: selftest: start=33554432 len=33554432 flags=DIRTY|DEFRAG