[<prev] [next>] [<thread-prev] [thread-next>] [day] [month] [year] [list]
Message-ID: <c3958187-e83e-46a1-a204-87b342583a4a@oracle.com>
Date: Tue, 25 Feb 2025 10:19:49 +0000
From: John Garry <john.g.garry@...cle.com>
To: "Darrick J. Wong" <djwong@...nel.org>
Cc: brauner@...nel.org, cem@...nel.org, dchinner@...hat.com, hch@....de,
linux-xfs@...r.kernel.org, linux-fsdevel@...r.kernel.org,
linux-kernel@...r.kernel.org, ojaswin@...ux.ibm.com,
ritesh.list@...il.com, martin.petersen@...cle.com, tytso@....edu,
linux-ext4@...r.kernel.org
Subject: Re: [PATCH v2 04/11] iomap: Support CoW-based atomic writes
On 24/02/2025 19:59, Darrick J. Wong wrote:
>> + * ``IOMAP_ATOMIC_COW``: This write is being issued with torn-write
>> + protection based on CoW support.
> I think using "COW" here results in a misnamed flag. Consider:
>
> "IOMAP_ATOMIC_SW:
ok, fine
> This write is being issued with torn-write protection
> via a software fallback provided by the filesystem."
I'm not sure that we really need to even mention software fallback.
Indeed, xfs could just use IOMAP_ATOMIC_SW always when the bdev does not
support HW offload. Maybe I can mention that typically it can be used as
a software fallback when HW offload is not possible.
>
> iomap itself doesn't care*how* the filesystem guarantees that the
> direct write isn't torn, right?
Correct. iomap just ensures that for IOMAP_ATOMIC_HW we produce a single
bio - that's the only check really.
> The fs' io completion handler has to
> ensure that the mapping update(s) are either applied fully or discarded
> fully.
right
>
> In theory if you had a bunch of physical space mapped to the same
> file but with different unwritten states, you could gang together all
> the unwritten extent conversions in a single transaction, which would
> provide the necessary tearing prevention without the out of place write.
> Nobody does that right now, but I think that's the only option for ext4.
ok, maybe. But ext4 still does have bigalloc or opportunity to support
forcealign (to always use IOMAP_ATOMIC_HW for large untorn writes).
Thanks,
John
Powered by blists - more mailing lists