• Linus Torvalds's avatar
    Merge tag 'for-6.6-rc2-tag' of git://git.kernel.org/pub/scm/linux/kernel/git/kdave/linux · a229cf67
    Linus Torvalds authored
    Pull btrfs fixes from David Sterba:
     "A few more followup fixes to the directory listing.
    
      People have noticed different behaviour compared to other filesystems
      after changes in 6.5. This is now unified to more "logical" and
      expected behaviour while still within POSIX. And a few more fixes for
      stable.
    
       - change behaviour of readdir()/rewinddir() when new directory
         entries are created after opendir(), properly tracking the last
         entry
    
       - fix race in readdir when multiple threads can set the last entry
         index for a directory
    
      Additionally:
    
       - use exclusive lock when direct io might need to drop privs and call
         notify_change()
    
       - don't clear uptodate bit on page after an error, this may lead to a
         deadlock in subpage mode
    
       - fix waiting pattern when multiple readers block on Merkle tree
         data, switch to folios"
    
    * tag 'for-6.6-rc2-tag' of git://git.kernel.org/pub/scm/linux/kernel/git/kdave/linux:
      btrfs: fix race between reading a directory and adding entries to it
      btrfs: refresh dir last index during a rewinddir(3) call
      btrfs: set last dir index to the current last index when opening dir
      btrfs: don't clear uptodate on write errors
      btrfs: file_remove_privs needs an exclusive lock in direct io write
      btrfs: convert btrfs_read_merkle_tree_page() to use a folio
    a229cf67
inode.c 312 KB