From: John Garry <john.g.garry@oracle.com>
To: brauner@kernel.org, djwong@kernel.org, cem@kernel.org,
dchinner@redhat.com, hch@lst.de, ritesh.list@gmail.com
Cc: linux-xfs@vger.kernel.org, linux-fsdevel@vger.kernel.org,
linux-kernel@vger.kernel.org, martin.petersen@oracle.com,
John Garry <john.g.garry@oracle.com>
Subject: [PATCH v3 0/7] large atomic writes for xfs
Date: Thu, 2 Jan 2025 14:04:04 +0000 [thread overview]
Message-ID: <20250102140411.14617-1-john.g.garry@oracle.com> (raw)
Currently the atomic write unit min and max is fixed at the FS blocksize
for xfs and ext4.
This series expands support to allow multiple FS blocks to be written
atomically.
To allow multiple blocks be written atomically, the fs must ensure blocks
are allocated with some alignment and granularity. For xfs, today only
rtvol provides this through rt_extsize. So initial support for large
atomic writes will be for rtvol here. Support can easily be expanded to
regular files through the proposed forcealign feature.
An atomic write which spans mixed unwritten and mapped extents will be
required to have the unwritten extents pre-zeroed, which will be supported
in iomap.
Based on bf354410af83 ("Merge tag 'xfs-6.13-fixes_2024-12-12' of
https://git.kernel.org/pub/scm/linux/kernel/git/djwong/xfs-linux into next-rc")
Patches available at the following:
https://github.com/johnpgarry/linux/tree/atomic-write-large-atomics-v6.13-v3
Changes since v2:
- Don't zero unwritten for single block atomic write
- Store RT atomic write unit max in FSBs
Changes since v1:
- Add extent zeroing support
- Rebase
John Garry (6):
iomap: Increase iomap_dio_zero() size limit
iomap: Add zero unwritten mappings dio support
xfs: Add extent zeroing support for atomic writes
xfs: Switch atomic write size check in xfs_file_write_iter()
xfs: Add RT atomic write unit max to xfs_mount
xfs: Update xfs_get_atomic_write_attr() for large atomic writes
Ritesh Harjani (IBM) (1):
iomap: Lift blocksize restriction on atomic writes
fs/iomap/direct-io.c | 100 +++++++++++++++++++++++++++++++++++---
fs/xfs/libxfs/xfs_sb.c | 3 ++
fs/xfs/xfs_file.c | 108 ++++++++++++++++++++++++++++++++++++++---
fs/xfs/xfs_iops.c | 21 +++++++-
fs/xfs/xfs_iops.h | 2 +
fs/xfs/xfs_mount.h | 1 +
fs/xfs/xfs_rtalloc.c | 23 +++++++++
fs/xfs/xfs_rtalloc.h | 4 ++
include/linux/iomap.h | 3 ++
9 files changed, 248 insertions(+), 17 deletions(-)
--
2.31.1
next reply other threads:[~2025-01-02 14:05 UTC|newest]
Thread overview: 12+ messages / expand[flat|nested] mbox.gz Atom feed top
2025-01-02 14:04 John Garry [this message]
2025-01-02 14:04 ` [PATCH v3 1/7] iomap: Increase iomap_dio_zero() size limit John Garry
2025-01-02 14:04 ` [PATCH v3 2/7] iomap: Add zero unwritten mappings dio support John Garry
2025-01-02 14:04 ` [PATCH v3 3/7] iomap: Lift blocksize restriction on atomic writes John Garry
2025-01-08 0:41 ` Darrick J. Wong
2025-01-02 14:04 ` [PATCH v3 4/7] xfs: Add extent zeroing support for " John Garry
2025-01-02 14:04 ` [PATCH v3 5/7] xfs: Switch atomic write size check in xfs_file_write_iter() John Garry
2025-01-08 0:50 ` Darrick J. Wong
2025-01-02 14:04 ` [PATCH v3 6/7] xfs: Add RT atomic write unit max to xfs_mount John Garry
2025-01-08 0:55 ` Darrick J. Wong
2025-01-02 14:04 ` [PATCH v3 7/7] xfs: Update xfs_get_atomic_write_attr() for large atomic writes John Garry
2025-01-08 0:56 ` Darrick J. Wong
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=20250102140411.14617-1-john.g.garry@oracle.com \
--to=john.g.garry@oracle.com \
--cc=brauner@kernel.org \
--cc=cem@kernel.org \
--cc=dchinner@redhat.com \
--cc=djwong@kernel.org \
--cc=hch@lst.de \
--cc=linux-fsdevel@vger.kernel.org \
--cc=linux-kernel@vger.kernel.org \
--cc=linux-xfs@vger.kernel.org \
--cc=martin.petersen@oracle.com \
--cc=ritesh.list@gmail.com \
/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