diff options
Diffstat (limited to 'tools/libaio/man/io_submit.3')
-rw-r--r-- | tools/libaio/man/io_submit.3 | 135 |
1 files changed, 0 insertions, 135 deletions
diff --git a/tools/libaio/man/io_submit.3 b/tools/libaio/man/io_submit.3 deleted file mode 100644 index b6966efd8b..0000000000 --- a/tools/libaio/man/io_submit.3 +++ /dev/null @@ -1,135 +0,0 @@ -./"/* sys_io_submit: -./" * Queue the nr iocbs pointed to by iocbpp for processing. Returns -./" * the number of iocbs queued. May return -EINVAL if the aio_context -./" * specified by ctx_id is invalid, if nr is < 0, if the iocb at -./" * *iocbpp[0] is not properly initialized, if the operation specified -./" * is invalid for the file descriptor in the iocb. May fail with -./" * -EFAULT if any of the data structures point to invalid data. May -./" * fail with -EBADF if the file descriptor specified in the first -./" * iocb is invalid. May fail with -EAGAIN if insufficient resources -./" * are available to queue any iocbs. Will return 0 if nr is 0. Will -./" * fail with -ENOSYS if not implemented. -./" */ -.TH io_submit 2 2002-09-02 "Linux 2.4" "Linux AIO" -.SH NAME -io_submit \- Submit io requests -.SH SYNOPSIS -.nf -.B #include <errno.h> -.br -.sp -.B #include <libaio.h> -.br -.sp -.BI "int io_submit(io_context_t " ctx ", long " nr ", struct iocb *" iocbs "[]);" -.sp -struct iocb { - void *data; - unsigned key; - short aio_lio_opcode; - short aio_reqprio; - int aio_fildes; -}; -.fi -.SH DESCRIPTION -.B io_submit -submits -.I nr -iocbs for processing for a given io context ctx. - -The -.IR "io_submit" -function can be used to enqueue an arbitrary -number of read and write requests at one time. The requests can all be -meant for the same file, all for different files or every solution in -between. - -.IR "io_submit" -gets the -.IR "nr" -requests from the array pointed to -by -.IR "iocbs" -. The operation to be performed is determined by the -.IR "aio_lio_opcode" -member in each element of -.IR "iocbs" -. If this -field is -.B "IO_CMD_PREAD" -a read operation is enqueued, similar to a call -of -.IR "io_prep_pread" -for this element of the array (except that the way -the termination is signalled is different, as we will see below). If -the -.IR "aio_lio_opcode" -member is -.B "IO_CMD_PWRITE" -a write operation -is enqueued. Otherwise the -.IR "aio_lio_opcode" -must be -.B "IO_CMD_NOP" -in which case this element of -.IR "iocbs" -is simply ignored. This -``operation'' is useful in situations where one has a fixed array of -.IR "struct iocb" -elements from which only a few need to be handled at -a time. Another situation is where the -.IR "io_submit" -call was -canceled before all requests are processed and the remaining requests have to be reissued. - -The other members of each element of the array pointed to by -.IR "iocbs" -must have values suitable for the operation as described in -the documentation for -.IR "io_prep_pread" -and -.IR "io_prep_pwrite" -above. - -The function returns immediately after -having enqueued all the requests. -On success, -.B io_submit -returns the number of iocbs submitted successfully. Otherwise, -error is return, where -error is one of the Exxx values defined in the Errors section. -.PP -If an error is detected, then the behavior is undefined. -.PP -Simultaneous asynchronous operations using the same iocb produce -undefined results. -.SH ERRORS -.TP -.B EFAULT -.I iocbs -referenced data outside of the program's accessible address space. -.TP -.B EINVAL -.I ctx -refers to an unitialized aio context, the iocb pointed to by -.I iocbs -contains an improperly initialized iocb, -.TP -.B EBADF -The iocb contains a file descriptor that does not exist. -.TP -.B EINVAL -The file specified in the iocb does not support the given io operation. -.SH "SEE ALSO" -.BR io(3), -.BR io_cancel(3), -.BR io_fsync(3), -.BR io_getevents(3), -.BR io_prep_fsync(3), -.BR io_prep_pread(3), -.BR io_prep_pwrite(3), -.BR io_queue_init(3), -.BR io_queue_release(3), -.BR io_queue_run(3), -.BR io_queue_wait(3), -.BR io_set_callback(3), -.BR errno(3) |