[<prev] [next>] [thread-next>] [day] [month] [year] [list]
Message-ID: <20240814-vfs-fixes-93bdbd119998@brauner>
Date: Wed, 14 Aug 2024 15:29:46 +0200
From: Christian Brauner <brauner@...nel.org>
To: Linus Torvalds <torvalds@...ux-foundation.org>
Cc: Christian Brauner <brauner@...nel.org>,
linux-fsdevel@...r.kernel.org,
linux-kernel@...r.kernel.org
Subject: [GIT PULL] vfs fixes
/* Summary */
This contains fixes for this merge window:
VFS:
- Fix the name of file lease slab cache. When file leases were split out of
file locks the name of the file lock slab cache was used for the file leases
slab cache as well.
- Fix a type in take_fd() helper.
- Fix infinite directory iteration for stable offsets in tmpfs.
- When the icache is pruned all reclaimable inodes are marked with I_FREEING
and other processes that try to lookup such inodes will block.
But some filesystems like ext4 can trigger lookups in their inode evict
callback causing deadlocks. Ext4 does such lookups if the ea_inode feature is
used whereby a separate inode may be used to store xattrs.
Introduce I_LRU_ISOLATING which pins the inode while its pages are
reclaimed. This avoids inode deletion during inode_lru_isolate() avoiding the
deadlock and evict is made to wait until I_LRU_ISOLATING is done.
netfs:
- Fault in smaller chunks for non-large folio mappings for filesystems that
haven't been converted to large folios yet.
- Fix the CONFIG_NETFS_DEBUG config option. The config option was renamed a
short while ago and that introduced two minor issues. First, it depended on
CONFIG_NETFS whereas it wants to depend on CONFIG_NETFS_SUPPORT. The former
doesn't exist, while the latter does. Second, the documentation for the
config option wasn't fixed up.
- Revert the removal of the PG_private_2 writeback flag as ceph is using it and
fix how that flag is handled in netfs.
- Fix DIO reads on 9p. A program watching a file on a 9p mount wouldn't see any
changes in the size of the file being exported by the server if the file was
changed directly in the source filesystem. Fix this by attempting to read the
full size specified when a DIO read is requested.
- Fix a NULL pointer dereference bug due to a data race where a cachefiles
cookies was retired even though it was still in use. Check the cookie's
n_accesses counter before discarding it.
nsfs:
- Fix ioctl declaration for NS_GET_MNTNS_ID from _IO() to _IOR() as the kernel
is writing to userspace.
pidfs:
- Prevent the creation of pidfds for kthreads until we have a use-case for it
and we know the semantics we want. It also confuses userspace why they can
get pidfds for kthreads.
squashfs:
- Fix an unitialized value bug reported by KMSAN caused by a corrupted symbolic
link size read from disk. Check that the symbolic link size is not larger
than expected.
The following changes since commit 8400291e289ee6b2bf9779ff1c83a291501f017b:
Linux 6.11-rc1 (2024-07-28 14:19:55 -0700)
are available in the Git repository at:
git@...olite.kernel.org:pub/scm/linux/kernel/git/vfs/vfs tags/vfs-6.11-rc4.fixes
for you to fetch changes up to 810ee43d9cd245d138a2733d87a24858a23f577d:
Squashfs: sanity check symbolic link size (2024-08-13 13:56:46 +0200)
----------------------------------------------------------------
vfs-6.11-rc4.fixes
----------------------------------------------------------------
Christian Brauner (2):
nsfs: fix ioctl declaration
pidfd: prevent creation of pidfds for kthreads
David Howells (2):
netfs, ceph: Revert "netfs: Remove deprecated use of PG_private_2 as a second writeback flag"
netfs: Fix handling of USE_PGPRIV2 and WRITE_TO_CACHE flags
Dominique Martinet (1):
9p: Fix DIO read through netfs
Lukas Bulwahn (1):
netfs: clean up after renaming FSCACHE_DEBUG config
Mathias Krause (1):
file: fix typo in take_fd() comment
Matthew Wilcox (Oracle) (1):
netfs: Fault in smaller chunks for non-large folio mappings
Max Kellermann (1):
fs/netfs/fscache_cookie: add missing "n_accesses" check
Omar Sandoval (1):
filelock: fix name of file_lease slab cache
Phillip Lougher (1):
Squashfs: sanity check symbolic link size
Zhihao Cheng (1):
vfs: Don't evict inode under the inode lru traversing context
yangerkun (1):
libfs: fix infinite directory reads for offset dir
Documentation/filesystems/caching/fscache.rst | 8 +-
fs/9p/vfs_addr.c | 3 +-
fs/afs/file.c | 3 +-
fs/ceph/addr.c | 28 ++++-
fs/ceph/inode.c | 2 -
fs/inode.c | 39 ++++++-
fs/libfs.c | 35 ++++--
fs/locks.c | 2 +-
fs/netfs/Kconfig | 2 +-
fs/netfs/buffered_read.c | 123 +++++++++++++++++---
fs/netfs/buffered_write.c | 2 +-
fs/netfs/fscache_cookie.c | 4 +
fs/netfs/io.c | 161 +++++++++++++++++++++++++-
fs/netfs/objects.c | 10 --
fs/netfs/write_issue.c | 4 +-
fs/nfs/fscache.c | 5 +-
fs/nfs/fscache.h | 2 -
fs/smb/client/file.c | 3 +-
fs/squashfs/inode.c | 7 +-
include/linux/file.h | 2 +-
include/linux/fs.h | 5 +
include/linux/netfs.h | 3 -
include/trace/events/netfs.h | 2 +
include/uapi/linux/nsfs.h | 3 +-
kernel/fork.c | 25 +++-
25 files changed, 412 insertions(+), 71 deletions(-)
Powered by blists - more mailing lists