Io uring: Difference between revisions

Tags: Mobile edit Mobile web edit
Tags: Mobile edit Mobile web edit
Line 245: Line 245:
</syntaxhighlight>
</syntaxhighlight>


====Linked operations====
===Linked operations===
<tt>IOSQE_IO_LINK</tt> (since 5.3) or <tt>IOSQE_IO_HARDLINK</tt> (since 5.5) can be supplied in the <tt>flags</tt> field of an SQE to link with the next SQE. The chain can be arbitrarily long (though it cannot cross submission boundaries), terminating in the first linked SQE without this flag set. Multiple chains can execute in parallel on the kernel side. Unless <tt>HARDLINK</tt> is used, any error terminates a chain; any remaining linked SQEs will be immediately cancelled (short reads/writes are considered errors) with return code <tt>-ECANCELED</tt>.
<tt>IOSQE_IO_LINK</tt> (since 5.3) or <tt>IOSQE_IO_HARDLINK</tt> (since 5.5) can be supplied in the <tt>flags</tt> field of an SQE to link with the next SQE. The chain can be arbitrarily long (though it cannot cross submission boundaries), terminating in the first linked SQE without this flag set. Multiple chains can execute in parallel on the kernel side. Unless <tt>HARDLINK</tt> is used, any error terminates a chain; any remaining linked SQEs will be immediately cancelled (short reads/writes are considered errors) with return code <tt>-ECANCELED</tt>.