Sophie

Sophie

distrib > CentOS > 6 > i386 > by-pkgid > 2c51d8eb79f8810ada971ee8c30ce1e5 > files > 2005

kernel-doc-2.6.32-71.14.1.el6.noarch.rpm

<?xml version="1.0" encoding="ANSI_X3.4-1968" standalone="no"?>
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml"><head><meta http-equiv="Content-Type" content="text/html; charset=ANSI_X3.4-1968" /><title>blk_rq_map_user</title><meta name="generator" content="DocBook XSL Stylesheets V1.75.2" /><link rel="home" href="index.html" title="The Linux Kernel API" /><link rel="up" href="ch14.html" title="Chapter&#160;14.&#160;Block Devices" /><link rel="prev" href="re531.html" title="__blk_end_bidi_request" /><link rel="next" href="re533.html" title="blk_rq_map_user_iov" /></head><body><div class="navheader"><table width="100%" summary="Navigation header"><tr><th colspan="3" align="center"><span>blk_rq_map_user</span></th></tr><tr><td width="20%" align="left"><a accesskey="p" href="re531.html">Prev</a>&#160;</td><th width="60%" align="center">Chapter&#160;14.&#160;Block Devices</th><td width="20%" align="right">&#160;<a accesskey="n" href="re533.html">Next</a></td></tr></table><hr /></div><div class="refentry" title="blk_rq_map_user"><a id="API-blk-rq-map-user"></a><div class="titlepage"></div><div class="refnamediv"><h2>Name</h2><p>blk_rq_map_user &#8212; 
  map user data to a request, for REQ_TYPE_BLOCK_PC usage
 </p></div><div class="refsynopsisdiv" title="Synopsis"><h2>Synopsis</h2><div class="funcsynopsis"><table border="0" summary="Function synopsis" cellspacing="0" cellpadding="0" class="funcprototype-table"><tr><td><code class="funcdef">int <b class="fsfunc">blk_rq_map_user </b>(</code></td><td>struct request_queue * <var class="pdparam">q</var>, </td></tr><tr><td>&#160;</td><td>struct request * <var class="pdparam">rq</var>, </td></tr><tr><td>&#160;</td><td>struct rq_map_data * <var class="pdparam">map_data</var>, </td></tr><tr><td>&#160;</td><td>void __user * <var class="pdparam">ubuf</var>, </td></tr><tr><td>&#160;</td><td>unsigned long <var class="pdparam">len</var>, </td></tr><tr><td>&#160;</td><td>gfp_t <var class="pdparam">gfp_mask</var><code>)</code>;</td></tr></table><div class="funcprototype-spacer">&#160;</div></div></div><div class="refsect1" title="Arguments"><a id="id2700569"></a><h2>Arguments</h2><div class="variablelist"><dl><dt><span class="term"><em class="parameter"><code>q</code></em></span></dt><dd><p>
     request queue where request should be inserted
    </p></dd><dt><span class="term"><em class="parameter"><code>rq</code></em></span></dt><dd><p>
     request structure to fill
    </p></dd><dt><span class="term"><em class="parameter"><code>map_data</code></em></span></dt><dd><p>
     pointer to the rq_map_data holding pages (if necessary)
    </p></dd><dt><span class="term"><em class="parameter"><code>ubuf</code></em></span></dt><dd><p>
     the user buffer
    </p></dd><dt><span class="term"><em class="parameter"><code>len</code></em></span></dt><dd><p>
     length of user data
    </p></dd><dt><span class="term"><em class="parameter"><code>gfp_mask</code></em></span></dt><dd><p>
     memory allocation flags
    </p></dd></dl></div></div><div class="refsect1" title="Description"><a id="id2700682"></a><h2>Description</h2><p>
   Data will be mapped directly for zero copy I/O, if possible. Otherwise
   a kernel bounce buffer is used.
   </p><p>

   A matching <code class="function">blk_rq_unmap_user</code> must be issued at the end of I/O, while
   still in process context.
</p></div><div class="refsect1" title="Note"><a id="id2700703"></a><h2>Note</h2><p>
   The mapped bio may need to be bounced through <code class="function">blk_queue_bounce</code>
   before being submitted to the device, as pages mapped may be out of
   reach. It's the callers responsibility to make sure this happens. The
   original bio must be passed back in to <code class="function">blk_rq_unmap_user</code> for proper
   unmapping.
</p></div></div><div class="navfooter"><hr /><table width="100%" summary="Navigation footer"><tr><td width="40%" align="left"><a accesskey="p" href="re531.html">Prev</a>&#160;</td><td width="20%" align="center"><a accesskey="u" href="ch14.html">Up</a></td><td width="40%" align="right">&#160;<a accesskey="n" href="re533.html">Next</a></td></tr><tr><td width="40%" align="left" valign="top"><span>__blk_end_bidi_request</span>&#160;</td><td width="20%" align="center"><a accesskey="h" href="index.html">Home</a></td><td width="40%" align="right" valign="top">&#160;<span>blk_rq_map_user_iov</span></td></tr></table></div></body></html>