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: Fri, 10 May 2024 13:46:24 +0200 [thread overview]
Message-ID: <20240510-vfs-misc-22ed27ba6cd7@brauner> (raw)
Hey Linus,
/* Summary */
This contains the usual miscellaneous features, cleanups, and fixes for
vfs and individual fses.
Features
========
* Free up FMODE_* bits. I've freed up bits 6, 7, 8, and 24. That means
we now have six free FMODE_* bits in total.
* Add FOP_HUGE_PAGES flag (follow-up to FMODE_* cleanup).
* Add fd_raw cleanup class so we can make use of automatic cleanup
provided by CLASS(fd_raw, f)(fd) for O_PATH fds as well.
* Optimize seq_puts().
* Simplify __seq_puts().
* Add new anon_inode_getfile_fmode() api to allow specifying f_mode
instead of open-coding it in multiple places.
* Annotate struct file_handle with __counted_by() and use struct_size().
* Warn in get_file() whether f_count resurrection from zero is
attempted (epoll/drm discussion).
* Folio-sophize aio.
* Export the subvolume id in statx() for both btrfs and bcachefs.
* Relax linkat(AT_EMPTY_PATH) requirements.
* Add F_DUPFD_QUERY fcntl() allowing to compare two file descriptors for
dup*() equality replacing kcmp().
Cleanups
========
* Compile out swapfile inode checks when swap isn't enabled.
* Use (0 << n) notation for FMODE_* bitshifts for clarity.
* Remove redundant variable assignment in fs/direct-io
* Cleanup uses of strncpy in orangefs.
* Speed up and cleanup writeback.
* Move fsparam_string_empty() helper into header since it's currently
open-coded in multiple places.
* Add kernel-doc comments to proc_create_net_data_write().
* Don't needlessly read dentry->d_flags twice.
Fixes
=====
* Fix out-of-range warning in nilfs2.
* Fix ecryptfs overflow due to wrong encryption packet size calculation.
* Fix overly long line in xfs file_operations.
(follow-up to FMODE_* cleanup)
* Don't raise FOP_BUFFER_{R,W}ASYNC for directories in xfs.
(follow-up to FMODE_* cleanup)
* Don't call xfs_file_open from xfs_dir_open (follow-up to FMODE_* cleanup)
* Fix stable offset api to prevent endless loops.
* Fix afs file server rotations.
* Prevent xattr node from overflowing the eraseblock in jffs2.
* Move fdinfo PTRACE_MODE_READ procfs check into the inode .permission operation
instead of open operation since this causes userspace regressions.
/* Testing */
clang: Debian clang version 16.0.6 (26)
gcc: (Debian 13.2.0-24)
All patches are based on v6.9-rc1 and have been sitting in linux-next.
No build failures or warnings were observed.
/* Conflicts */
Merge conflicts with other trees
================================
[1] linux-next: manual merge of the vfs-brauner tree with the ext4 tree
https://lore.kernel.org/linux-next/20240508103436.589bb440@canb.auug.org.au
[2] linux-next: manual merge of the block tree with the vfs-brauner, vfs trees
https://lore.kernel.org/linux-next/20240416124426.624cfaf9@canb.auug.org.au
[3] linux-next: manual merge of the block tree with the vfs-brauner tree
https://lore.kernel.org/linux-next/20240402112137.1ee85957@canb.auug.org.au
Merge conflicts with mainline
=============================
There'll be a merge conflict with mainline stemming from the addition of
FMODE_WRITE_RESTRICTED and the conversion of FMODE_* flags to (1 << n)
bit shitfs. The conflict can be resolved as follows:
diff --cc include/linux/fs.h
index 8dfd53b52744,5b351c1e6f58..000000000000
--- a/include/linux/fs.h
+++ b/include/linux/fs.h
@@@ -110,23 -110,24 +110,26 @@@ typedef int (dio_iodone_t)(struct kioc
*/
/* file is open for reading */
- #define FMODE_READ ((__force fmode_t)0x1)
+ #define FMODE_READ ((__force fmode_t)(1 << 0))
/* file is open for writing */
- #define FMODE_WRITE ((__force fmode_t)0x2)
+ #define FMODE_WRITE ((__force fmode_t)(1 << 1))
/* file is seekable */
- #define FMODE_LSEEK ((__force fmode_t)0x4)
+ #define FMODE_LSEEK ((__force fmode_t)(1 << 2))
/* file can be accessed using pread */
- #define FMODE_PREAD ((__force fmode_t)0x8)
+ #define FMODE_PREAD ((__force fmode_t)(1 << 3))
/* file can be accessed using pwrite */
- #define FMODE_PWRITE ((__force fmode_t)0x10)
+ #define FMODE_PWRITE ((__force fmode_t)(1 << 4))
/* File is opened for execution with sys_execve / sys_uselib */
- #define FMODE_EXEC ((__force fmode_t)0x20)
+ #define FMODE_EXEC ((__force fmode_t)(1 << 5))
+/* File writes are restricted (block device specific) */
- #define FMODE_WRITE_RESTRICTED ((__force fmode_t)0x40)
++#define FMODE_WRITE_RESTRICTED ((__force fmode_t)(1 << 6))
+
-/* FMODE_* bits 6 to 8 */
++/* FMODE_* bits 7 to 8 */
+
/* 32bit hashes as llseek() offset (for directories) */
- #define FMODE_32BITHASH ((__force fmode_t)0x200)
+ #define FMODE_32BITHASH ((__force fmode_t)(1 << 9))
/* 64bit hashes as llseek() offset (for directories) */
- #define FMODE_64BITHASH ((__force fmode_t)0x400)
+ #define FMODE_64BITHASH ((__force fmode_t)(1 << 10))
/*
* Don't update ctime and mtime.
The following changes since commit 4cece764965020c22cff7665b18a012006359095:
Linux 6.9-rc1 (2024-03-24 14:10:05 -0700)
are available in the Git repository at:
git@gitolite.kernel.org:pub/scm/linux/kernel/git/vfs/vfs tags/vfs-6.10.misc
for you to fetch changes up to da0e01cc7079124cb1e86a2c35dd90ba12897e1a:
afs: Fix fileserver rotation getting stuck (2024-05-10 08:49:17 +0200)
Please consider pulling these changes from the signed vfs-6.10.misc tag.
Thanks!
Christian
----------------------------------------------------------------
vfs-6.10.misc
----------------------------------------------------------------
Alexey Dobriyan (1):
vfs, swap: compile out IS_SWAPFILE() on swapless configs
Arnd Bergmann (1):
nilfs2: fix out-of-range warning
Brian Kubisiak (1):
ecryptfs: Fix buffer size for tag 66 packet
Christian Brauner (7):
Merge series 'Fixes and cleanups to fs-writeback' of https://lore.kernel.org/r/20240228091958.288260-1-shikemeng@huaweicloud.com
Merge patch series 'fs: aio: more folio conversion' of https://lore.kernel.org/r/20240321131640.948634-1-wangkefeng.wang@huawei.com
fs: claw back a few FMODE_* bits
fs: use bit shifts for FMODE_* flags
Merge patch series 'Fix shmem_rename2 directory offset calculation' of https://lore.kernel.org/r/20240415152057.4605-1-cel@kernel.org
file: add fd_raw cleanup class
selftests: add F_DUPDFD_QUERY selftests
Christoph Hellwig (3):
xfs: fix overly long line in the file_operations
xfs: drop fop_flags for directories
xfs: don't call xfs_file_open from xfs_dir_open
Christophe JAILLET (2):
seq_file: Optimize seq_puts()
seq_file: Simplify __seq_puts()
Chuck Lever (3):
libfs: Fix simple_offset_rename_exchange()
libfs: Add simple_offset_rename() API
shmem: Fix shmem_rename2()
Colin Ian King (1):
fs/direct-io: remove redundant assignment to variable retval
David Howells (1):
afs: Fix fileserver rotation getting stuck
Dawid Osuchowski (1):
fs: Create anon_inode_getfile_fmode()
Gustavo A. R. Silva (1):
fs: Annotate struct file_handle with __counted_by() and use struct_size()
Ilya Denisyev (1):
jffs2: prevent xattr node from overflowing the eraseblock
Justin Stitt (1):
orangefs: cleanup uses of strncpy
Kees Cook (1):
fs: WARN when f_count resurrection is attempted
Kefeng Wang (3):
fs: aio: use a folio in aio_setup_ring()
fs: aio: use a folio in aio_free_ring()
fs: aio: convert to ring_folios and internal_folios
Kemeng Shi (6):
fs/writeback: avoid to writeback non-expired inode in kupdate writeback
fs/writeback: bail out if there is no more inodes for IO and queued once
fs/writeback: remove unused parameter wb of finish_writeback_work
fs/writeback: only calculate dirtied_before when b_io is empty
fs/writeback: correct comment of __wakeup_flusher_threads_bdi
fs/writeback: remove unnecessary return in writeback_inodes_sb
Kent Overstreet (1):
statx: stx_subvol
Linus Torvalds (2):
vfs: relax linkat() AT_EMPTY_PATH - aka flink() - requirements
fcntl: add F_DUPFD_QUERY fcntl()
Luis Henriques (SUSE) (1):
fs_parser: move fsparam_string_empty() helper into header
Matthew Wilcox (Oracle) (1):
fs: Add FOP_HUGE_PAGES
Tyler Hicks (Microsoft) (1):
proc: Move fdinfo PTRACE_MODE_READ check into the inode .permission operation
Yang Li (1):
fs: Add kernel-doc comments to proc_create_net_data_write()
linke li (1):
fs/dcache: Re-use value stored to dentry->d_flags instead of re-reading
block/bdev.c | 2 +-
block/fops.c | 1 +
drivers/dax/device.c | 2 +-
fs/afs/rotate.c | 8 ++-
fs/aio.c | 91 ++++++++++++------------
fs/anon_inodes.c | 33 +++++++++
fs/bcachefs/fs.c | 3 +
fs/btrfs/file.c | 4 +-
fs/btrfs/inode.c | 3 +
fs/dcache.c | 2 +-
fs/direct-io.c | 1 -
fs/ecryptfs/keystore.c | 4 +-
fs/ext4/file.c | 6 +-
fs/ext4/super.c | 4 --
fs/f2fs/file.c | 3 +-
fs/fcntl.c | 20 ++++++
fs/fhandle.c | 6 +-
fs/fs-writeback.c | 57 ++++++++-------
fs/hugetlbfs/inode.c | 5 +-
fs/jffs2/xattr.c | 3 +
fs/libfs.c | 55 +++++++++++++--
fs/namei.c | 19 +++--
fs/nilfs2/ioctl.c | 2 +-
fs/orangefs/dcache.c | 4 +-
fs/orangefs/namei.c | 26 +++----
fs/orangefs/super.c | 17 ++---
fs/overlayfs/params.c | 4 --
fs/proc/fd.c | 42 ++++++-----
fs/proc/proc_net.c | 1 +
fs/read_write.c | 2 +-
fs/seq_file.c | 13 +---
fs/stat.c | 1 +
fs/xfs/xfs_file.c | 10 +--
include/linux/anon_inodes.h | 5 ++
include/linux/file.h | 1 +
include/linux/fs.h | 92 +++++++++++++++----------
include/linux/fs_parser.h | 4 ++
include/linux/hugetlb.h | 8 +--
include/linux/namei.h | 1 +
include/linux/seq_file.h | 13 +++-
include/linux/shm.h | 5 --
include/linux/stat.h | 1 +
include/uapi/linux/fcntl.h | 14 ++--
include/uapi/linux/stat.h | 4 +-
io_uring/io_uring.c | 2 +-
io_uring/rw.c | 9 +--
ipc/shm.c | 10 +--
mm/mmap.c | 4 +-
mm/shmem.c | 3 +-
tools/testing/selftests/core/close_range_test.c | 55 ++++++++++++++-
50 files changed, 437 insertions(+), 248 deletions(-)
next reply other threads:[~2024-05-10 11:46 UTC|newest]
Thread overview: 18+ messages / expand[flat|nested] mbox.gz Atom feed top
2024-05-10 11:46 Christian Brauner [this message]
2024-05-13 19:38 ` [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
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-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=20240510-vfs-misc-22ed27ba6cd7@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.