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 a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox