• Linus Torvalds's avatar
    Merge tag 'for-6.10-rc7-tag' of git://git.kernel.org/pub/scm/linux/kernel/git/kdave/linux · 975f3b6d
    Linus Torvalds authored
    Pull btrfs fixes from David Sterba:
     "Fix a regression in extent map shrinker behaviour.
    
      In the past weeks we got reports from users that there are huge
      latency spikes or freezes. This was bisected to newly added shrinker
      of extent maps (it was added to fix a build up of the structures in
      memory).
    
      I'm assuming that the freezes would happen to many users after release
      so I'd like to get it merged now so it's in 6.10. Although the diff
      size is not small the changes are relatively straightforward, the
      reporters verified the fixes and we did testing on our side.
    
      The fixes:
    
       - adjust behaviour under memory pressure and check lock or scheduling
         conditions, bail out if needed
    
       - synchronize tracking of the scanning progress so inode ranges are
         not skipped or work duplicated
    
       - do a delayed iput when scanning a root so evicting an inode does
         not slow things down in case of lots of dirty data, also fix
         lockdep warning, a deadlock could happen when writing the dirty
         data would need to start a transaction"
    
    * tag 'for-6.10-rc7-tag' of git://git.kernel.org/pub/scm/linux/kernel/git/kdave/linux:
      btrfs: avoid races when tracking progress for extent map shrinking
      btrfs: stop extent map shrinker if reschedule is needed
      btrfs: use delayed iput during extent map shrinking
    975f3b6d
btrfs.h 71 KB