On Tue, Nov 28, 2023 at 08:56:37AM +0000, John Garry wrote:
Are you suggesting some sort of hybrid between the atomic write series youVery roughly, yes.
had a few years ago and this solution?
To me that would be continuing with the following:Yes.
- per-IO RWF_ATOMIC (and not O_ATOMIC semantics of nothing is written until
some data sync)
- writes must be a power-of-two and at a naturally-aligned offsetWhere offset is offset in the file?
It would not require it. You
probably want to do it for optimal performance, but requiring it
feeels rather limited.
- relying on atomic write HW support alwaysAnd I think that's where we have different opinions.
I think the hw
offload is a nice optimization and we should use it wherever we can.
But building the entire userspace API around it feels like a mistake.
Yeah, I thought that I heard this.BTW, we also have rtvol support which does not use forcealign as it alreadyUpstream doesn't have out of place write support for the RT subvolume
can guarantee alignment, but still does rely on the same principle of
requiring alignment - would you want CoW support there also?
yet. But Darrick has a series for it and we're actively working on
upstreaming it.