[<prev] [next>] [<thread-prev] [thread-next>] [day] [month] [year] [list]
Message-ID: <CAHk-=wgmLd78uSLU9A9NspXyTM9s6C23OVDiN2YjA-d8_S0zRg@mail.gmail.com>
Date: Thu, 6 Jul 2023 14:56:45 -0700
From: Linus Torvalds <torvalds@...ux-foundation.org>
To: Ahelenia Ziemiańska
<nabijaczleweli@...ijaczleweli.xyz>
Cc: Christian Brauner <brauner@...nel.org>,
Jens Axboe <axboe@...nel.dk>,
David Howells <dhowells@...hat.com>,
Alexander Viro <viro@...iv.linux.org.uk>,
linux-fsdevel@...r.kernel.org, linux-kernel@...r.kernel.org
Subject: Re: Pending splice(file -> FIFO) excludes all other FIFO operations
forever (was: ... always blocks read(FIFO), regardless of O_NONBLOCK on read side?)
On Mon, 26 Jun 2023 at 09:14, Ahelenia Ziemiańska
<nabijaczleweli@...ijaczleweli.xyz> wrote:
>
> And even if that was a working work-around, the fundamental problem of
> ./spl>fifo excluding all other access to fifo is quite unfortunate too.
So I already sent an earlier broken version of this patch to Ahelenia
and Christian, but here's an actually slightly tested version with the
obvious bugs fixed.
The keyword here being "obvious". It's probably broken in many
non-obvious ways, but I'm sending it out in case anybody wants to play
around with it.
It boots for me. It even changes behavior of programs that splice()
and used to keep the pipe lock over the IO and no longer do.
But it might do unspeakable things to your pets, so caveat emptor. It
"feels" right to me. But it's a rather quick hack, and really needs
more eyes and more thought. I mention O_NDELAY in the (preliminary)
commit message, but there are probably other issues that need thinking
about.
Linus
View attachment "0001-splice-lock-the-pages-and-unlock-the-pipe-during-IO.patch" of type "text/x-patch" (9266 bytes)
Powered by blists - more mailing lists