Re: [PATCH] io_uring: add support for barrier fsync

From: Chris Mason
Date: Tue Apr 09 2019 - 14:57:13 EST


On 9 Apr 2019, at 14:46, Jens Axboe wrote:

> On 4/9/19 12:42 PM, Chris Mason wrote:

>> Looking at the patch, why is fsync special? Seems like you could add
>> this ordering bit to any write?
>
> It's really not, the exact same technique could be used on any type of
> command to imply ordering. My initial idea was to have an explicit
> barrier/ordering command, but I didn't think that separating it from
> an
> actual command would be needed/useful.

Might want to order discards? Commit a transaction to free some blocks,
discard those blocks?

>
>> While you're here, do you want to add a way to FUA/cache flush?
>> Basically the rest of what user land would need to make their own
>> write-back-cache-safe implementation.
>
> FUA would be a WRITEV/WRITE_FIXED flag, that should be trivially
> doable.
>
> In terms of cache flush, that's very heavy handed (and storage
> oriented). What applications would want/need to do an explicit whole
> device flush?

Basically if someone is writing a userland filesystem they'd want to
cache flush for the same reasons the kernel filesystems do.


-chris