Re: [LSF/MM/BPF TOPIC] untorn buffered writes

From: John Garry
Date: Tue May 28 2024 - 05:22:03 EST


On 23/05/2024 13:59, Christoph Hellwig wrote:
On Wed, May 15, 2024 at 01:54:39PM -0600, John Garry wrote:
On 27/02/2024 23:12, Theodore Ts'o wrote:
Last year, I talked about an interest to provide database such as
MySQL with the ability to issue writes that would not be torn as they
write 16k database pages[1].

[1] https://urldefense.com/v3/__https://lwn.net/Articles/932900/__;!!ACWV5N9M2RV99hQ!Ij_ZeSZrJ4uPL94Im73udLMjqpkcZwHmuNnznogL68ehu6TDTXqbMsC4xLUqh18hq2Ib77p1D8_4mV5Q$


After discussing this topic earlier this week, I would like to know if there
are still objections or concerns with the untorn-writes userspace API
proposed in https://lore.kernel.org/linux-block/20240326133813.3224593-1-john.g.garry@xxxxxxxxxx/

I feel that the series for supporting direct-IO only, above, is stuck
because of this topic of buffered IO.

Just my 2 cents, but I think supporting untorn I/O for buffered I/O
is an amazingly bad idea that opens up a whole can of worms in terms
of potential failure paths while not actually having a convincing use
case.

For buffered I/O something like the atomic msync proposal makes a lot
more sense, because it actually provides a useful API for non-trivial
transactions.

Is this what you are talking about:

https://web.eecs.umich.edu/~tpkelly/papers/Failure_atomic_msync_EuroSys_2013.pdf

If so, I am not sure if a mmap interface would work for DB usecase, like PostgreSQL. I can ask.