[GIT PULL] vfs fixes

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



/* 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@xxxxxxxxxxxxxxxxxxx: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(-)




[Index of Archives]     [Linux Ext4 Filesystem]     [Union Filesystem]     [Filesystem Testing]     [Ceph Users]     [Ecryptfs]     [NTFS 3]     [AutoFS]     [Kernel Newbies]     [Share Photos]     [Security]     [Netfilter]     [Bugtraq]     [Yosemite News]     [MIPS Linux]     [ARM Linux]     [Linux Security]     [Linux Cachefs]     [Reiser Filesystem]     [Linux RAID]     [NTFS 3]     [Samba]     [Device Mapper]     [CEPH Development]

  Powered by Linux