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 03/12 for v7.0] vfs nonblocking_timestamps
Date: Fri, 6 Feb 2026 17:49:59 +0100 [thread overview]
Message-ID: <20260206-vfs-nonblocking_timestamps-v70-59f22fca9b3a@brauner> (raw)
In-Reply-To: <20260206-vfs-v70-7df0b750d594@brauner>
Hey Linus,
/* Summary */
This contains the changes to support non-blocking timestamp updates.
Since 66fa3cedf16a ("fs: Add async write file modification handling.")
file_update_time_flags() unconditionally returns -EAGAIN when any
timestamp needs updating and IOCB_NOWAIT is set. This makes
non-blocking direct writes impossible on file systems with granular
enough timestamps, which in practice means all of them.
This series reworks the timestamp update path to propagate IOCB_NOWAIT
through ->update_time so that file systems which can update timestamps
without blocking are no longer penalized.
With that groundwork in place, the core change passes IOCB_NOWAIT into
->update_time and returns -EAGAIN only when the file system indicates it
would block. XFS implements non-blocking timestamp updates by using the
new ->sync_lazytime and open-coding generic_update_time without the
S_NOWAIT check, since the lazytime path through the generic helpers can
never block in XFS.
/* Testing */
gcc (Debian 14.2.0-19) 14.2.0
Debian clang version 19.1.7 (3+b1)
No build failures or warnings were observed.
/* Conflicts */
Merge conflicts with mainline
=============================
No known conflicts.
Merge conflicts with other trees
================================
The following changes since commit 8f0b4cce4481fb22653697cced8d0d04027cb1e8:
Linux 6.19-rc1 (2025-12-14 16:05:07 +1200)
are available in the Git repository at:
git@gitolite.kernel.org:pub/scm/linux/kernel/git/vfs/vfs tags/vfs-7.0-rc1.nonblocking_timestamps
for you to fetch changes up to 77ef2c3ff5916d358c436911ca6a961060709f04:
Merge patch series "re-enable IOCB_NOWAIT writes to files v6" (2026-01-12 14:01:42 +0100)
----------------------------------------------------------------
vfs-7.0-rc1.nonblocking_timestamps
Please consider pulling these changes from the signed vfs-7.0-rc1.nonblocking_timestamps tag.
Thanks!
Christian
----------------------------------------------------------------
Christian Brauner (1):
Merge patch series "re-enable IOCB_NOWAIT writes to files v6"
Christoph Hellwig (11):
fs: remove inode_update_time
fs: allow error returns from generic_update_time
nfs: split nfs_update_timestamps
fat: cleanup the flags for fat_truncate_time
fs: refactor ->update_time handling
fs: factor out a sync_lazytime helper
fs: add a ->sync_lazytime method
fs: add support for non-blocking timestamp updates
fs: refactor file_update_time_flags
xfs: implement ->sync_lazytime
xfs: enable non-blocking timestamp updates
Documentation/filesystems/locking.rst | 5 +-
Documentation/filesystems/vfs.rst | 9 +-
fs/bad_inode.c | 3 +-
fs/btrfs/inode.c | 13 ++-
fs/fat/dir.c | 2 +-
fs/fat/fat.h | 11 +-
fs/fat/file.c | 14 +--
fs/fat/inode.c | 2 +-
fs/fat/misc.c | 59 ++++------
fs/fat/namei_msdos.c | 13 +--
fs/fat/namei_vfat.c | 9 +-
fs/fs-writeback.c | 33 ++++--
fs/gfs2/inode.c | 9 +-
fs/inode.c | 202 ++++++++++++++++++----------------
fs/internal.h | 3 +-
fs/nfs/inode.c | 37 +++----
fs/orangefs/inode.c | 29 +++--
fs/orangefs/orangefs-kernel.h | 3 +-
fs/overlayfs/inode.c | 7 +-
fs/overlayfs/overlayfs.h | 3 +-
fs/sync.c | 4 +-
fs/ubifs/file.c | 28 ++---
fs/ubifs/ubifs.h | 3 +-
fs/xfs/xfs_iops.c | 49 ++++++---
fs/xfs/xfs_super.c | 29 -----
include/linux/fs.h | 30 +++--
include/trace/events/writeback.h | 6 -
27 files changed, 325 insertions(+), 290 deletions(-)
next prev parent reply other threads:[~2026-02-06 16:51 UTC|newest]
Thread overview: 31+ messages / expand[flat|nested] mbox.gz Atom feed top
2026-02-06 16:49 [GIT PULL 00/12 for v7.0] v7.0 Christian Brauner
2026-02-06 16:49 ` [GIT PULL 01/12 for v7.0] vfs rust Christian Brauner
2026-02-10 0:50 ` pr-tracker-bot
2026-02-06 16:49 ` [GIT PULL 02/12 for v7.0] vfs initrd Christian Brauner
2026-02-10 0:50 ` pr-tracker-bot
2026-02-06 16:49 ` Christian Brauner [this message]
2026-02-10 0:50 ` [GIT PULL 03/12 for v7.0] vfs nonblocking_timestamps pr-tracker-bot
2026-02-06 16:50 ` [GIT PULL 04/12 for v7.0] vfs leases Christian Brauner
2026-02-10 0:50 ` pr-tracker-bot
2026-02-06 16:50 ` [GIT PULL 05/12 for v7.0] vfs fserror Christian Brauner
2026-02-10 0:50 ` pr-tracker-bot
2026-02-06 16:50 ` [GIT PULL 06/12 for v7.0] vfs btrfs Christian Brauner
2026-02-10 0:50 ` pr-tracker-bot
2026-02-06 16:50 ` [GIT PULL 07/12 for v7.0] vfs minix Christian Brauner
2026-02-10 0:50 ` pr-tracker-bot
2026-02-06 16:50 ` [GIT PULL 08/12 for v7.0] vfs nullfs Christian Brauner
2026-02-10 0:50 ` pr-tracker-bot
2026-02-06 16:50 ` [GIT PULL 09/12 for v7.0] vfs atomic_open Christian Brauner
2026-02-10 0:50 ` pr-tracker-bot
2026-02-06 16:50 ` [GIT PULL 10/12 for v7.0] vfs namespace Christian Brauner
2026-02-10 0:50 ` pr-tracker-bot
2026-02-06 16:50 ` [GIT PULL 11/12 for v7.0] vfs iomap Christian Brauner
2026-02-10 0:50 ` pr-tracker-bot
2026-02-06 16:50 ` [GIT PULL 12/12 for v7.0] vfs misc Christian Brauner
2026-02-07 5:11 ` Nathan Chancellor
2026-02-09 9:31 ` Christian Brauner
2026-02-10 0:50 ` pr-tracker-bot
2026-02-16 12:29 ` [GIT PULL 13/12 for v7.0] kernel misc Christian Brauner
2026-02-16 22:11 ` pr-tracker-bot
2026-02-16 12:55 ` [GIT PULL 14/12 for v7.0] vfs misc 2 Christian Brauner
2026-02-16 22:11 ` 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=20260206-vfs-nonblocking_timestamps-v70-59f22fca9b3a@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
all inboxes | Powered by JetHome®