Re: [PATCH 1/2] fuse: fix FOPEN_PARALLEL_DIRECT_WRITES being ignored for passthrough writes

From: Russ Fellows

Date: Mon Jun 01 2026 - 15:26:01 EST


Amir,

I appreciate your feedback. I will review and revise my proposed changes.

I will also remove the “fix” tag and mark this as an enhancement to FUSE parallel I/O.

As an aside, I have tested the kernel changes quite a bit and have had no crashes or corruption, and the write performance is 3x. But, I will use your input to focus these changes more appropriately and eliminate their unintended consequences.

Regards,
—Russ

> On Jun 1, 2026, at 12:52 PM, Amir Goldstein <amir73il@xxxxxxxxx> wrote:
>
> Removing stable list - this is definetly NOT a bug fix
> Please CC fuse-devel@xxxxxxxxxxxxxxx for future fuse patches
>
>
> Not a fix, because this was very intentional.
> It is a new feature that you are proposing to support parallel
> passthrough dio.
>
> Anyway, this patch has many problems
>
>>
>
> You can't just use fuse_dio_lock() like this
> it plays nasty games with the iomode.
> It does not even check for O_DIRECT mode, so this would do
> parallel buffered write (at least until it meets the filesystem lock
> but its not something we would want.
> You should study this code better.
>
>> ret = backing_file_write_iter(backing_file, iter, iocb, iocb->ki_flags,
>> &ctx);
>
> The problem is that while backing_file_write_iter() does not seem to
> directly require an exclusive lock (apart from maybe file_remove_privs)
> the fuse_passthrough_end_write() callback does I think rely on this
> exclusive lock.
>
> So proving that this can work will require more research and more effort
> and I am not really sure how that is going to work out.
>
> Thanks,
> Amir.