[GIT PULL] pipe: nonblocking rw for io_uring

From: Christian Brauner
Date: Fri Apr 21 2023 - 10:02:51 EST


Hey Linus,

/* Summary */
This contains Jens' work to support FMODE_NOWAIT and thus IOCB_NOWAIT
for pipes ensuring that all places can deal with non-blocking requests.

To this end, pass down the information that this is a nonblocking
request so that pipe locking, allocation, and buffer checking correctly
deal with those.

The series is small but it felt standalone enough that I didn't want to
lump it together with other, generic vfs work.

/* Testing */
clang: Ubuntu clang version 15.0.6
gcc: (Ubuntu 12.2.0-3ubuntu1) 12.2.0

All patches are based on 6.3-rc2 and have been sitting in linux-next.
No build failures or warnings were observed. All old and new tests in
fstests, selftests, and LTP pass without regressions.

/* Conflicts */
At the time of creating this PR no merge conflicts were reported from
linux-next and no merge conflicts showed up doing a test-merge with
current mainline.

The following changes since commit eeac8ede17557680855031c6f305ece2378af326:

Linux 6.3-rc2 (2023-03-12 16:36:44 -0700)

are available in the Git repository at:

git@xxxxxxxxxxxxxxxxxxx:pub/scm/linux/kernel/git/vfs/vfs tags/v6.4/vfs.pipe

for you to fetch changes up to ec30adeb289d9054efae4e285b269438ce63fe03:

pipe: set FMODE_NOWAIT on pipes (2023-03-15 11:37:29 -0600)

Please consider pulling these changes from the signed v6.4/vfs.pipe tag.

Thanks!
Christian

----------------------------------------------------------------
v6.4/vfs.pipe

----------------------------------------------------------------
Jens Axboe (3):
fs: add 'nonblock' parameter to pipe_buf_confirm() and fops method
pipe: enable handling of IOCB_NOWAIT
pipe: set FMODE_NOWAIT on pipes

fs/fuse/dev.c | 4 ++--
fs/pipe.c | 42 ++++++++++++++++++++++++++++++++++--------
fs/splice.c | 11 +++++++----
include/linux/pipe_fs_i.h | 8 +++++---
4 files changed, 48 insertions(+), 17 deletions(-)