Skip to content

Commit 48aba79

Browse files
committed
Merge tag 'for-5.11/io_uring-2020-12-14' of git://git.kernel.dk/linux-block
Pull io_uring updates from Jens Axboe: "Fairly light set of changes this time around, and mostly some bits that were pushed out to 5.11 instead of 5.10, fixes/cleanups, and a few features. In particular: - Cleanups around iovec import (David Laight, Pavel) - Add timeout support for io_uring_enter(2), which enables us to clean up liburing and avoid a timeout sqe submission in the completion path. The big win here is that it allows setups that split SQ and CQ handling into separate threads to avoid locking, as the CQ side will no longer submit when timeouts are needed when waiting for events (Hao Xu) - Add support for socket shutdown, and renameat/unlinkat. - SQPOLL cleanups and improvements (Xiaoguang Wang) - Allow SQPOLL setups for CAP_SYS_NICE, and enable regular (non-fixed) files to be used. - Cancelation improvements (Pavel) - Fixed file reference improvements (Pavel) - IOPOLL related race fixes (Pavel) - Lots of other little fixes and cleanups (mostly Pavel)" * tag 'for-5.11/io_uring-2020-12-14' of git://git.kernel.dk/linux-block: (43 commits) io_uring: fix io_cqring_events()'s noflush io_uring: fix racy IOPOLL flush overflow io_uring: fix racy IOPOLL completions io_uring: always let io_iopoll_complete() complete polled io io_uring: add timeout update io_uring: restructure io_timeout_cancel() io_uring: fix files cancellation io_uring: use bottom half safe lock for fixed file data io_uring: fix miscounting ios_left io_uring: change submit file state invariant io_uring: check kthread stopped flag when sq thread is unparked io_uring: share fixed_file_refs b/w multiple rsrcs io_uring: replace inflight_wait with tctx->wait io_uring: don't take fs for recvmsg/sendmsg io_uring: only wake up sq thread while current task is in io worker context io_uring: don't acquire uring_lock twice io_uring: initialize 'timeout' properly in io_sq_thread() io_uring: refactor io_sq_thread() handling io_uring: always batch cancel in *cancel_files() io_uring: pass files into kill timeouts/poll ...
2 parents 005b2a9 + 59850d2 commit 48aba79

File tree

9 files changed

+827
-593
lines changed

9 files changed

+827
-593
lines changed

fs/internal.h

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -78,6 +78,8 @@ extern int vfs_path_lookup(struct dentry *, struct vfsmount *,
7878
long do_rmdir(int dfd, struct filename *name);
7979
long do_unlinkat(int dfd, struct filename *name);
8080
int may_linkat(struct path *link);
81+
int do_renameat2(int olddfd, struct filename *oldname, int newdfd,
82+
struct filename *newname, unsigned int flags);
8183

8284
/*
8385
* namespace.c

fs/io-wq.c

Lines changed: 0 additions & 10 deletions
Original file line numberDiff line numberDiff line change
@@ -1078,16 +1078,6 @@ enum io_wq_cancel io_wq_cancel_cb(struct io_wq *wq, work_cancel_fn *cancel,
10781078
return IO_WQ_CANCEL_NOTFOUND;
10791079
}
10801080

1081-
static bool io_wq_io_cb_cancel_data(struct io_wq_work *work, void *data)
1082-
{
1083-
return work == data;
1084-
}
1085-
1086-
enum io_wq_cancel io_wq_cancel_work(struct io_wq *wq, struct io_wq_work *cwork)
1087-
{
1088-
return io_wq_cancel_cb(wq, io_wq_io_cb_cancel_data, (void *)cwork, false);
1089-
}
1090-
10911081
struct io_wq *io_wq_create(unsigned bounded, struct io_wq_data *data)
10921082
{
10931083
int ret = -ENOMEM, node;

fs/io-wq.h

Lines changed: 0 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -129,7 +129,6 @@ static inline bool io_wq_is_hashed(struct io_wq_work *work)
129129
}
130130

131131
void io_wq_cancel_all(struct io_wq *wq);
132-
enum io_wq_cancel io_wq_cancel_work(struct io_wq *wq, struct io_wq_work *cwork);
133132

134133
typedef bool (work_cancel_fn)(struct io_wq_work *, void *);
135134

0 commit comments

Comments
 (0)