mirror of
https://mirrors.bfsu.edu.cn/git/linux.git
synced 2024-11-25 21:24:08 +08:00
io_uring-5.7-2020-04-24
-----BEGIN PGP SIGNATURE----- iQJEBAABCAAuFiEEwPw5LcreJtl1+l5K99NY+ylx4KYFAl6jKZkQHGF4Ym9lQGtl cm5lbC5kawAKCRD301j7KXHgpkqsEACnY1xBZfO3tw0x+XqIQW1qqtls8/buMKen Iqo2XOJZNMgjMO6T5naPblh1f3JxUVihR8NE3PSm8ZERIl6Xq9YesXATFsC1C+sH giR0O4ae7lkYRrlNNvo+K9BmS90AwzTYb73imDFmt+/BuySY67rysN4Gv0q+ySWZ 1zDdyK8R7v/WX33h0nrP9g2zG4yrYtpWXyeR26aK/BtdVv/rJqu9EiD6Kaz3oHgh JI2XLmuDB4d9evUfL9rW0lGd+R0uQUBVj2r9J8x9Ff176OjVhr1cPcbU2Dc/Ldnd 0Qe1mJ3LcSEvjHrJ84J4C0wRyFiArqbFw8Fy560VDtpgS/44V8j0W5Edh6zNGehY xS0NxZfTPaqM5sGKafnaqBfOnrhlZOCcqrDAGe7djsGARGrbzsERpzv4TuBOE+gJ hxf9MDYZdIW5QVWmKpTIqAJZfCg3h+Lv/EHhp0Dqv2lIPkWmEHDF3mggej/vcfJ1 1YEvfIM1TdeEfQPcauqggR8Yo0vUXIfobaJw99R+BwEmowNYbvE4/jH183PgjzSn R9xojcDOxo2x1ITCp2YkF+GQ6k2ZXL5v4mEf9zY9C2QiCkhOdzOtecfvQ/wL4/r3 JZlPpNd+Tw2bXRtIu6ZNq1q1/l93byv4ps6NPvEeGna1klzzCiAZnO71Ln5bWUdu 2YJoHRfI2g== =L+dP -----END PGP SIGNATURE----- Merge tag 'io_uring-5.7-2020-04-24' of git://git.kernel.dk/linux-block Pull io_uring fix from Jens Axboe: "Single fixup for a change that went into -rc2" * tag 'io_uring-5.7-2020-04-24' of git://git.kernel.dk/linux-block: io_uring: only restore req->work for req that needs do completion
This commit is contained in:
commit
aee1a009c9
@ -4200,17 +4200,17 @@ static void io_async_task_func(struct callback_head *cb)
|
|||||||
|
|
||||||
spin_unlock_irq(&ctx->completion_lock);
|
spin_unlock_irq(&ctx->completion_lock);
|
||||||
|
|
||||||
|
/* restore ->work in case we need to retry again */
|
||||||
|
memcpy(&req->work, &apoll->work, sizeof(req->work));
|
||||||
|
|
||||||
if (canceled) {
|
if (canceled) {
|
||||||
kfree(apoll);
|
kfree(apoll);
|
||||||
io_cqring_ev_posted(ctx);
|
io_cqring_ev_posted(ctx);
|
||||||
req_set_fail_links(req);
|
req_set_fail_links(req);
|
||||||
io_put_req(req);
|
io_double_put_req(req);
|
||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
|
|
||||||
/* restore ->work in case we need to retry again */
|
|
||||||
memcpy(&req->work, &apoll->work, sizeof(req->work));
|
|
||||||
|
|
||||||
__set_current_state(TASK_RUNNING);
|
__set_current_state(TASK_RUNNING);
|
||||||
mutex_lock(&ctx->uring_lock);
|
mutex_lock(&ctx->uring_lock);
|
||||||
__io_queue_sqe(req, NULL);
|
__io_queue_sqe(req, NULL);
|
||||||
@ -4369,7 +4369,7 @@ static bool io_poll_remove_one(struct io_kiocb *req)
|
|||||||
|
|
||||||
hash_del(&req->hash_node);
|
hash_del(&req->hash_node);
|
||||||
|
|
||||||
if (apoll) {
|
if (do_complete && apoll) {
|
||||||
/*
|
/*
|
||||||
* restore ->work because we need to call io_req_work_drop_env.
|
* restore ->work because we need to call io_req_work_drop_env.
|
||||||
*/
|
*/
|
||||||
|
Loading…
Reference in New Issue
Block a user