Sophie

Sophie

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

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_prep_clone</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="re527.html" title="blk_rq_unprep_clone" /><link rel="next" href="re529.html" title="__generic_make_request" /></head><body><div class="navheader"><table width="100%" summary="Navigation header"><tr><th colspan="3" align="center"><span>blk_rq_prep_clone</span></th></tr><tr><td width="20%" align="left"><a accesskey="p" href="re527.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="re529.html">Next</a></td></tr></table><hr /></div><div class="refentry" title="blk_rq_prep_clone"><a id="API-blk-rq-prep-clone"></a><div class="titlepage"></div><div class="refnamediv"><h2>Name</h2><p>blk_rq_prep_clone &#8212; 
     Helper function to setup clone request
 </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_prep_clone </b>(</code></td><td>struct request * <var class="pdparam">rq</var>, </td></tr><tr><td>&#160;</td><td>struct request * <var class="pdparam">rq_src</var>, </td></tr><tr><td>&#160;</td><td>struct bio_set * <var class="pdparam">bs</var>, </td></tr><tr><td>&#160;</td><td>gfp_t <var class="pdparam">gfp_mask</var>, </td></tr><tr><td>&#160;</td><td>int (*<var class="pdparam">bio_ctr</var>)
     <code>(</code>struct bio *, struct bio *, void *<code>)</code>, </td></tr><tr><td>&#160;</td><td>void * <var class="pdparam">data</var><code>)</code>;</td></tr></table><div class="funcprototype-spacer">&#160;</div></div></div><div class="refsect1" title="Arguments"><a id="id2699611"></a><h2>Arguments</h2><div class="variablelist"><dl><dt><span class="term"><em class="parameter"><code>rq</code></em></span></dt><dd><p>
     the request to be setup
    </p></dd><dt><span class="term"><em class="parameter"><code>rq_src</code></em></span></dt><dd><p>
     original request to be cloned
    </p></dd><dt><span class="term"><em class="parameter"><code>bs</code></em></span></dt><dd><p>
     bio_set that bios for clone are allocated from
    </p></dd><dt><span class="term"><em class="parameter"><code>gfp_mask</code></em></span></dt><dd><p>
     memory allocation mask for bio
    </p></dd><dt><span class="term"><em class="parameter"><code>bio_ctr</code></em></span></dt><dd><p>
     setup function to be called for each clone bio.
     Returns <code class="constant">0</code> for success, non <code class="constant">0</code> for failure.
    </p></dd><dt><span class="term"><em class="parameter"><code>data</code></em></span></dt><dd><p>
     private data to be passed to <em class="parameter"><code>bio_ctr</code></em>
    </p></dd></dl></div></div><div class="refsect1" title="Description"><a id="id2699737"></a><h2>Description</h2><p>
   Clones bios in <em class="parameter"><code>rq_src</code></em> to <em class="parameter"><code>rq</code></em>, and copies attributes of <em class="parameter"><code>rq_src</code></em> to <em class="parameter"><code>rq</code></em>.
   The actual data parts of <em class="parameter"><code>rq_src</code></em> (e.g. -&gt;cmd, -&gt;buffer, -&gt;sense)
   are not copied, and copying such parts is the caller's responsibility.
   Also, pages which the original bios are pointing to are not copied
   and the cloned bios just point same pages.
   So cloned bios must be completed before original bios, which means
   the caller must complete <em class="parameter"><code>rq</code></em> before <em class="parameter"><code>rq_src</code></em>.
</p></div></div><div class="navfooter"><hr /><table width="100%" summary="Navigation footer"><tr><td width="40%" align="left"><a accesskey="p" href="re527.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="re529.html">Next</a></td></tr><tr><td width="40%" align="left" valign="top"><span>blk_rq_unprep_clone</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>__generic_make_request</span></td></tr></table></div></body></html>