Not sure this makes sense, but after 1/2 we can also split fifo_open() and pipe_poll() to factor out the wait_for_partner/wake_up_partner logic. Link to v1: https://lore.kernel.org/all/20250204132153.GA20921@xxxxxxxxxx/ Oleg. --- fs/internal.h | 1 + fs/pipe.c | 60 ++++++++++++++++++++++++++++++++++++++++++++--------------- 2 files changed, 46 insertions(+), 15 deletions(-)