Thread (28 messages) 28 messages, 8 authors, 2025-11-20

Re: [RFC PATCH 0/8] xfs: single block atomic writes for buffered IO

From: Dave Chinner <david@fromorbit.com>
Date: 2025-11-13 10:32:15
Also in: linux-block, linux-ext4, linux-fsdevel, linux-mm, linux-xfs, lkml

On Thu, Nov 13, 2025 at 11:12:49AM +0530, Ritesh Harjani wrote:
Christoph Hellwig [off-list ref] writes:
quoted
On Thu, Nov 13, 2025 at 08:56:56AM +1100, Dave Chinner wrote:
quoted
On Wed, Nov 12, 2025 at 04:36:03PM +0530, Ojaswin Mujoo wrote:
quoted
This patch adds support to perform single block RWF_ATOMIC writes for
iomap xfs buffered IO. This builds upon the inital RFC shared by John
Garry last year [1]. Most of the details are present in the respective 
commit messages but I'd mention some of the design points below:
What is the use case for this functionality? i.e. what is the
reason for adding all this complexity?
Seconded.  The atomic code has a lot of complexity, and further mixing
it with buffered I/O makes this even worse.  We'd need a really important
use case to even consider it.
I agree this should have been in the cover letter itself. 

I believe the reason for adding this functionality was also discussed at
LSFMM too...  

For e.g. https://lwn.net/Articles/974578/ goes in depth and talks about
Postgres folks looking for this, since PostgreSQL databases uses
buffered I/O for their database writes.
Pointing at a discussion about how "this application has some ideas
on how it can maybe use it someday in the future" isn't a
particularly good justification. This still sounds more like a
research project than something a production system needs right now.

Why didn't you use the existing COW buffered write IO path to
implement atomic semantics for buffered writes? The XFS
functionality is already all there, and it doesn't require any
changes to the page cache or iomap to support...

-Dave.
-- 
Dave Chinner
david@fromorbit.com
Keyboard shortcuts
hback out one level
jnext message in thread
kprevious message in thread
ldrill in
Escclose help / fold thread tree
?toggle this help