Re: [REGRESSION] fuse: execve() fails with ETXTBSY due to async fuse_flush

From: Bernd Schubert
Date: Mon Aug 14 2023 - 09:45:27 EST




On 8/14/23 14:38, Jürg Billeter wrote:
On Mon, 2023-08-14 at 14:28 +0200, Miklos Szeredi wrote:
On Mon, 14 Aug 2023 at 14:07, Bernd Schubert
fuse: Avoid flush for O_RDONLY

From: Bernd Schubert <bschubert@xxxxxxx>

A file opened in read-only moded does not have data to be
flushed, so no need to send flush at all.

This also mitigates -EBUSY for executables, which is due to
async flush with commit 5a8bee63b1.

Does it?  If I read the bug report correctly, it's the write case that
causes EBUSY.

Indeed, I see this when trying to execute a file after a process wrote
to (created) that file. As far as I can tell, `ETXTBSY` can't happen on
exec without the file being opened for writing and thus, I don't see
this patch mitigating this bug.

Sorry, my fault, I should have read your message/report more carefully.


Bernd