From: Zygo Blaxell Date: Mon, 21 Sep 2026 14:45:49 +0000 (-0400) Subject: Merge branches (11 topics incl. logical-ino-costs) into misc-next/testing X-Git-Url: http://git.hungrycats.org/cgi-bin/gitweb.cgi?a=commitdiff_plain;h=refs%2Fheads%2Fmisc-next%2Ftesting;p=linux Merge branches (11 topics incl. logical-ino-costs) into misc-next/testing 2026-09-21: misc-next/topics/logical-ino-costs combines the former backref-hang, delayed-ref-fixes and logical-ino topics into one three-patch series (reducing LOGICAL_INO costs): the add_all_parents() rewind-cycle hang, the quadratic delayed-ref merge walk, and BTRFS_LOGICAL_INO_ARGS_COMMIT_ROOT. Tree unchanged by the restructure. topics/stripe-alloc is the 2026-09-19 restructure: nine folds, the mount option erased from history, the property patch moved to #4, plus system chunks under stripe_meta (65 patches). --- ae4c312d2b4ee563268debcfdfe2dd7ab7b25159 diff --cc fs/btrfs/block-group.c index e6080cb47c895,e6080cb47c895,e6080cb47c895,e6080cb47c895,e6080cb47c895,e6080cb47c895,ed9c15d8ac6a2,e6080cb47c895,e6080cb47c895,e6080cb47c895,e6080cb47c895,baf13ed29bffc..cb8d53b678b07 --- a/fs/btrfs/block-group.c +++ b/fs/btrfs/block-group.c @@@@@@@@@@@@@ -3195,6 -3195,6 -3195,6 -3195,6 -3195,6 -3195,6 -3250,8 -3195,6 -3195,6 -3195,6 -3195,6 -6005,14 +6060,16 @@@@@@@@@@@@@ unlock_out mutex_unlock(&fs_info->ro_block_group_mutex); btrfs_end_transaction(trans); - if (ret) +++++++++++ /* +++++++++++ * The group is read-only: close and drain its open stripe runs. An +++++++++++ * allocation racing with the read-only transition either installed +++++++++++ * its run before this (closed and drained here), or observes ->ro +++++++++++ * under the stripe_run_lock and backs out. +++++++++++ */ +++++++++++ if (!ret) +++++++++++ btrfs_retire_block_group_stripes(cache); ++++++++++++ else ++++++ +++++ btrfs_bg_unblock_nocow(cache); return ret; } diff --cc fs/btrfs/raid56.c index 8ec24dbb180f9,8ec24dbb180f9,8ec24dbb180f9,8ec24dbb180f9,8ec24dbb180f9,8ec24dbb180f9,8ec24dbb180f9,8ec24dbb180f9,8ec24dbb180f9,b3afc1883a5a6,8ec24dbb180f9,38f68e06ae285..3a29878594eef --- a/fs/btrfs/raid56.c +++ b/fs/btrfs/raid56.c @@@@@@@@@@@@@ -1898,6 -1898,6 -1898,6 -1898,6 -1898,6 -1898,6 -1898,6 -1898,6 -1898,6 -2156,12 -1898,6 -2330,7 +2588,12 @@@@@@@@@@@@@ static int verify_one_sector(struct btr /* No way to verify P/Q as they are not covered by data csum. */ if (stripe_nr >= rbio->nr_data) return 0; +++++++++ + +++++++++ ++ /* No csum for this sector, nothing to verify against. */ +++++++++ ++ if (!test_bit(stripe_nr * rbio->stripe_nsectors + sector_nr, +++++++++ ++ rbio->csum_bitmap)) +++++++++ ++ return 0; +++++++++ ++ /* * If we're rebuilding a read, we have to use pages from the * bio list if possible. diff --cc fs/btrfs/raid56.h index 8542648199f1a,8542648199f1a,8542648199f1a,8542648199f1a,8542648199f1a,8542648199f1a,8542648199f1a,8542648199f1a,8542648199f1a,c7c4b0db61f4c,8542648199f1a,ca15c45f8f4be..cff1a200f3bcf --- a/fs/btrfs/raid56.h +++ b/fs/btrfs/raid56.h @@@@@@@@@@@@@ -287,5 -287,5 -287,5 -287,5 -287,5 -287,5 -287,5 -287,5 -287,5 -295,6 -287,5 -298,7 +306,8 @@@@@@@@@@@@@ void raid56_parity_cache_data_folios(st int btrfs_alloc_stripe_hash_table(struct btrfs_fs_info *info); void btrfs_free_stripe_hash_table(struct btrfs_fs_info *info); +++++++++ ++void btrfs_raid56_uncache_range(struct btrfs_fs_info *info, u64 start, u64 len); +++++++++++ void btrfs_flush_parked_rbios(struct btrfs_fs_info *fs_info, u64 start, +++++++++++ u64 num_bytes, bool force); #endif