[GIT PULL] Btrfs fixes for 6.6-rc3

From: David Sterba
Date: Wed Sep 20 2023 - 13:44:45 EST


Hi,

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.

Please pull, thanks.

- directory listing fixes
- 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

- 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

----------------------------------------------------------------
The following changes since commit 5facccc9402301d67d48bef06159b91f7e41efc0:

MAINTAINERS: remove links to obsolete btrfs.wiki.kernel.org (2023-09-08 14:21:27 +0200)

are available in the Git repository at:

git://git.kernel.org/pub/scm/linux/kernel/git/kdave/linux.git tags/for-6.6-rc2-tag

for you to fetch changes up to 8e7f82deb0c0386a03b62e30082574347f8b57d5:

btrfs: fix race between reading a directory and adding entries to it (2023-09-14 23:24:42 +0200)

----------------------------------------------------------------
Bernd Schubert (1):
btrfs: file_remove_privs needs an exclusive lock in direct io write

Filipe Manana (3):
btrfs: set last dir index to the current last index when opening dir
btrfs: refresh dir last index during a rewinddir(3) call
btrfs: fix race between reading a directory and adding entries to it

Josef Bacik (1):
btrfs: don't clear uptodate on write errors

Matthew Wilcox (Oracle) (1):
btrfs: convert btrfs_read_merkle_tree_page() to use a folio

fs/btrfs/extent_io.c | 9 +-------
fs/btrfs/file.c | 16 +++++++++++--
fs/btrfs/inode.c | 33 +++++++++++++++++++--------
fs/btrfs/verity.c | 64 +++++++++++++++++++++++++---------------------------
4 files changed, 69 insertions(+), 53 deletions(-)