aboutsummaryrefslogtreecommitdiffstats
path: root/fs/io_uring.c
AgeCommit message (Expand)AuthorFilesLines
2022-07-24io_uring: move to separate directoryJens Axboe1-13165/+0
2022-07-24io_uring: define a 'prep' and 'issue' handler for each opcodeJens Axboe1-458/+350
2022-07-21io_uring: do not recycle buffer in READVDylan Yudaken1-0/+8
2022-07-21io_uring: fix free of unallocated buffer listDylan Yudaken1-3/+3
2022-07-09io_uring: check that we have a file table when allocating update slotsJens Axboe1-0/+3
2022-07-07io_uring: explicit sqe padding for ioctl commandsPavel Begunkov1-1/+1
2022-06-30io_uring: fix provided buffer importDylan Yudaken1-3/+4
2022-06-30io_uring: keep sendrecv flags in ioprioPavel Begunkov1-4/+8
2022-06-23io_uring: use original request task for inflight trackingJens Axboe1-1/+1
2022-06-21io_uring: fix double poll leak on repollingPavel Begunkov1-0/+1
2022-06-21io_uring: fix wrong arm_poll error handlingPavel Begunkov1-0/+1
2022-06-21io_uring: fail links when poll failsPavel Begunkov1-0/+2
2022-06-21io_uring: fix req->apoll_eventsPavel Begunkov1-4/+8
2022-06-21io_uring: fix merge error in checking send/recv addr2 flagsJens Axboe1-4/+0
2022-06-20io_uring: mark reissue requests with REQ_F_PARTIAL_IOJens Axboe1-2/+2
2022-06-17io_uring: recycle provided buffer if we punt to io-wqJens Axboe1-0/+1
2022-06-16io_uring: do not use prio task_work_add in uring_cmdDylan Yudaken1-1/+1
2022-06-16io_uring: commit non-pollable provided mapped buffers upfrontJens Axboe1-1/+1
2022-06-15io_uring: make io_fill_cqe_aux honour CQE32Pavel Begunkov1-0/+5
2022-06-15io_uring: remove __io_fill_cqe() helperPavel Begunkov1-21/+16
2022-06-15io_uring: fix ->extra{1,2} misusePavel Begunkov1-2/+10
2022-06-15io_uring: fill extra big cqe fields from reqPavel Begunkov1-68/+10
2022-06-15io_uring: unite fill_cqe and the 32B versionPavel Begunkov1-19/+42
2022-06-15io_uring: get rid of __io_fill_cqe{32}_req()Pavel Begunkov1-49/+21
2022-06-14io_uring: remove IORING_CLOSE_FD_AND_FILE_SLOTPavel Begunkov1-9/+3
2022-06-14Revert "io_uring: add buffer selection support to IORING_OP_NOP"Pavel Begunkov1-14/+1
2022-06-14Revert "io_uring: support CQE32 for nop operation"Pavel Begunkov1-20/+1
2022-06-13Merge branch 'io_uring/io_uring-5.19' of https://github.com/isilence/linux in...Jens Axboe1-25/+50
2022-06-13io_uring: limit size of provided buffer ringDylan Yudaken1-0/+4
2022-06-13io_uring: fix types in provided buffer ringDylan Yudaken1-3/+3
2022-06-13io_uring: fix index calculationDylan Yudaken1-1/+1
2022-06-13io_uring: fix double unlock for pbuf selectPavel Begunkov1-3/+1
2022-06-13io_uring: kbuf: fix bug of not consuming ring buffer in partial io caseHao Xu1-4/+16
2022-06-13io_uring: openclose: fix bug of closing wrong fixed fileHao Xu1-1/+1
2022-06-13io_uring: fix not locked access to fixed buf tablePavel Begunkov1-17/+17
2022-06-13io_uring: fix races with buffer table unregisterPavel Begunkov1-0/+7
2022-06-13io_uring: fix races with file table unregisterPavel Begunkov1-0/+8
2022-06-05Merge tag 'pull-work.fd-fixes' of git://git.kernel.org/pub/scm/linux/kernel/g...Linus Torvalds1-4/+1
2022-06-05fix the breakage in close_fd_get_file() calling conventions changeAl Viro1-4/+1
2022-06-04Merge tag 'pull-18-rc1-work.fd' of git://git.kernel.org/pub/scm/linux/kernel/...Linus Torvalds1-11/+7
2022-06-01io_uring: reinstate the inflight trackingJens Axboe1-26/+56
2022-06-01io_uring: fix deadlock on iowq file slot allocPavel Begunkov1-21/+15
2022-05-31io_uring: let IORING_OP_FILES_UPDATE support choosing fixed file slotsXiaoguang Wang1-10/+62
2022-05-31io_uring: defer alloc_hint update to io_file_bitmap_set()Xiaoguang Wang1-8/+3
2022-05-31io_uring: ensure fput() called correspondingly when direct install failsXiaoguang Wang1-0/+5
2022-05-31io_uring: wire up allocated direct descriptors for socketJens Axboe1-2/+2
2022-05-31io_uring: fix a memory leak of buffer group list on exitJens Axboe1-0/+1
2022-05-31io_uring: move shutdown under the general net sectionJens Axboe1-36/+29
2022-05-31io_uring: unify calling convention for async prep handlingJens Axboe1-2/+12
2022-05-31io_uring: add io_op_defs 'def' pointer in req init and issueJens Axboe1-7/+10
2022-05-25io_uring: make prep and issue side of req handlers named consistentlyJens Axboe1-6/+6
2022-05-25io_uring: make timeout prep handlers consistent with other prep handlersJens Axboe1-4/+17
2022-05-23Merge tag 'for-5.19/io_uring-passthrough-2022-05-22' of git://git.kernel.dk/l...Linus Torvalds1-74/+370
2022-05-23Merge tag 'for-5.19/io_uring-net-2022-05-22' of git://git.kernel.dk/linux-blockLinus Torvalds1-4/+14
2022-05-23Merge tag 'for-5.19/io_uring-socket-2022-05-22' of git://git.kernel.dk/linux-...Linus Torvalds1-0/+177
2022-05-23Merge tag 'for-5.19/io_uring-xattr-2022-05-22' of git://git.kernel.dk/linux-b...Linus Torvalds1-26/+296
2022-05-23Merge tag 'for-5.19/io_uring-2022-05-22' of git://git.kernel.dk/linux-blockLinus Torvalds1-1015/+1640
2022-05-21io_uring: cleanup handling of the two task_work listsJens Axboe1-25/+37
2022-05-18io_uring: disallow mixed provided buffer group registrationsJens Axboe1-3/+5
2022-05-18io_uring: initialize io_buffer_list head when shared ring is unregisteredJens Axboe1-0/+3
2022-05-18io_uring: add fully sparse buffer registrationPavel Begunkov1-7/+15
2022-05-18io_uring: use rcu_dereference in io_closeChristoph Hellwig1-1/+2
2022-05-18io_uring: consistently use the EPOLL* definesChristoph Hellwig1-4/+4
2022-05-18io_uring: make apoll_events a __poll_tChristoph Hellwig1-3/+4
2022-05-18io_uring: drop a spurious inline on a forward declarationChristoph Hellwig1-1/+1
2022-05-18io_uring: don't use ERR_PTR for user pointersChristoph Hellwig1-46/+37
2022-05-18io_uring: use a rwf_t for io_rw.flagsChristoph Hellwig1-1/+1
2022-05-18io_uring: add support for ring mapped supplied buffersJens Axboe1-12/+222
2022-05-18io_uring: add io_pin_pages() helperJens Axboe1-27/+50
2022-05-18io_uring: add buffer selection support to IORING_OP_NOPJens Axboe1-1/+12
2022-05-18io_uring: fix locking state for empty buffer groupJens Axboe1-11/+14
2022-05-17io_uring: don't attempt to IOPOLL for MSG_RING requestsJens Axboe1-0/+3
2022-05-14Unify the primitives for file descriptor closingAl Viro1-5/+2
2022-05-14io_uring: implement multishot mode for acceptHao Xu1-6/+48
2022-05-14io_uring: let fast poll support multishotHao Xu1-15/+32
2022-05-14io_uring: add REQ_F_APOLL_MULTISHOT for requestsHao Xu1-0/+5
2022-05-13io_uring: only wake when the correct events are setDylan Yudaken1-2/+3
2022-05-13io_uring: avoid io-wq -EAGAIN looping for !IOPOLLPavel Begunkov1-0/+2
2022-05-13io_uring: add flag for allocating a fully sparse direct descriptor spaceJens Axboe1-3/+12
2022-05-13io_uring: bump max direct descriptor count to 1MJens Axboe1-1/+1
2022-05-13io_uring: allow allocated fixed files for acceptJens Axboe1-2/+2
2022-05-13io_uring: allow allocated fixed files for openat/openat2Jens Axboe1-3/+33
2022-05-13io_uring: add basic fixed file allocatorJens Axboe1-0/+29
2022-05-13io_uring: track fixed files with a bitmapJens Axboe1-1/+32
2022-05-12io_uring_enter(): don't leave f.flags uninitializedAl Viro1-6/+5
2022-05-11fs,io_uring: add infrastructure for uring-cmdJens Axboe1-18/+117
2022-05-09io_uring: support CQE32 for nop operationStefan Roesch1-2/+26
2022-05-09io_uring: enable CQE32Stefan Roesch1-1/+1
2022-05-09io_uring: support CQE32 in /proc infoStefan Roesch1-2/+14
2022-05-09io_uring: add tracing for additional CQE32 fieldsStefan Roesch1-5/+6
2022-05-09io_uring: overflow processing for CQE32Stefan Roesch1-9/+23
2022-05-09io_uring: flush completions for CQE32Stefan Roesch1-2/+6
2022-05-09io_uring: modify io_get_cqe for CQE32Stefan Roesch1-2/+17
2022-05-09io_uring: add CQE32 completion processingStefan Roesch1-8/+45
2022-05-09io_uring: add CQE32 setup processingStefan Roesch1-0/+58
2022-05-09io_uring: change ring size calculation for CQE32Stefan Roesch1-3/+7
2022-05-09io_uring: store add. return values for CQE32Stefan Roesch1-1/+7
2022-05-09io_uring: add support for 128-byte SQEsJens Axboe1-3/+11
2022-05-09Merge branch 'for-5.19/io_uring-socket' into for-5.19/io_uring-passthroughJens Axboe1-0/+471
2022-05-09Merge branch 'for-5.19/io_uring' into for-5.19/io_uring-passthroughJens Axboe1-936/+1142
2022-05-09io_uring: don't clear req->kbuf when buffer selection is doneJens Axboe1-2/+0
2022-05-09io_uring: eliminate the need to track provided buffer ID separatelyJens Axboe1-6/+10
2022-05-09io_uring: move provided buffer state closer to submit stateJens Axboe1-3/+5
2022-05-09io_uring: move provided and fixed buffers into the same io_kiocb areaJens Axboe1-4/+8
2022-05-09io_uring: abstract out provided buffer list selectionJens Axboe1-11/+23
2022-05-09io_uring: never call io_buffer_select() for a buffer re-selectJens Axboe1-12/+17
2022-05-09io_uring: get rid of hashed provided buffer groupsJens Axboe1-39/+58
2022-05-09io_uring: always use req->buf_index for the provided buffer groupJens Axboe1-13/+13
2022-05-09io_uring: ignore ->buf_index if REQ_F_BUFFER_SELECT isn't setJens Axboe1-4/+0
2022-05-09io_uring: kill io_rw_buffer_select() wrapperJens Axboe1-10/+5
2022-05-09io_uring: make io_buffer_select() return the user address directlyJens Axboe1-26/+20
2022-05-05io_uring: kill io_recv_buffer_select() wrapperJens Axboe1-10/+2
2022-05-05io_uring: use 'sr' vs 'req->sr_msg' consistentlyJens Axboe1-9/+8
2022-05-05io_uring: add POLL_FIRST support for send/sendmsg and recv/recvmsgJens Axboe1-2/+25
2022-05-05io_uring: check IOPOLL/ioprio support upfrontJens Axboe1-95/+58
2022-05-02io_uring: assign non-fixed early for async workJens Axboe1-1/+6
2022-04-30io_uring: replace smp_mb() with smp_mb__after_atomic() in io_sq_thread()Almog Khaikin1-1/+1
2022-04-30io_uring: add IORING_SETUP_TASKRUN_FLAGJens Axboe1-3/+11
2022-04-30io_uring: use TWA_SIGNAL_NO_IPI if IORING_SETUP_COOP_TASKRUN is usedJens Axboe1-4/+13
2022-04-30io_uring: set task_work notify method at init timeJens Axboe1-12/+11
2022-04-30io_uring: serialize ctx->rings->sq_flags with atomic_or/andJens Axboe1-26/+10
2022-04-29io_uring: return hint on whether more data is available after receiveJens Axboe1-4/+15
2022-04-29Merge branch 'for-5.19/io_uring-socket' into for-5.19/io_uring-netJens Axboe1-672/+1343
2022-04-29io_uring: check that data field is 0 in ringfd unregisterEugene Syromiatnikov1-1/+1
2022-04-28io_uring: fix uninitialized field in rw io_kiocbJoseph Ravichandran1-0/+1
2022-04-26io_uring: check reserved fields for recv/recvmsgJens Axboe1-0/+2
2022-04-26io_uring: check reserved fields for send/sendmsgJens Axboe1-0/+2
2022-04-26io_uring: add io_uring_get_opcodeDylan Yudaken1-0/+101
2022-04-25io_uring: fix compile warning for 32-bit buildsJens Axboe1-1/+1
2022-04-24io_uring: cleanup error-handling around io_req_completeKanchan Joshi1-29/+5
2022-04-24io_uring: add socket(2) supportJens Axboe1-0/+76
2022-04-24io_uring: add fgetxattr and getxattr supportStefan Roesch1-0/+129
2022-04-24io_uring: add fsetxattr and setxattr supportStefan Roesch1-0/+165
2022-04-24io_uring: return an error when cqe is droppedDylan Yudaken1-4/+28
2022-04-24io_uring: use constants for cq_overflow bitfieldDylan Yudaken1-8/+14
2022-04-24io_uring: rework io_uring_enter to simplify return valueDylan Yudaken1-14/+21
2022-04-24io_uring: trace cqe overflowsDylan Yudaken1-0/+1
2022-04-24io_uring: allow re-poll if we made progressJens Axboe1-3/+7
2022-04-24io_uring: support MSG_WAITALL for IORING_OP_SEND(MSG)Jens Axboe1-7/+29
2022-04-24io_uring: add support for IORING_ASYNC_CANCEL_ANYJens Axboe1-14/+25
2022-04-24io_uring: allow IORING_OP_ASYNC_CANCEL with 'fd' keyJens Axboe1-7/+60
2022-04-24io_uring: add support for IORING_ASYNC_CANCEL_ALLJens Axboe1-21/+70
2022-04-24io_uring: pass in struct io_cancel_data consistentlyJens Axboe1-32/+44
2022-04-24io_uring: remove dead 'poll_only' argument to io_poll_cancel()Jens Axboe1-4/+3
2022-04-24io_uring: refactor io_disarm_next() lockingPavel Begunkov1-7/+10
2022-04-24io_uring: move timeout locking in io_timeout_cancel()Pavel Begunkov1-7/+5
2022-04-24io_uring: store SCM state in io_fixed_file->file_ptrJens Axboe1-7/+29
2022-04-24io_uring: kill ctx arg from io_req_put_rsrcPavel Begunkov1-3/+3
2022-04-24io_uring: add a helper for putting rsrc nodesPavel Begunkov1-3/+8
2022-04-24io_uring: store rsrc node in req instead of refsPavel Begunkov1-11/+11
2022-04-24io_uring: refactor io_assign_file error pathPavel Begunkov1-5/+1
2022-04-24io_uring: use right helpers for file assign lockingPavel Begunkov1-4/+2
2022-04-24io_uring: add data_race annotationsPavel Begunkov1-3/+3
2022-04-24io_uring: inline io_req_complete_fail_submit()Pavel Begunkov1-13/+8
2022-04-24io_uring: refactor io_submit_sqe()Pavel Begunkov1-9/+14
2022-04-24io_uring: refactor lazy link failPavel Begunkov1-40/+47
2022-04-24io_uring: introduce IO_REQ_LINK_FLAGSPavel Begunkov1-6/+7
2022-04-24io_uring: refactor io_queue_sqe()Pavel Begunkov1-8/+12
2022-04-24io_uring: rename io_queue_async_work()Pavel Begunkov1-4/+4
2022-04-24io_uring: inline io_queue_sqe()Pavel Begunkov1-13/+8
2022-04-24io_uring: helper for prep+queuing linked timeoutsPavel Begunkov1-9/+13
2022-04-24io_uring: inline io_free_req()Pavel Begunkov1-10/+5
2022-04-24io_uring: kill io_put_req_deferred()Pavel Begunkov1-34/+22
2022-04-24io_uring: minor refactoring for some tw handlersPavel Begunkov1-9/+5
2022-04-24io_uring: clean poll tw PF_EXITING handlingPavel Begunkov1-1/+1
2022-04-24io_uring: optimise io_get_cqe()Pavel Begunkov1-11/+35
2022-04-24io_uring: optimise submission left countingPavel Begunkov1-10/+10
2022-04-24io_uring: optimise submission loop invariantPavel Begunkov1-17/+15
2022-04-24io_uring: add helper to return req to cache listPavel Begunkov1-4/+8
2022-04-24io_uring: helper for empty req cache checksPavel Begunkov1-3/+8
2022-04-24io_uring: inline io_flush_cached_reqsPavel Begunkov1-19/+11
2022-04-24io_uring: shrink final link flushPavel Begunkov1-2/+2
2022-04-24io_uring: memcpy CQE from reqPavel Begunkov1-1/+23
2022-04-24io_uring: explicitly keep a CQE in io_kiocbPavel Begunkov1-65/+69
2022-04-24io_uring: rename io_sqe_file_registerPavel Begunkov1-4/+4
2022-04-24io_uring: deduplicate SCM accountingPavel Begunkov1-67/+40
2022-04-24io_uring: don't pass around fixed index for scmPavel Begunkov1-23/+14
2022-04-24io_uring: refactor __io_sqe_files_scmPavel Begunkov1-35/+13
2022-04-24io_uring: uniform SCM accountingPavel Begunkov1-68/+25
2022-04-24io_uring: don't scm-account for non af_unix socketsPavel Begunkov1-13/+38
2022-04-24io_uring: move finish_wait() outside of loop in cqring_wait()Jens Axboe1-1/+1
2022-04-24io_uring: refactor io_req_add_compl_list()Pavel Begunkov1-3/+2
2022-04-24io_uring: silence io_for_each_link() warningPavel Begunkov1-1/+2
2022-04-24io_uring: partially uninline io_put_task()Pavel Begunkov1-10/+14
2022-04-24io_uring: cleanup conditional submit lockingPavel Begunkov1-54/+41
2022-04-24io_uring: optimise mutex locking for submit+iopollPavel Begunkov1-17/+23
2022-04-24io_uring: pre-calculate syscall iopolling decisionPavel Begunkov1-8/+13
2022-04-24io_uring: split off IOPOLL argument verifictionPavel Begunkov1-7/+22
2022-04-24io_uring: clean up io_queue_next()Pavel Begunkov1-7/+6
2022-04-24io_uring: move poll recycling later in compl flushingPavel Begunkov1-9/+9
2022-04-24io_uring: optimise io_free_batch_listPavel Begunkov1-6/+14
2022-04-24io_uring: refactor io_req_find_nextPavel Begunkov1-6/+7
2022-04-24io_uring: remove extra ifs around io_commit_cqringPavel Begunkov1-11/+14
2022-04-24io_uring: small optimisation of tctx_task_workPavel Begunkov1-5/+4
2022-04-17io_uring: fix leaks on IOPOLL and CQE_SKIPPavel Begunkov1-2/+1
2022-04-16io_uring: free iovec if file assignment failsJens Axboe1-2/+6
2022-04-14io_uring: abort file assignment prior to assigning credsJens Axboe1-2/+3
2022-04-13io_uring: fix poll error reportingPavel Begunkov1-3/+2
2022-04-13io_uring: fix poll file assign deadlockPavel Begunkov1-1/+2
2022-04-13io_uring: use right issue_flags for splice/teePavel Begunkov1-2/+2