From: Christian Brauner <brauner@kernel.org>
To: Linus Torvalds <torvalds@linux-foundation.org>
Cc: Christian Brauner <brauner@kernel.org>,
linux-fsdevel@vger.kernel.org, linux-kernel@vger.kernel.org
Subject: [GIT PULL] vfs misc
Date: Sat, 22 Mar 2025 11:12:49 +0100 [thread overview]
Message-ID: <20250321-vfs-misc-77bd9633b854@brauner> (raw)
Hey Linus,
/* Summary */
Features:
- Add CONFIG_DEBUG_VFS infrastucture:
- Catch invalid modes in open.
- Use the new debug macros in inode_set_cached_link().
- Use debug-only asserts around fd allocation and install.
- Place f_ref to 3rd cache line in struct file to resolve false sharing.
Cleanups:
- Start using anon_inode_getfile_fmode() helper in various places.
- Don't take f_lock during SEEK_CUR if exclusion is guaranteed by f_pos_lock.
- Add unlikely() to kcmp().
- Remove legacy ->remount_fs method from ecryptfs after port to the new mount api.
- Remove invalidate_inodes() in favour of evict_inodes().
- Simplify ep_busy_loopER by removing unused argument.
- Avoid mmap sem relocks when coredumping with many missing pages.
- Inline getname().
- Inline new_inode_pseudo() and de-staticize alloc_inode().
- Dodge an atomic in putname if ref == 1.
- Consistently deref the files table with rcu_dereference_raw().
- Dedup handling of struct filename init and refcounts bumps.
- Use wq_has_sleeper() in end_dir_add().
- Drop the lock trip around I_NEW wake up in evict().
- Load the ->i_sb pointer once in inode_sb_list_{add,del}.
- Predict not reaching the limit in alloc_empty_file().
- Tidy up do_sys_openat2() with likely/unlikely.
- Call inode_sb_list_add() outside of inode hash lock.
- Sort out fd allocation vs dup2 race commentary.
- Turn page_offset() into a wrapper around folio_pos().
- Remove locking in exportfs around ->get_parent() call.
- try_lookup_one_len() does not need any locks in autofs.
- Fix return type of several functions from long to int in open.
- Fix return type of several functions from long to int in ioctls.
Fixes:
- Fix watch queue accounting mismatch.
/* Testing */
gcc version 14.2.0 (Debian 14.2.0-6)
Debian clang version 16.0.6 (27+b1)
No build failures or warnings were observed.
/* Conflicts */
Merge conflicts with mainline
=============================
This contains a minor merge conflict for include/linux/fs.h.
Merge conflicts with other trees
================================
No known conflicts.
The following changes since commit 2014c95afecee3e76ca4a56956a936e23283f05b:
Linux 6.14-rc1 (2025-02-02 15:39:26 -0800)
are available in the Git repository at:
git@gitolite.kernel.org:pub/scm/linux/kernel/git/vfs/vfs tags/vfs-6.15-rc1.misc
for you to fetch changes up to 4dec4f91359c456a5eea26817ea151b42953432e:
fs: sort out fd allocation vs dup2 race commentary, take 2 (2025-03-20 15:17:56 +0100)
Please consider pulling these changes from the signed vfs-6.15-rc1.misc tag.
Thanks!
Christian
----------------------------------------------------------------
vfs-6.15-rc1.misc
----------------------------------------------------------------
Al Viro (1):
make use of anon_inode_getfile_fmode()
Christian Brauner (3):
Merge patch series "CONFIG_DEBUG_VFS at last"
Merge patch series "Fix the return type of several functions from long to int"
fs: don't needlessly acquire f_lock
Colin Ian King (1):
kcmp: improve performance adding an unlikely hint to task comparisons
Eric Sandeen (2):
watch_queue: fix pipe accounting mismatch
ecryptfs: remove NULL remount_fs from super_operations
Jan Kara (1):
vfs: Remove invalidate_inodes()
Lin Feng (1):
epoll: simplify ep_busy_loop by removing always 0 argument
Mateusz Guzik (17):
vfs: add initial support for CONFIG_DEBUG_VFS
vfs: catch invalid modes in may_open()
vfs: use the new debug macros in inode_set_cached_link()
fs: avoid mmap sem relocks when coredumping with many missing pages
vfs: inline getname()
vfs: inline new_inode_pseudo() and de-staticize alloc_inode()
fs: dodge an atomic in putname if ref == 1
fs: use debug-only asserts around fd allocation and install
fs: consistently deref the files table with rcu_dereference_raw()
fs: dedup handling of struct filename init and refcounts bumps
fs: use wq_has_sleeper() in end_dir_add()
fs: drop the lock trip around I_NEW wake up in evict()
fs: load the ->i_sb pointer once in inode_sb_list_{add,del}
fs: predict not reaching the limit in alloc_empty_file()
fs: tidy up do_sys_openat2() with likely/unlikely
fs: call inode_sb_list_add() outside of inode hash lock
fs: sort out fd allocation vs dup2 race commentary, take 2
Matthew Wilcox (Oracle) (1):
fs: Turn page_offset() into a wrapper around folio_pos()
NeilBrown (2):
exportfs: remove locking around ->get_parent() call.
VFS/autofs: try_lookup_one_len() does not need any locks
Pan Deng (1):
fs: place f_ref to 3rd cache line in struct file to resolve false sharing
Yuichiro Tsuji (2):
open: Fix return type of several functions from long to int
ioctl: Fix return type of several functions from long to int
Documentation/filesystems/porting.rst | 5 ++
arch/arm64/kernel/elfcore.c | 3 +-
arch/powerpc/platforms/pseries/papr-vpd.c | 7 +-
drivers/vfio/group.c | 16 +---
fs/autofs/dev-ioctl.c | 3 -
fs/cachefiles/ondemand.c | 7 +-
fs/coredump.c | 38 +++++++--
fs/dcache.c | 3 +-
fs/ecryptfs/super.c | 1 -
fs/eventfd.c | 5 +-
fs/eventpoll.c | 8 +-
fs/exportfs/expfs.c | 2 -
fs/file.c | 81 +++++++++++++------
fs/file_table.c | 3 +-
fs/inode.c | 127 +++++++++++-------------------
fs/internal.h | 6 +-
fs/ioctl.c | 10 +--
fs/namei.c | 42 +++++-----
fs/open.c | 29 +++----
fs/read_write.c | 13 ++-
fs/signalfd.c | 7 +-
fs/smb/client/file.c | 2 +-
fs/super.c | 2 +-
fs/timerfd.c | 6 +-
include/linux/fs.h | 36 ++++++---
include/linux/mm.h | 2 +-
include/linux/pagemap.h | 20 ++---
include/linux/syscalls.h | 4 +-
include/linux/vfsdebug.h | 45 +++++++++++
kernel/auditsc.c | 12 ++-
kernel/kcmp.c | 2 +-
kernel/watch_queue.c | 9 +++
lib/Kconfig.debug | 9 +++
mm/gup.c | 6 +-
security/landlock/fs.c | 2 +-
virt/kvm/kvm_main.c | 11 +--
36 files changed, 339 insertions(+), 245 deletions(-)
create mode 100644 include/linux/vfsdebug.h
next reply other threads:[~2025-03-22 10:13 UTC|newest]
Thread overview: 18+ messages / expand[flat|nested] mbox.gz Atom feed top
2025-03-22 10:12 Christian Brauner [this message]
2025-03-24 16:20 ` [GIT PULL] vfs misc Linus Torvalds
2025-03-24 17:09 ` Mateusz Guzik
2025-03-24 21:00 ` pr-tracker-bot
-- strict thread matches above, loose matches on Subject: below --
2025-01-18 12:58 Christian Brauner
2025-01-20 18:59 ` pr-tracker-bot
2024-11-15 13:56 Christian Brauner
2024-11-18 19:49 ` pr-tracker-bot
2024-09-13 14:41 Christian Brauner
2024-09-16 7:34 ` pr-tracker-bot
2024-05-10 11:46 Christian Brauner
2024-05-13 19:38 ` pr-tracker-bot
2024-03-08 10:09 Christian Brauner
2024-03-11 18:33 ` pr-tracker-bot
2023-06-23 11:01 [GIT PULL] vfs: misc Christian Brauner
2023-06-26 17:34 ` pr-tracker-bot
2020-06-10 20:30 [git pull] vfs misc Al Viro
2020-06-11 1:50 ` pr-tracker-bot
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=20250321-vfs-misc-77bd9633b854@brauner \
--to=brauner@kernel.org \
--cc=linux-fsdevel@vger.kernel.org \
--cc=linux-kernel@vger.kernel.org \
--cc=torvalds@linux-foundation.org \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
* If your mail client supports setting the In-Reply-To header
via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).