1<html><head><meta http-equiv="Content-Type" content="text/html; charset=ANSI_X3.4-1968"><title>blk_rq_map_user_iov</title><meta name="generator" content="DocBook XSL Stylesheets V1.78.1"><link rel="home" href="index.html" title="The Linux Kernel API"><link rel="up" href="blkdev.html" title="Chapter 14. Block Devices"><link rel="prev" href="API---blk-end-bidi-request.html" title="__blk_end_bidi_request"><link rel="next" href="API-blk-rq-unmap-user.html" title="blk_rq_unmap_user"></head><body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF"><div class="navheader"><table width="100%" summary="Navigation header"><tr><th colspan="3" align="center"><span class="phrase">blk_rq_map_user_iov</span></th></tr><tr><td width="20%" align="left"><a accesskey="p" href="API---blk-end-bidi-request.html">Prev</a> </td><th width="60%" align="center">Chapter 14. Block Devices</th><td width="20%" align="right"> <a accesskey="n" href="API-blk-rq-unmap-user.html">Next</a></td></tr></table><hr></div><div class="refentry"><a name="API-blk-rq-map-user-iov"></a><div class="titlepage"></div><div class="refnamediv"><h2>Name</h2><p>blk_rq_map_user_iov — 2 map user data to a request, for REQ_TYPE_BLOCK_PC usage 3 </p></div><div class="refsynopsisdiv"><h2>Synopsis</h2><div class="funcsynopsis"><table border="0" class="funcprototype-table" summary="Function synopsis" style="cellspacing: 0; cellpadding: 0;"><tr><td><code class="funcdef">int <b class="fsfunc">blk_rq_map_user_iov </b>(</code></td><td>struct request_queue * <var class="pdparam">q</var>, </td></tr><tr><td> </td><td>struct request * <var class="pdparam">rq</var>, </td></tr><tr><td> </td><td>struct rq_map_data * <var class="pdparam">map_data</var>, </td></tr><tr><td> </td><td>const struct iov_iter * <var class="pdparam">iter</var>, </td></tr><tr><td> </td><td>gfp_t <var class="pdparam">gfp_mask</var><code>)</code>;</td></tr></table><div class="funcprototype-spacer"> </div></div></div><div class="refsect1"><a name="idp1128295996"></a><h2>Arguments</h2><div class="variablelist"><dl class="variablelist"><dt><span class="term"><em class="parameter"><code>q</code></em></span></dt><dd><p> 4 request queue where request should be inserted 5 </p></dd><dt><span class="term"><em class="parameter"><code>rq</code></em></span></dt><dd><p> 6 request to map data to 7 </p></dd><dt><span class="term"><em class="parameter"><code>map_data</code></em></span></dt><dd><p> 8 pointer to the rq_map_data holding pages (if necessary) 9 </p></dd><dt><span class="term"><em class="parameter"><code>iter</code></em></span></dt><dd><p> 10 iovec iterator 11 </p></dd><dt><span class="term"><em class="parameter"><code>gfp_mask</code></em></span></dt><dd><p> 12 memory allocation flags 13 </p></dd></dl></div></div><div class="refsect1"><a name="idp1128301724"></a><h2>Description</h2><p> 14 Data will be mapped directly for zero copy I/O, if possible. Otherwise 15 a kernel bounce buffer is used. 16 </p><p> 17 18 A matching <code class="function">blk_rq_unmap_user</code> must be issued at the end of I/O, while 19 still in process context. 20</p></div><div class="refsect1"><a name="idp1128303020"></a><h2>Note</h2><p> 21 The mapped bio may need to be bounced through <code class="function">blk_queue_bounce</code> 22 before being submitted to the device, as pages mapped may be out of 23 reach. It's the callers responsibility to make sure this happens. The 24 original bio must be passed back in to <code class="function">blk_rq_unmap_user</code> for proper 25 unmapping. 26</p></div></div><div class="navfooter"><hr><table width="100%" summary="Navigation footer"><tr><td width="40%" align="left"><a accesskey="p" href="API---blk-end-bidi-request.html">Prev</a> </td><td width="20%" align="center"><a accesskey="u" href="blkdev.html">Up</a></td><td width="40%" align="right"> <a accesskey="n" href="API-blk-rq-unmap-user.html">Next</a></td></tr><tr><td width="40%" align="left" valign="top"><span class="phrase">__blk_end_bidi_request</span> </td><td width="20%" align="center"><a accesskey="h" href="index.html">Home</a></td><td width="40%" align="right" valign="top"> <span class="phrase">blk_rq_unmap_user</span></td></tr></table></div></body></html> 27