[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(-)