Re: [PATCH v2 04/11] iomap: Support CoW-based atomic writes

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



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







[Index of Archives]     [Linux Ext4 Filesystem]     [Union Filesystem]     [Filesystem Testing]     [Ceph Users]     [Ecryptfs]     [NTFS 3]     [AutoFS]     [Kernel Newbies]     [Share Photos]     [Security]     [Netfilter]     [Bugtraq]     [Yosemite News]     [MIPS Linux]     [ARM Linux]     [Linux Security]     [Linux Cachefs]     [Reiser Filesystem]     [Linux RAID]     [NTFS 3]     [Samba]     [Device Mapper]     [CEPH Development]

  Powered by Linux