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, 18 Jan 2025 13:58:51 +0100 [thread overview]
Message-ID: <20250118-vfs-misc-84fb5265d102@brauner> (raw)
Hey Linus,
/* Summary */
Features:
- Support caching symlink lengths in inodes.
The size is stored in a new union utilizing the same space as
i_devices, thus avoiding growing the struct or taking up any more
space.
When utilized it dodges strlen() in vfs_readlink(), giving about 1.5%
speed up when issuing readlink on /initrd.img on ext4.
- Add RWF_DONTCACHE iocb and FOP_DONTCACHE file_operations flag.
If a file system supports uncached buffered IO, it may set
FOP_DONTCACHE and enable support for RWF_DONTCACHE. If RWF_DONTCACHE
is attempted without the file system supporting it, it'll get errored
with -EOPNOTSUPP.
- Enable VBOXGUEST and VBOXSF_FS on ARM64
Now that VirtualBox is able to run as a host on arm64 (e.g. the Apple
M3 processors) we can enable VBOXSF_FS (and in turn VBOXGUEST) for
this architecture. Tested with various runs of bonnie++ and dbench on
an Apple MacBook Pro with the latest Virtualbox 7.1.4 r165100
installed.
Cleanups:
- Delay sysctl_nr_open check in expand_files().
- Use kernel-doc includes in fiemap docbook.
- Use page->private instead of page->index in watch_queue.
- Use a consume fence in mnt_idmap() as it's heavily used in
link_path_walk().
- Replace magic number 7 with ARRAY_SIZE() in fc_log.
- Sort out a stale comment about races between fd alloc and dup2().
- Fix return type of do_mount() from long to int.
- Various cosmetic cleanups for the lockref code.
Fixes:
- Annotate spinning as unlikely() in __read_seqcount_begin.
The annotation already used to be there, but got lost in
52ac39e5db5148f7 ("seqlock: seqcount_t: Implement all read APIs as
statement expressions").
- Fix proc_handler for sysctl_nr_open.
- Flush delayed work in delayed fput().
- Fix grammar and spelling in propagate_umount().
- Fix ESP not readable during coredump.
In /proc/PID/stat, there is the kstkesp field which is the stack
pointer of a thread. While the thread is active, this field reads
zero. But during a coredump, it should have a valid value.
However, at the moment, kstkesp is zero even during coredump.
- Don't wake up the writer if the pipe is still full.
- Fix unbalanced user_access_end() in select code.
/* 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
=============================
No known conflicts.
Merge conflicts with other trees
================================
No known conflicts.
The following changes since commit 40384c840ea1944d7c5a392e8975ed088ecf0b37:
Linux 6.13-rc1 (2024-12-01 14:28:56 -0800)
are available in the Git repository at:
git@gitolite.kernel.org:pub/scm/linux/kernel/git/vfs/vfs tags/vfs-6.14-rc1.misc
for you to fetch changes up to c859df526b203497227b2b16c9bebcede67221e4:
Merge patch series "lockref cleanups" (2025-01-16 11:48:12 +0100)
Please consider pulling these changes from the signed vfs-6.14-rc1.misc tag.
Thanks!
Christian
----------------------------------------------------------------
vfs-6.14-rc1.misc
----------------------------------------------------------------
Christian Brauner (4):
Merge patch series "symlink length caching"
Merge branch 'vfs-6.14.uncached_buffered_io'
Merge patch series "fix reading ESP during coredump"
Merge patch series "lockref cleanups"
Christian Kujau (1):
vbox: Enable VBOXGUEST and VBOXSF_FS on ARM64
Christoph Hellwig (8):
lockref: remove lockref_put_not_zero
lockref: improve the lockref_get_not_zero description
lockref: use bool for false/true returns
lockref: drop superfluous externs
lockref: add a lockref_init helper
dcache: use lockref_init for d_lockref
erofs: use lockref_init for pcl->lockref
gfs2: use lockref_init for qd_lockref
Christophe Leroy (1):
select: Fix unbalanced user_access_end()
Guo Weikang (1):
fs: fc_log replace magic number 7 with ARRAY_SIZE()
Jens Axboe (1):
fs: add RWF_DONTCACHE iocb and FOP_DONTCACHE file_operations flag
Jinliang Zheng (1):
fs: fix proc_handler for sysctl_nr_open
Mateusz Guzik (7):
fs: delay sysctl_nr_open check in expand_files()
vfs: support caching symlink lengths in inodes
seqlock: annotate spinning as unlikely() in __read_seqcount_begin
ext4: use inode_set_cached_link()
tmpfs: use inode_set_cached_link()
fs: use a consume fence in mnt_idmap()
fs: sort out a stale comment about races between fd alloc and dup2
Matthew Wilcox (Oracle) (1):
watch_queue: Use page->private instead of page->index
Nam Cao (2):
fs/proc: do_task_stat: Fix ESP not readable during coredump
selftests: coredump: Add stackdump test
Oleg Nesterov (1):
pipe_read: don't wake up the writer if the pipe is still full
Randy Dunlap (1):
fiemap: use kernel-doc includes in fiemap docbook
Sentaro Onizuka (1):
fs: Fix return type of do_mount() from long to int
Zhu Jun (1):
fs: Fix grammar and spelling in propagate_umount()
shao mingyin (1):
file: flush delayed work in delayed fput()
Documentation/filesystems/fiemap.rst | 49 +++----
drivers/virt/vboxguest/Kconfig | 2 +-
fs/dcache.c | 3 +-
fs/erofs/zdata.c | 3 +-
fs/ext4/inode.c | 3 +-
fs/ext4/namei.c | 4 +-
fs/file.c | 22 +---
fs/file_table.c | 7 +-
fs/fs_context.c | 2 +-
fs/gfs2/quota.c | 3 +-
fs/namei.c | 34 ++---
fs/namespace.c | 2 +-
fs/pipe.c | 19 +--
fs/pnode.c | 8 +-
fs/proc/array.c | 2 +-
fs/proc/namespaces.c | 2 +-
fs/select.c | 4 +-
fs/vboxsf/Kconfig | 2 +-
include/linux/fiemap.h | 16 ++-
include/linux/fs.h | 29 ++++-
include/linux/lockref.h | 26 ++--
include/linux/mount.h | 4 +-
include/linux/seqlock.h | 2 +-
include/uapi/linux/fiemap.h | 47 +++++--
include/uapi/linux/fs.h | 6 +-
kernel/watch_queue.c | 4 +-
lib/lockref.c | 60 +++------
mm/shmem.c | 6 +-
security/apparmor/apparmorfs.c | 2 +-
tools/testing/selftests/coredump/Makefile | 7 +
tools/testing/selftests/coredump/README.rst | 50 +++++++
tools/testing/selftests/coredump/stackdump | 14 ++
tools/testing/selftests/coredump/stackdump_test.c | 151 ++++++++++++++++++++++
33 files changed, 415 insertions(+), 180 deletions(-)
create mode 100644 tools/testing/selftests/coredump/Makefile
create mode 100644 tools/testing/selftests/coredump/README.rst
create mode 100755 tools/testing/selftests/coredump/stackdump
create mode 100644 tools/testing/selftests/coredump/stackdump_test.c
next reply other threads:[~2025-01-18 12:59 UTC|newest]
Thread overview: 18+ messages / expand[flat|nested] mbox.gz Atom feed top
2025-01-18 12:58 Christian Brauner [this message]
2025-01-20 18:59 ` [GIT PULL] vfs misc pr-tracker-bot
-- strict thread matches above, loose matches on Subject: below --
2025-03-22 10:12 Christian Brauner
2025-03-24 16:20 ` Linus Torvalds
2025-03-24 17:09 ` Mateusz Guzik
2025-03-24 21:00 ` 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=20250118-vfs-misc-84fb5265d102@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 an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.