History

Merge tag 'for-5.7/io_uring-2020-03-29' of git://git.kernel.dk/linux-block

Pull io_uring updates from Jens Axboe: "Here are the io_uring changes for this merge window. Light on new features this time around (just splice + buffer selection), lots of cleanups, fixes, and improvements to existing support. In particular, this contains: - Cleanup fixed file update handling for stack fallback (Hillf) - Re-work of how pollable async IO is handled, we no longer require thread offload to handle that. Instead we rely using poll to drive this, with task_work execution. - In conjunction with the above, allow expendable buffer selection, so that poll+recv (for example) no longer has to be a split operation. - Make sure we honor RLIMIT_FSIZE for buffered writes - Add support for splice (Pavel) - Linked work inheritance fixes and optimizations (Pavel) - Async work fixes and cleanups (Pavel) - Improve io-wq locking (Pavel) - Hashed link write improvements (Pavel) - SETUP_IOPOLL|SETUP_SQPOLL improvements (Xiaoguang)" * tag 'for-5.7/io_uring-2020-03-29' of git://git.kernel.dk/linux-block: (54 commits) io_uring: cleanup io_alloc_async_ctx() io_uring: fix missing 'return' in comment io-wq: handle hashed writes in chains io-uring: drop 'free_pfile' in struct io_file_put io-uring: drop completion when removing file io_uring: Fix ->data corruption on re-enqueue io-wq: close cancel gap for hashed linked work io_uring: make spdxcheck.py happy io_uring: honor original task RLIMIT_FSIZE io-wq: hash dependent work io-wq: split hashing and enqueueing io-wq: don't resched if there is no work io-wq: remove duplicated cancel code io_uring: fix truncated async read/readv and write/writev retry io_uring: dual license io_uring.h uapi header io_uring: io_uring_enter(2) don't poll while SETUP_IOPOLL|SETUP_SQPOLL enabled io_uring: Fix unused function warnings io_uring: add end-of-bits marker and build time verify it io_uring: provide means of removing buffers io_uring: add IOSQE_BUFFER_SELECT support for IORING_OP_RECVMSG ...

Linus Torvalds committed 6 years ago

Commit e59cd882 parents 1592614 3d9932a12 files · +1826 −856Browse files

Showing the changes to include/linux (2 of 12 files). Show all

Unified · Split

2 files
  1. include/linux/socket.h +4 −0
  2. include/linux/splice.h +3 −0
include/linux/socket.h+4−0
@@ -391,6 +391,10 @@ extern int recvmsg_copy_msghdr(struct msghdr *msg, · 390 unmodified lines
391 struct user_msghdr __user *umsg, unsigned flags,391 struct user_msghdr __user *umsg, unsigned flags,
392 struct sockaddr __user **uaddr,392 struct sockaddr __user **uaddr,
393 struct iovec **iov);393 struct iovec **iov);
394extern int __copy_msghdr_from_user(struct msghdr *kmsg,
395 struct user_msghdr __user *umsg,
396 struct sockaddr __user **save_addr,
397 struct iovec __user **uiov, size_t *nsegs);
394 398
395/* helpers which do the actual work for syscalls */399/* helpers which do the actual work for syscalls */
396extern int __sys_recvfrom(int fd, void __user *ubuf, size_t size,400extern int __sys_recvfrom(int fd, void __user *ubuf, size_t size,
include/linux/splice.h+3−0
@@ -78,6 +78,9 @@ extern ssize_t add_to_pipe(struct pipe_inode_info *, · 77 unmodified lines
78 struct pipe_buffer *);78 struct pipe_buffer *);
79extern ssize_t splice_direct_to_actor(struct file *, struct splice_desc *,79extern ssize_t splice_direct_to_actor(struct file *, struct splice_desc *,
80 splice_direct_actor *);80 splice_direct_actor *);
81extern long do_splice(struct file *in, loff_t __user *off_in,
82 struct file *out, loff_t __user *off_out,
83 size_t len, unsigned int flags);
81 84
82/*85/*
83 * for dynamic pipe sizing86 * for dynamic pipe sizing