Hello Adam,

On 07/13/2018 10:58 PM, adam.manzana...@wdc.com wrote:
From: Adam Manzanares <adam.manzana...@wdc.com>

The newly added IOCB_FLAG_IOPRIO aio_flag introduces
new behaviors and return values.

The details of this new feature are posted here:
https://lkml.org/lkml/2018/5/22/809

Thanks for this patch. I've applied it, but I have a question below about a detail that probably needs fixing.

Signed-off-by: Adam Manzanares <adam.manzana...@wdc.com>
---
  man2/io_submit.2 | 34 +++++++++++++++++++++++++++-------
  1 file changed, 27 insertions(+), 7 deletions(-)

diff --git a/man2/io_submit.2 b/man2/io_submit.2
index d17e3122a..15e1ecdea 100644
--- a/man2/io_submit.2
+++ b/man2/io_submit.2
@@ -164,14 +164,26 @@ This is the size of the buffer pointed to by
  This is the file offset at which the I/O operation is to be performed.
  .TP
  .I aio_flags
-This is the flag to be passed iocb structure.
-The only valid value is
-.BR IOCB_FLAG_RESFD ,
-which indicates that the asynchronous I/O control must signal the file
+This is the set of flags associated with the iocb structure.
+The valid values are:
+.RS
+.TP
+.BR IOCB_FLAG_RESFD
+Asynchronous I/O control must signal the file
  descriptor mentioned in
  .I aio_resfd
  upon completion.
  .TP
+.BR IOCB_FLAG_IOPRIO " (since Linux 4.18)"
+.\" commit d9a08a9e616beeccdbd0e7262b7225ffdfa49e92
+Interpret the
+.I aio_reqprio
+field as an
+.B IOPRIO_VALUE
+as defined by
+.IR linux/ioprio.h.
+.RE
+.TP
  .I aio_resfd
  The file descriptor to signal in the event of asynchronous I/O completion.
  .SH RETURN VALUE
@@ -196,13 +208,21 @@ The AIO context specified by \fIctx_id\fP is invalid.
  \fInr\fP is less than 0.
  The \fIiocb\fP at
  .I *iocbpp[0]
-is not properly initialized,
-or the operation specified is invalid for the file descriptor
-in the \fIiocb\fP.
+is not properly initialized, the operation specified is invalid for the file
+descriptor in the \fIiocb\fP, or the value in the
+.I aio_reqprio
+field is invalid.
  .TP
  .B ENOSYS
  .BR io_submit ()
  is not implemented on this architecture.
+.TP
+.B EPERM
+The aio_reqprio field is set with the class
+.B IOPRIO_CLASS_RT
+, but the submitting context does not have the

What does "submitting context" mean? Threads/tasks/processes have
capabilities. Can you rephrase in terms of processes/threads?

Thanks,

Michael

+.B CAP_SYS_ADMIN
+privilege.
  .SH VERSIONS
  .PP
  The asynchronous I/O system calls first appeared in Linux 2.5.

Reply via email to