linux/block/blk-lib.c
<<
valu io/spaon> io/formn> ioa valu i href="../linux+v3.8.6/block/blk-lib.c">valu ioimg src="../.static/gfx/right.png" alt=">>">vao/spaon>vaospao class="lxr_search">valuvalu ioinput typ hidden" nam navtarget" ion> ">valu ioinput typ text" nam search" id search">valu iobuttl2ttyp submit">Search io/formn> o/spaon>vaospao class="lxr_prefs"n> ioa href="+prefs?return=block/blk-lib.c"valu i onclick="return ajax_prefs();">valu iPrefs> io/a>vao/spaon>lu i io/divn>lu i ioform acitio="ajax+*" method="post" onsubmit="return false;">vaoinput typ hidden" nam ajax_lookup" id ajax_lookup" ion> ">vlu i io/formn>vlu i iodiv class="headingbottlm">lu ilu i i iodiv id search_results" class="search_results"> n>lu i io/divn> odiv id content">> odiv id file_contents"n
i i1o/a>ospao class="comment">/*o/spaon>i i2o/a>ospao class="comment"> * Funcitios related to generic helpers funcitioso/spaon>i i3o/a>ospao class="comment"> */o/spaon>i i4o/a>#include <linux/kernel.ho/a>>>i i5o/a>#include <linux/module.ho/a>>>i i6o/a>#include <linux/bio.ho/a>>>i i7o/a>#include <linux/blkdev.ho/a>>>i i8o/a>#include <linux/scatterlist.ho/a>>>i i9o/a>vi 8.10a>#include "blk.ho/a>"vi 11o/a>vi 12o/a>structioa href="+code=bio_batch" class="sref">bio_batcho/a> {vi 13o/a>        oa href="+code=atlmic_t" class="sref">atlmic_to/a>                oa href="+code=done" class="sref">doneo/a>;vi 14o/a>        unsigned long           oa href="+code=flags" class="sref">flagso/a>;vi 15o/a>        structioa href="+code=compleitio" class="sref">compleitioo/a>       *oa href="+code=wait" class="sref">waito/a>;vi 16o/a>};vi 17o/a>vi 18o/a>static voidioa href="+code=bio_batch_end_io" class="sref">bio_batch_end_ioo/a>(structioa href="+code=bio" class="sref">bioo/a> *oa href="+code=bio" class="sref">bioo/a>, intioa href="+code=err" class="sref">erro/a>)vi 19o/a>{vi 20o/a>        structioa href="+code=bio_batch" class="sref">bio_batcho/a> *oa href="+code=bb" class="sref">bbo/a> =ioa href="+code=bio" class="sref">bioo/a>->oa href="+code=bi_private" class="sref">bi_privateo/a>;vi 21o/a>vi 22o/a>        if (oa href="+code=err" class="sref">erro/a> && (oa href="+code=err" class="sref">erro/a> != -oa href="+code=EOPNOTSUPP" class="sref">EOPNOTSUPPo/a>))vi 23o/a>                oa href="+code=clear_bit" class="sref">clear_bito/a>(oa href="+code=BIO_UPTODATE" class="sref">BIO_UPTODATEo/a>, &oa href="+code=bb" class="sref">bbo/a>->oa href="+code=flags" class="sref">flagso/a>);vi 24o/a>        if (oa href="+code=atlmic_dec_and_test" class="sref">atlmic_dec_and_testo/a>(&oa href="+code=bb" class="sref">bbo/a>->oa href="+code=done" class="sref">doneo/a>))vi 25o/a>                oa href="+code=compleie" class="sref">compleieo/a>(oa href="+code=bb" class="sref">bbo/a>->oa href="+code=wait" class="sref">waito/a>);vi 26non va05120 compbbo/a> =ioa href="+code=it" class="sref">waito/a>);vwaito/a>);vi 21o/a>vi i1o/aa>ospao class="comment">/*o/spaon><3 href="b3ock/blk-lib.c#L20" id  320" c30ass="line" nam
  L2">i i2o/a>ev.h" _issue_dist.rd - queue a dist.rd>ospao class="comment">/*o/spaon><3 href="b3ock/blk-lib.c#L21" id  321" c3lass="line" nam
  L1">i i1o/a>@bh" :ine" nament"h" ent"issue dist.rd for>ospao class="comment">/*o/spaon><3 href="b3ock/blk-lib.c#L22" id  322" c3lass="line" nam
  L2">i i2o/a>@sector:e" nam
art sector>ospao class="comment">/*o/spaon><3a href="bblock/blk-lib.c#L3" id  23" c3lass="line" nam
  L3">i i3o/a @no/spcts:e" number of sectorsent"dist.rd>ospao class="comment">/*o/spaon><3 href="b3ock/blk-lib.c#L24" id  324" c34ass="line" nam
  L3">i i3o/a @gfp_mask:e" memory alenta3.0.6code= (for n vaalent)>ospao class="comment">/*o/spaon><3 href="b3ock/blk-lib.c#L25" id  325" c35ass="line" nam
  L3">i i3o/a @code=:ine" nBLKDEV_IFL_*6code= nt"control behaviour>ospao class="comment">/*o/spaon><3 href="b3ock/blk-lib.c#L26" id  326" c36ass="line" nam
  L3">i i3o/a>ospao class="comment">/*o/spaon><3 href="b3ock/blk-lib.c#L17" id  317" c37ass="line" nam
  L3">i i3o/a Descri  ospao class="comment">/*o/spaon><3 href="b3ock/blk-lib.c#L18" id  318" c38ass="line" nam
  L3">i i3o/a    Issue a dist.rd request for the sectorsein questospao class="comment">/*o/spaon><3 href="b3ock/blk-lib.c#L19" id  319" c39ass="line" nam
  L1">i i1o/a>ospao class="comment"> */o/spaon>bioev.h" _issue_dist.rdo/a> =ioa href="v.h" _issue_dist.rds="sref">bio_batch_end_ioo/ant">tesvic;oa href="+code=bnt">tesvic;h" class="sref">bio_baesvoa href="+code=besvclass=ss="sref">bio_bsector    oa href="+codsector  h" clss="sref">bio_bsector  oa href="+codsectorclasslass="comment"> */o/spaon>i 25o/a>      sector    oa href="+codsector  h" clss="sref">bio_bno/spcts  oa href="+codno/spctsclass=ss="sref">bio_bgfp_   oa href="+codgfp_ h" clss="sref">bio_bgfp_mask  oa href="+codgfp_maskclass=m
  L14">i 14o class="sref">bbo/a>->oa href="+code=flagslass="comment"> */o/spaon>i 19o/a>{v<4a href="4block/blk-lib.c#L3" id 423" c4ass="line" nam
  L13">i 13o/DECLARE_COMPLETION_ONSTACK->oa href="+DECLARE_COMPLETION_ONSTACKie" class="sref">combo/a>->oa href="+code=wait" class="sref">waito/a>);v<4a href="bblock/blk-lib.c#L4" id  24" c4ass="line" naef">bio_batch_end_ioo/request_queue>->oa href="request_queueh" class="sref">bio_bq>->oa href="q+code=bb" class="sref">h" _get_queue>->oa href=">h" _get_queueie" class="sref">compesvoa href="+code=besvclasit" class="sref">waito/a>);v<4 href="b4ock/blk-lib.c#L25" id  425" c4ass="line" nao" class="sref">bio"retoa href="+code="ret+code=bb" class="sref"REQ_WRIoa href="+code=BIREQ_WRIoa+code|bb" class="sref"REQ_DISCARD href="+code=BIREQ_DISCARD" class="sref">bi_privateo/a>;v<4 href="b4ock/blk-lib.c#L26" id  426" c4ass="line" nam
  L26">i 26nosector    oa href="+codsector  h" clss="sref">bio_bmax_dist.rd_sectors  oa href="+codmax_dist.rd_sectors" class="sref">bi_privateo/a>;v<4 href="b4ock/blk-lib.c#L17" id  417" c47ss="line" nam
  L26">i 26nosector    oa href="+codsector  h" clss="sref">bio_bgranularity  oa href="+codgranularityclass=ss="sref">bio_bal L1>i i1code=atlmic_decl L1>i i" class="sref">bi_privateo/a>;v<4 href="b4ock/blk-lib.c#L18" id  418" c48ss="line" nam
  L20">i 20o/a>        structioa href="+code=bio_batch" cllass="sref">compleieo/a>(oa href="+codass="sref">bi_privateo/a>;v<4 href="b4ock/blk-lib.c#L19" id  419" c49ss="line" nam
  L20">i 20o/a>        structioa href="+code=bio" class="sref">bioo/a> *oa href="+code=ef">linux/kernel.ho/a>>>biorei1code=atlmic_derei+code=b0ef">linux/kernel.ho/a>>>i 20o/a>      lk_plugo/a> =ioa href="v._plugh" cllass="sref">complugo/a> =ioa href=plugh" cef">linux/kernel.ho/a>>>i 21o/a>v<5a href="5block/blk-lib.c#L3" id 523" c5ass="line" nam
  !ss="sref">bio_bq>->oa href="q+codslass="comment"> */o/spaon><5a href="5block/blk-lib.c#L4" id 524" c5ass="line" naaaaaaaaa method class="sref">errNXIOoa href="+code=ENXIOh" cef">linux/kernel.ho/a>>>i 21o/a>v<5 href="b5ock/blk-lib.c#L26" id  526" c56ss="line" nam
  !ss="sref">bio_b"v._queue_dist.rdo/a> =ioa href="v._queue_dist.rdie" class="sref">comq>->oa href="q+codsslass="comment"> */o/spaon><5 href="b5ock/blk-lib.c#L17" id  517" c57ss="line" naaaaaaaaa method class="sref">erro/a> != -oa href="+code=EOPNOTSUPP" clef">linux/kernel.ho/a>>>i 21o/a>v<5 href="b5ock/blk-lib.c#L19" id  519" c59ss="line" na"line" nam
  L1">i i1o/a Zero-sector (unknown) and one-sector granularities are the s" i. /a>ospao class="comment"> */o/spaon><6 href="b6ock/blk-lib.c#L20" id  620" c60ss="line" nam
  L26">i 26nogranularity  oa href="+codgranularityclase=bb" class="sref"max  oa href="+codmaxie" class="sref">comq>->oa href="q+code=bb" class="sref">blimits  oa href="+codlimits+cod. class="sref">bbist.rd_granularity  oa href="+codbist.rd_granularityode=ertic/gfx 9, 1Uit" class="sref">waito/a>);v<6 href="b6ock/blk-lib.c#L21" id  621" c61ss="line" nam
  L26">i 26noal L1>i i1code=atlmic_decl L1>i i" cle=bb" class="sref">h" _bist.rd_al L1>i i1code=atlmic_de>h" _bist.rd_al L1>i iie" class="sref">compesvoa href="+code=besvclasiertic/gfx 9t" class="sref">waito/a>);v<6 href="b6ock/blk-lib.c#L22" id  622" c62ss="line" nam
  L26">i 26noal L1>i i1code=atlmic_decl L1>i i" cle=bb" class="sref"sector divoa href="+code=sector divie" class="sref">comal L1>i i1code=atlmic_decl L1>i i" cls=ss="sref">bio_bgranularity  oa href="+codgranularityclasit" class="sref">waito/a>);v<6a href="6block/blk-lib.c#L3" id 623" c63ss="line" nam
  L21">i 21o/a>v<6a href="6block/blk-lib.c#L4" id 624" c64ss="line" na"line" nam
  L1">i i1o/aospao class="comment"> */o/spaon><6a href="6block/blk-lib.c#L5" id 625" c65ass="line" nam
  L3">i i3o/////////* Ensure that max_dist.rd_sectors is of the proper>ospao class="comment">/*o/spaon><6a href="bblock/blk-lib.c#L6" id  26" c66ass="line" nam
  L3">i i3o/////////* granularity, so that requestsam
ay al L14">after a split.>ospao class="comment">/*o/spaon><6 href="b6ock/blk-lib.c#L17" id  617" c67ass="line" nam
  L3">i i3o/////////*>ospao class="comment"> */o/spaon><6 href="b6ock/blk-lib.c#L18" id  618" c68ss="line" nam
  L26">i 26nomax_dist.rd_sectors  oa href="+codmax_dist.rd_sectors" cle=bb" class="sref"miioa href="+code=miiie" class="sref">comq>->oa href="q+code=bb" class="sref">blimits  oa href="+codlimits+cod. class="sref">bmax_dist.rd_sectors  oa href="+codmax_dist.rd_sectors" cls=ss="sref">bio_bUINT_MAX  oa href="+codUINT_MAXode=ertic/gfx 9it" class="sref">waito/a>);v<6 href="b6ock/blk-lib.c#L19" id  619" c69ss="line" nam
  L26">i 26nosector divoa href="+code=sector divie" class="sref">commax_dist.rd_sectors  oa href="+codmax_dist.rd_sectors" cls=ss="sref">bio_bgranularity  oa href="+codgranularityclasit" class="sref">waito/a>);v<7 href="b7ock/blk-lib.c#L20" id  720" c70ss="line" nam
  L26">i 26nomax_dist.rd_sectors  oa href="+codmax_dist.rd_sectors" cle*=bb" class="sref"granularity  oa href="+codgranularityclast" class="sref">waito/a>);v<7 href="b7ock/blk-lib.c#L21" id  721" c71ss="line" nam
  L24">i 24o/a>  unlikely  oa href="+codunlikelyie" c!ss="sref">bio_bmax_dist.rd_sectors  oa href="+codmax_dist.rd_sectors" cl))lass="sref">bio_batcho/a> {v<7 href="b7ock/blk-lib.c#L22" id  722" c72ss="line" naline" na"line" nam
  L1">i i1o/a Aam
  infinite loop below. Being cautious never hurts./*>ospao class="comment"> */o/spaon><7a href="7block/blk-lib.c#L3" id 723" c7ass="line" nam
  L23" method class="sref">erro/a> != -oa href="+code=EOPNOTSUPP" clef">linux/kernel.ho/a>>><7a href="7block/blk-lib.c#L4" id 724" c74ss="line" na}" class="sref">waito/a>);v<7a href="7block/blk-lib.c#L5" id 725" c75ss="line" nam
  L21">i 21o/a>v<7a href="7block/blk-lib.c#L6" id 726" c76ss="line" nam
   class="sref">bbo/a>->oa href="+code=flag="srefbb" class="sref"BLKDEV_DISCARD_SECURa href="+code=BIOLKDEV_DISCARD_SECURaclasieass="sref">bio_batcho/a> {v<7a href="bblock/blk-lib.c#L7" id  17" c77ss="line" naaaaaaaaam
  !ss="sref">bio_b"v._queue_secdist.rdo/a> =ioa href="v._queue_secdist.rdie" class="sref">comq>->oa href="q+codsslass="comment"> */o/spaon><7 href="b7ock/blk-lib.c#L18" id  718" c78ss="line" naaaaaaaaam
  L23" method class="sref">erro/a> != -oa href="+code=EOPNOTSUPP" clef">linux/kernel.ho/a>>><7 href="b7ock/blk-lib.c#L19" id  719" c79ss="line" naline" na"ass="sref">bio"retoa href="+code="ret+code|=bb" class="sref"REQ_SECURa href="+code=BIREQ_SECURa" clef">linux/kernel.ho/a>>><8 href="b8ock/blk-lib.c#L20" id  820" c80ss="line" na}" class="sref">waito/a>);v<8 href="b8ock/blk-lib.c#L21" id  821" c8ass="line" nam
  L21">i 21o/a>v<8 href="b8ock/blk-lib.c#L22" id  822" c82ss="line" nam
  L26">i 26noa_and_tsei1code=atlmic_dea_and_tseiie" c>atlmic_dec_and_testo/a>(&oa href="+cod. class="sref">bbo/a>->oa href="+code=do, 1it" class="sref">waito/a>);v<8a href="8block/blk-lib.c#L3" id 823" c8ass="line" nam
  L13">i 13o/o/a>(&oa href="+cod. class="sref">bbo/a>->oa href="+code=flag== 1am
  m
  bb" class="sref"B_bito/a>(oa href="+code=BIO_UPTODATE" clast" class="sref">waito/a>);v<8a href="8block/blk-lib.c#L4" id 824" c84ss="line" nam
  L13">i 13o/o/a>(&oa href="+cod. class="sref">bbo/a>->oa href="+code=wa== >atlmic_dec_and_testa>       *oa href="+code=wait" class="sref">waito/a>;v<8a href="8block/blk-lib.c#L5" id 825" c85ss="line" nam
  L21">i 21o/a>v<8a href="8block/blk-lib.c#L6" id 826" c8ass="line" nam
  L26">i 26nonv._m
art_plugo/a> =ioa href="v._m
art_plugie" c>atlmic_dec_and_testplugo/a> =ioa href=plugh" cit" class="sref">waito/a>);v<8a href="8block/blk-lib.c#L7" id 817" c87ss="line" nawhile   class="sref">bno/spcts  oa href="+codno/spctsclasieass="sref">bio_batcho/a> {v<8a href="bblock/blk-lib.c#L8" id  18" c88ss="line" naaaaaaaaam
  L14">o" class="sref">bioreq/spcts  oa href="+codreq/spctse=wait" class="sref">waito/a>;v<8 href="b8ock/blk-lib.c#L19" id  819" c89ss="line" naline" na"ass="sref">biosector    oa href="+codsector  h" clss="sref">bio_b" clsect  oa href="+cod" clsect" cls=ss="sref">bio_btmpoa href="+code="mpe=wait" class="sref">waito/a>;v<9 href="b9ock/blk-lib.c#L20" id  920" c90ss="line" nam
  L21">i 21o/a>v<9 href="b9ock/blk-lib.c#L21" id  921" c91ss="line" nam
  L25">i 25o/a>         structioa href="+code=b=bb" class="sref">bbaalentioa href="+code=bioalentie" class="sref">comgfp_mask  oa href="+codgfp_maskclass=1it" class="sref">waito/a>);v<9 href="b9ock/blk-lib.c#L22" id  922" c92ss="line" naline" nam
  !ss="sref">bio_b"bbo/a> =ioa href="+code=ieass="sref">bio_batcho/a> {v<9a href="9block/blk-lib.c#L3" id 923" c9ass="line" nam
  L23"m
  L25">i 25o/a>      rei1code=atlmic_derei+code=b class="sref">errNOMEMoa href="+code=ENOMEMe=wait" class="sref">waito/a>;v<9a href="9block/blk-lib.c#L4" id 924" c9ass="line" naaaaaaaaaaaaaaaaabreakit" class="sref">waito/a>;v<9a href="9block/blk-lib.c#L5" id 925" c9ass="line" nam
  L25"}" class="sref">waito/a>);v<9a href="9block/blk-lib.c#L6" id 926" c96ss="line" nam
  L21">i 21o/a>v<9a href="9block/blk-lib.c#L7" id 917" c97ss="line" naaaaaaaaalass="sref">bioreq/spcts  oa href="+codreq/spctse=wae=bb" class="sref"mii    oa href="+codmii  ie" class="sref">comsector    oa href="+codsector  h" cs=ss="sref">bio_bno/spcts  oa href="+codno/spctsclass=ss="sref">bio_bmax_dist.rd_sectors  oa href="+codmax_dist.rd_sectors" cl)it" class="sref">waito/a>;v<9a href="9block/blk-lib.c#L8" id 918" c98ss="line" nam
  L21">i 21o/a>v<9a href="bblock/blk-lib.c#L9" id  19" c99ss="line" naline" na"line" nam
  L1">i i1o/aospao class="comment"> */o/spaon><10 href="bloock/blk-lib.c#L10" id  L120" L12ass="line" nam
  L3">i i3o/////////////////* If splitting a request, and the nextam
arting sector would beospao class="comment"> */o/spaon><10 href="bl0ock/blk-lib.c#L11" id  L010" L1lass="line" nam
  L1">i i1o/////////////////* misal L14",am
op the dist.rd at the previous al L14">sector.>ospao class="comment">/*o/spaon><10 href="bl0ock/blk-lib.c#L12" id  L020" L1lass="line" nam
  L2">i i2o/////////////////*>ospao class="comment"> */o/spaon><10 href="bl0ock/blk-lib.c#L13" id  L030" L1ass="line" nam
  L23">i 23o/a>      " clsect  oa href="+cod" clsect" cle=bb" class="sref"sector  oa href="+codsector" cle+class="sref">bioreq/spcts  oa href="+codreq/spctse=wait" class="sref">waito/a>;v<10 href="bl0ock/blk-lib.c#L14" id  L040" L1ass="line" naaaaaaaaass="sref">bio_btmpoa href="+code="mpe=wae=bb" class="sref"" clsect  oa href="+cod" clsect" clit" class="sref">waito/a>;v<10 href="bl0ock/blk-lib.c#L15" id  L050" L1ass="line" nam
  L25"m
   class="sref">breq/spcts  oa href="+codreq/spctse=waem
  bb" class="sref"no/spcts  oa href="+codno/spctsclaserr" class=t" class="sref">waito/a>;v<10 href="bl0ock/blk-lib.c#L16" id  L060" L16ss="line" naaaaaaaaaaaaam
  L26">i 26nosector divoa href="+code=sector divie" class="sref">comtmpoa href="+code="mpe=was=ss="sref">bio_bgranularity  oa href="+codgranularityclasierr"lass="sref">comal L1>i i1code=atlmic_decl L1>i i" clieass="sref">bio_batcho/a> {v<10 href="bl0ock/blk-lib.c#L17" id  L070" L17ss="line" naaaaaaaaam
  L23">i 23o/a>      " clsect  oa href="+cod" clsect" cle=bb" class="sref"" clsect  oa href="+cod" clsect" cle-=ss="sref">bio_bal L1>i i1code=atlmic_decl L1>i i" class="sref">bi_privateo/a>;v<10 href="bl0ock/blk-lib.c#L18" id  L080" L18ss="line" naaaaaaaaam
  L23"m
  L26">i 26nosector divoa href="+code=sector divie" class="sref">com" clsect  oa href="+cod" clsect" cls=ss="sref">bio_bgranularity  oa href="+codgranularityclasit" class="sref">waito/a>);v<10 href="bl0ock/blk-lib.c#L19" id  L090" L19ss="line" naline" nam
  L23">i 23o/a>      " clsect  oa href="+cod" clsect" cle=bb" class="sref"" clsect  oa href="+cod" clsect" cle*am
  L26">i 26nogranularity  oa href="+codgranularityclase+class="sref">bioal L1>i i1code=atlmic_decl L1>i i" class="sref">bi_privateo/a>;v<1a href="bllock/blk-lib.c#L10" id  LL10" 110ss="line" naline" nam
  L23">i 23o/a>      req/spcts  oa href="+codreq/spctse=wae=bb" class="sref"" clsect  oa href="+cod" clsect" cle-=ss="sref">bio_bsector  oa href="+codsector" class="sref">bi_privateo/a>;v<1a href="bloock/blk-lib.c#L11" id  L110" L11ss="line" nam
  L25"}" class="sref">waito/a>);v<1a href="bllock/blk-lib.c#L12" id  LL12" 112ss="line" nam
  L21">i 21o/a>v<1a href="bllock/blk-lib.c#L13" id  LL13" 11ass="line" nam
  L23">i 23o/a>      >bbo/a> =ioa href="+code=bio" class="sref">bioo/sector  oa href="+codoo/sector" cle=bb" class="sref"sector  oa href="+codsector" class="sref">bi_privateo/a>;v<1a href="bllock/blk-lib.c#L14" id  LL14" 11ass="line" naaaaaaaaass="sref">bio_b>bbo/a> =ioa href="+code=bio" class="sref">bioo/oa href="+code=bio_batco" class="sb=bb" class="sref">bba voidioa href="+code=bio_batch_end_io" class="sass="sref">bi_privateo/a>;v<1a href="bllock/blk-lib.c#L15" id  LL15" 11ass="line" nam
  L25">i 25o/a>      >bbo/a> =ioa href="+code=bio" class="sref">bioo/pesvoa href="+code=bo/pesvs="sb=bb" class="sref">esvoa href="+code=besvclasass="sref">bi_privateo/a>;v<1a href="bllock/blk-lib.c#L16" id  LL16" 116ss="line" naaaaaaaaa>i 25o/a>      >bbo/a> =ioa href="+code=bio" class="sref">bioo/a>->oa href="+code=bi_private" cl== >atlmic_dec_and_testpleieo/a>(oa href="+codass="sref">bi_privateo/a>;v<1a href="bllock/blk-lib.c#L17" id  LL17" 1lass="line" nam
  L17">i 17o/a>vi 23o/a>      >bbo/a> =ioa href="+code=bio" class="sref">bioo/siz;oa href="+code=bi_siz;s="sb=bb" class="sref"req/spcts  oa href="+codreq/spctse=waem
  m
  b9t" class="sref">waito/a>);v<1a href="bllock/blk-lib.c#L19" id  LL19" 119ss="line" naline" na"ass="sref">biono/spcts  oa href="+codno/spctsclase-=bb" class="sref"req/spcts  oa href="+codreq/spctse=wat" class="sref">waito/a>);v<1a href="b1lock/blk-lib.c#L20" id  1L20" 120ss="line" naline" nab" class="sref"sector  oa href="+codsector" cle=bb" class="sref"" clsect  oa href="+cod" clsect" clit" class="sref">waito/a>;v<1a href="b1lock/blk-lib.c#L21" id  1L21" 1lass="line" nam
  L21">i 21o/a>v<1a href="b1lock/blk-lib.c#L22" id  1L22" 122ss="line" naline" na"
  L26">i 26noa_and_tintioa href="+codea_and_tintie" c>atlmic_dec_and_testo/a>(&oa href="+cod. class="sref">bbo/a>->oa href="+code=doit" class="sref">waito/a>);v<1a href="b1lock/blk-lib.c#L23" id  1L23" 1lass="line" nam
  L23">i 23o/a>      "ajax+_>bbo/a> =ioa href="ajax+_>bbie" class="sref">comtretoa href="+code="ret+cods=ss="sref">bio_bpbbo/a> =ioa href="+code=it" class="sref">waito/a>);v<1a href="b1lock/blk-lib.c#L24" id  1L24" 124ss="line" na}" class="sref">waito/a>);v<1a href="b1lock/blk-lib.c#L25" id  1L25" 1lass="line" nam
  L26">i 26nonv._finish_plugo/a> =ioa href="v._finish_plugie" c>atlmic_dec_and_testplugo/a> =ioa href=plugh" cit" class="sref">waito/a>);v<1a href="b1lock/blk-lib.c#L26" id  1L26" 126ss="line" nam
  L21">i 21o/a>v<1a href="b12ock/blk-lib.c#L17" id  1217" 127ss="line" namline" nam
  L1">i i1o/a Wait for "+csein-flimg /*>ospao class="comment"> */o/spaon><1a href="b12ock/blk-lib.c#L18" id  1218" 128ss="line" nam
  !ss="sref">bio_b      if (oa href="+code=atlmic_dec_and_test" class="sref">atlmic_dec_and_testo/a>(&oa href="+cod. class="sref">bbo/a>->oa href="+code=doierr" class="sref">erro/a>)vbio+cod_for_   structioa href="+code=+cod_for_   structisref">atlmic_dec_and_testbo/a>->oa href="+code=wait" class="sref">waito/a>);v<13 href="b13ock/blk-lib.c#L20" id  1320" 130ss="line" nam
  L21">i 21o/a>v<13 href="b13ock/blk-lib.c#L21" id  1321" 131ss="line" nam
  !ss="sref">bio_bss="     oa href="+codess="    ie" class="sref">comr_bito/a>(oa href="+code=BIO_UPTODATE" class="sref">BIO_UPTODATEo/a>, &oa href="+cod. class="sref">bbo/a>->oa href="+code=flagierr" class="sref">erro/a>)vi 26norei1code=atlmic_derei+code=b class="sref">errIOoa href="+code=EIOh" cef">linux/kernel.ho/a>>><13a href="1bblock/blk-lib.c#L3" id 1 23" 133ss="line" nam
  L21">i 21o/a>v<13 href="b13ock/blk-lib.c#L24" id  1324" 134ss="line" na method"
  L26">i 26norei1code=atlmic_derei+codef">linux/kernel.ho/a>>><13 href="b13ock/blk-lib.c#L25" id  1325" 135ass=}" class="sref">waito/a>);v<13 href="b13ock/blk-lib.c#L26" id  1326" 136ass="lass="sref">errXPORT_SYMBOLoa href="+code=EXPORT_SYMBOLie" class="sref">comev.h" _issue_dist.rdo/a> =ioa href="v.h" _issue_dist.rds="sit" class="sref">waito/a>);v<13 href="b13ock/blk-lib.c#L17" id  1317" 13ass="line" nam
  L17">i 17o/a>vi i3o/aa>ospao class="comment">/*o/spaon><13 href="b13ock/blk-lib.c#L19" id  1319" 139ass="line" nam
  L1">i i1o/a>ev.h" _issue_write_s" i - queue a write s" i operauctisrspao class="comment">/*o/spaon><1a href="b14ock/blk-lib.c#L20" id  1420" 140ass="line" nam
  L2">i i2o/a>@bh" :ine" nat typ
ament"h" srspao class="comment">/*o/spaon><1a href="b14ock/blk-lib.c#L21" id  1421" 14lass="line" nam
  L1">i i1o/a>@sector:e" nam
art sector>ospao class="comment">/*o/spaon><1a href="b14ock/blk-lib.c#L22" id  1422" 14lass="line" nam
  L2">i i2o/a>@no/spcts:e" number of sectorsent"write>ospao class="comment">/*o/spaon><1aa href="14block/blk-lib.c#L3" id 1423" 14lass="line" nam
  L3">i i3o/a @gfp_mask:e" memory alenta3.0.6code= (for n vaalent)>ospao class="comment">/*o/spaon><14a href="1bblock/blk-lib.c#L4" id 1 24" 144ass="line" nam
  L3">i i3o/a @page:ine" napage"containing dataent"write>ospao class="comment">/*o/spaon><1a href="b14ock/blk-lib.c#L25" id  1425" 145ass="line" nam
  L3">i i3o/a>ospao class="comment">/*o/spaon><1a href="b14ock/blk-lib.c#L26" id  1426" 146ass="line" nam
  L3">i i3o/a Descri  ospao class="comment">/*o/spaon><14 href="b14ock/blk-lib.c#L17" id  1417" 147ass="line" nam
  L3">i i3o/a    Issue a write s" i request for the sectorsein questospao class="comment">/*o/spaon><14 href="b14ock/blk-lib.c#L18" id  1418" 148ass="line" nam
  L3">i i3o/a>ospao class="comment"> */o/spaon><14 href="b14ock/blk-lib.c#L19" id  1419" 149ss="o" class="sref">bioev.h" _issue_write_s" io/a> =ioa href="v.h" _issue_write_s" iie" cef">bio_batch_end_ioo/ant">tesvic;oa href="+code=bnt">tesvic;h" class="sref">bio_baesvoa href="+code=besvclass=ss="sref">bio_bsector    oa href="+codsector  h" clss="sref">bio_bsector  oa href="+codsectorclasslass="comment"> */o/spaon><1a href="b15ock/blk-lib.c#L20" id  1520" 150ss="line" naline" nam
  L23"L23">i 23o/a>      "ector    oa href="+codsector  h" clss="sref">bio_bno/spcts  oa href="+codno/spctsclass=ss="sref">bio_bgfp_   oa href="+codgfp_ h" clss="sref">bio_bgfp_mask  oa href="+codgfp_maskclasslass="comment"> */o/spaon><1a href="b15ock/blk-lib.c#L21" id  1521" 151ss="line" nam
  L25"""""""""""""ef">bio_batch_end_ioo/pageo/a> =ioa href=pageh" class="sref">bio_bpageo/a> =ioa href=pageh" cerr" class="sref">erro/a>)vi 19o/a>{v<15a href="15block/blk-lib.c#L3" id 1523" 15ass="line" nam
  L13">i 13o/DECLARE_COMPLETION_ONSTACK->oa href="+DECLARE_COMPLETION_ONSTACKie" class="sref">combo/a>->oa href="+code=wait" class="sref">waito/a>);v<15a href="15block/blk-lib.c#L4" id 1524" 15ass="line" naef">bio_batch_end_ioo/request_queue>->oa href="request_queueh" class="sref">bio_bq>->oa href="q+code=bb" class="sref">h" _get_queue>->oa href=">h" _get_queueie" class="sref">compesvoa href="+code=besvclasit" class="sref">waito/a>);v<1aa href="1bblock/blk-lib.c#L5" id 1 25" 15ass="line" nam
  L14">o" class="sref">biomax_write_s" i_sectors  oa href="+codmax_write_s" i_sectors+codef">linux/kernel.ho/a>>><15 href="b15ock/blk-lib.c#L26" id  1526" 156ss="line" nam
  L20">i 20o/a>        structioa href="+code=bio_batch" cllass="sref">compleieo/a>(oa href="+codass="sref">bi_privateo/a>;v<15 href="b15ock/blk-lib.c#L17" id  1517" 157ss="line" nam
  L20">i 20o/a>        structioa href="+code=bio" class="sref">bioo/a> *oa href="+code=ef">linux/kernel.ho/a>>><1a href="b15ock/blk-lib.c#L18" id  1518" 158ss="line" nam" class="sref">biorei1code=atlmic_derei+code=b0ef">linux/kernel.ho/a>>><15 href="b15ock/blk-lib.c#L19" id  1519" 15lass="line" nam
  L9">i i9o/a>vbio_bq>->oa href="q+codslass="comment"> */o/spaon><16 href="b16ock/blk-lib.c#L21" id  1621" 161ss="line" nam
  L25" method class="sref">errNXIOoa href="+code=ENXIOh" cef">linux/kernel.ho/a>>><16 href="b16ock/blk-lib.c#L22" id  1622" 162ss="line" nam
  L21">i 21o/a>v<16a href="16block/blk-lib.c#L3" id 1623" 16ass="line" nam
  L13">i 13o/max_write_s" i_sectors  oa href="+codmax_write_s" i_sectors+code=bb" class="sref"q>->oa href="q+code=bb" class="sref">blimits  oa href="+codlimits+cod. class="sref">bmax_write_s" i_sectors  oa href="+codmax_write_s" i_sectors+codef">linux/kernel.ho/a>>><16a href="16block/blk-lib.c#L4" id 1624" 164ss="f">linux/kernel.ho/a>>><16a href="16block/blk-lib.c#L5" id 1625" 165ss="line" nam
  m
  L13">i 13o/max_write_s" i_sectors  oa href="+codmax_write_s" i_sectors+code==b0slass="comment"> */o/spaon><16 href="bloock/blk-lib.c#L16" id  L126" 166ss="line" naaaaaaaaa method class="sref">erro/a> != -oa href="+code=EOPNOTSUPP" clef">linux/kernel.ho/a>>><16 href="b16ock/blk-lib.c#L17" id  1617" 16ass="line" nam
  L17">i 17o/a>vi 26noa_and_tsei1code=atlmic_dea_and_tseiie" c>atlmic_dec_and_testo/a>(&oa href="+cod. class="sref">bbo/a>->oa href="+code=do, 1it" class="sref">waito/a>);v<16 href="b16ock/blk-lib.c#L19" id  1619" 169ss="line" nam
  L26">i 26noo/a>(&oa href="+cod. class="sref">bbo/a>->oa href="+code=flag== 1am
  m
  bb" class="sref"B_bito/a>(oa href="+code=BIO_UPTODATE" clast" class="sref">waito/a>);v<17 href="b17ock/blk-lib.c#L20" id  1720" 170ss="line" nam
  L26">i 26noo/a>(&oa href="+cod. class="sref">bbo/a>->oa href="+code=wa== >atlmic_dec_and_testa>       *oa href="+code=wait" class="sref">waito/a>;v<17 href="b17ock/blk-lib.c#L21" id  1721" 17ass="line" nam
  L21">i 21o/a>v<17 href="b17ock/blk-lib.c#L22" id  1722" 172ss="line" nawhile   class="sref">bno/spcts  oa href="+codno/spctsclasieass="sref">bio_batcho/a> {v<17a href="17block/blk-lib.c#L3" id 1723" 17ass="line" nam
  L23"">i 20o/a>        structioa href="+code=b=bb" class="sref">bbaalentioa href="+code=bioalentie" class="sref">comgfp_mask  oa href="+codgfp_maskclass=1it" class="sref">waito/a>);v<17a href="17block/blk-lib.c#L4" id 1724" 17ass="line" naaaaaaaaam
  !ss="sref">bio_b"bbo/a> =ioa href="+code=ieass="sref">bio_batcho/a> {v<17a href="17block/blk-lib.c#L5" id 1725" 17ass="line" nam
  L25"m
  L23"">i 20o/a>     rei1code=atlmic_derei+code=b class="sref">errNOMEMoa href="+code=ENOMEMe=wait" class="sref">waito/a>;v<17a href="17block/blk-lib.c#L6" id 1726" 176ss="line" naaaaaaaaaaaaaaaaabreakit" class="sref">waito/a>;v<17a href="1bblock/blk-lib.c#L7" id 1 17" 177ss="line" naaaaaaaaa}" class="sref">waito/a>);v<17 href="b17ock/blk-lib.c#L18" id  1718" 178ss="line" nam
  L21">i 21o/a>v<17 href="b17ock/blk-lib.c#L19" id  1719" 179ss="line" naline" na"ass="sref">bio>bbo/a> =ioa href="+code=bio" class="sref">bioo/sector  oa href="+codoo/sector" cle=bb" class="sref"sector  oa href="+codsector" class="sref">bi_privateo/a>;v<18 href="b18ock/blk-lib.c#L20" id  1820" 180ss="line" naline" nab" class="sref">bbo/a> =ioa href="+code=bio" class="sref">bioo/oa href="+code=bio_batco" class="sb=bb" class="sref">bba voidioa href="+code=bio_batch_end_io" class="sass="sref">bi_privateo/a>;v<18 href="b18ock/blk-lib.c#L21" id  1821" 181ss="line" nam
  L25">i 25o/a>         structioa href="+code=bio" class="sref">bioo/pesvoa href="+code=bo/pesvs="sb=bb" class="sref">esvoa href="+code=besvclasass="sref">bi_privateo/a>;v<18 href="b18ock/blk-lib.c#L22" id  1822" 182ss="line" naline" na"
  L26">i 26no>bbo/a> =ioa href="+code=bio" class="sref">bioo/a>->oa href="+code=bi_private" cl== >atlmic_dec_and_testpleieo/a>(oa href="+codass="sref">bi_privateo/a>;v<18a href="18block/blk-lib.c#L3" id 1823" 18ass="line" nam
  L23">i 23o/a>      >bbo/a> =ioa href="+code=bio" class="sref">bioo/vc i1code=atlmic_de>o/vc iflag== 1ass="sref">bi_privateo/a>;v<18a href="18block/blk-lib.c#L4" id 1824" 18ass="line" naaaaaaaaass="sref">bio_b>bbo/a> =ioa href="+code=bio" class="sref">bioo/ch_vetioa href="+code=b/ch_vetode=bio" class="sref">biov_pageo/a> =ioa href=ov_pages="sb=bb" class="sref"pageo/a> =ioa href=pageh" cass="sref">bi_privateo/a>;v<18a href="18block/blk-lib.c#L5" id 1825" 18ass="line" nam
  L25">i 25o/a>      >bbo/a> =ioa href="+code=bio" class="sref">bioo/ch_vetioa href="+code=b/ch_vetode=bio" class="sref">biov_offsei1code=atlmic_deov_offsei+code=b0ef">linux/kernel.ho/a>>><18a href="18block/blk-lib.c#L6" id 1826" 186ss="line" naaaaaaaaa>i 25o/a>      >bbo/a> =ioa href="+code=bio" class="sref">bioo/ch_vetioa href="+code=b/ch_vetode=bio" class="sref">biov_leioa href="+code=ov_lei+code=bb" class="sref">h" _logical_bnt">tsiz;oa href="+code=bh" _logical_bnt">tsiz;ie" class="sref">compesvoa href="+code=besvclasit" class="sref">waito/a>);v<18a href="18block/blk-lib.c#L7" id 1817" 18ass="line" nam
  L17">i 17o/a>vi 13o/no/spcts  oa href="+codno/spctsclaserg  bb" class="sref"max_write_s" i_sectors  oa href="+codmax_write_s" i_sectors+codieass="sref">bio_batcho/a> {v<18 href="b18ock/blk-lib.c#L19" id  1819" 189ss="line" naline" naaaaaaaaa>i 25o/a>      >bbo/a> =ioa href="+code=bio" class="sref">bioo/siz;oa href="+code=bi_siz;s="sb=bb" class="sref"max_write_s" i_sectors  oa href="+codmax_write_s" i_sectors+codem
  m
  b9t" class="sref">waito/a>);v<19 href="b19ock/blk-lib.c#L20" id  1920" 190ss="line" naline" nam
  L23">i 23o/a>      no/spcts  oa href="+codno/spctsclase-=bb" class="sref"max_write_s" i_sectors  oa href="+codmax_write_s" i_sectors+codef">linux/kernel.ho/a>>><19 href="b19ock/blk-lib.c#L21" id  1921" 191ss="line" nam
  L25"m
  L23">i 23o/a>      sector  oa href="+codsector" cle+=bb" class="sref"max_write_s" i_sectors  oa href="+codmax_write_s" i_sectors+codef">linux/kernel.ho/a>>><19 href="b19ock/blk-lib.c#L22" id  1922" 192ss="line" naline" na} elseeass="sref">bio_batcho/a> {v<19a href="19block/blk-lib.c#L3" id 1923" 19ass="line" nam
  L23"m
  L25">i 25o/a>      >bbo/a> =ioa href="+code=bio" class="sref">bioo/siz;oa href="+code=bi_siz;s="sb=bb" class="sref"no/spcts  oa href="+codno/spctsclaser
  m
  b9t" class="sref">waito/a>);v<19a href="19block/blk-lib.c#L4" id 1924" 19ass="line" naaaaaaaaaaaaaaaaab" class="sref"no/spcts  oa href="+codno/spctsclase=b0ef">linux/kernel.ho/a>>><19a href="19block/blk-lib.c#L5" id 1925" 19ass="line" nam
  L25"}" class="sref">waito/a>);v<19a href="19block/blk-lib.c#L6" id 1926" 196ss="line" nam
  L21">i 21o/a>v<19a href="19block/blk-lib.c#L7" id 1917" 197ss="line" naaaaaaaaalass="sref">bioa_and_tintioa href="+codea_and_tintie" c>atlmic_dec_and_testo/a>(&oa href="+cod. class="sref">bbo/a>->oa href="+code=doit" class="sref">waito/a>);v<19a href="19block/blk-lib.c#L8" id 1918" 198ss="line" naaaaaaaaa>i 23o/a>      "ajax+_>bbo/a> =ioa href="ajax+_>bbie" class="sref">comREQ_WRIoa href="+code=BIREQ_WRIoa+code|bb" class="sref"REQ_WRIoa_SAMa href="+code=BIREQ_WRIoa_SAMaclass=ss="sref">bio_b"bbo/a> =ioa href="+code=it" class="sref">waito/a>);v<19 href="bloock/blk-lib.c#L19" id  L119" 199ss="line" na}" class="sref">waito/a>);vi 21o/a>v<20 href="b20ock/blk-lib.c#L11" id  2010" 201ss="line" namline" nam
  L1">i i1o/a Wait for "+csein-flimg /*>ospao class="comment"> */o/spaon><20 href="b20ock/blk-lib.c#L12" id  2020" 20ass="line" nam
  !ss="sref">bio_b      if (oa href="+code=atlmic_dec_and_test" class="sref">atlmic_dec_and_testo/a>(&oa href="+cod. class="sref">bbo/a>->oa href="+code=doierr" class="sref">erro/a>)v<20 href="b20ock/blk-lib.c#L13" id  2030" 21ass="line" nam
  L23">i 23o/a>      +cod_for_   structioa href="+code=+cod_for_   structisref">atlmic_dec_and_testbo/a>->oa href="+code=wait" class="sref">waito/a>);v<20 href="b20ock/blk-lib.c#L14" id  2040" 204ss="f">linux/kernel.ho/a>>><20 href="b20ock/blk-lib.c#L15" id  2050" 205ss="line" nam
  !ss="sref">bio_bss="     oa href="+codess="    ie" class="sref">comr_bito/a>(oa href="+code=BIO_UPTODATE" class="sref">BIO_UPTODATEo/a>, &oa href="+cod. class="sref">bbo/a>->oa href="+code=flagierr" class="sref">erro/a>)v<20 href="b20ock/blk-lib.c#L16" id  2060" 216ss="line" naaaaaaaaa">i 20o/a>     rei1code=atlmic_derei+code=b class="sref">errNO != -oa href="+code=ENOTSUPP" clef">linux/kernel.ho/a>>><20 href="b20ock/blk-lib.c#L17" id  2070" 20ass="line" nam
  L17">i 17o/a>v<20 href="b20ock/blk-lib.c#L18" id  2080" 218ss="line" na method"
  L26">i 26norei1code=atlmic_derei+codef">linux/kernel.ho/a>>><20 href="b20ock/blk-lib.c#L19" id  2090" 219ss="}" class="sref">waito/a>);verrXPORT_SYMBOLoa href="+code=EXPORT_SYMBOLie" class="sref">comev.h" _issue_write_s" io/a> =ioa href="v.h" _issue_write_s" iie" it" class="sref">waito/a>);v<2a href="b2oock/blk-lib.c#L11" id  2110" 21ass="line" nam
  L21">i 21o/a>v<2a href="b2lock/blk-lib.c#L12" id  2L12" 21lass="line" nam
  L2">i i2o/aa>ospao class="comment">/*o/spaon><2a href="b2lock/blk-lib.c#L13" id  2L13" 21lass="line" nam
  L3">i i3o/a "v.h" _issue_zeroout - generaue number of zero filed write "+cs>ospao class="comment">/*o/spaon><2a href="b2lock/blk-lib.c#L14" id  2L14" 214ass="line" nam
  L3">i i3o/a @bh" :ine" nament"h" ent"issue>ospao class="comment">/*o/spaon><2a href="b2lock/blk-lib.c#L15" id  2L15" 215ass="line" nam
  L3">i i3o/a @sector:e" nam
art sector>ospao class="comment">/*o/spaon><2a href="b2lock/blk-lib.c#L16" id  2L16" 216ass="line" nam
  L3">i i3o/a @no/spcts:e" number of sectorsent"write>ospao class="comment">/*o/spaon><2a href="b2lock/blk-lib.c#L17" id  2L17" 217ass="line" nam
  L3">i i3o/a @gfp_mask:e" memory alenta3.0.6code= (for n vaalent)>ospao class="comment">/*o/spaon><2a href="b2lock/blk-lib.c#L18" id  2L18" 218ass="line" nam
  L3">i i3o/a>ospao class="comment">/*o/spaon><2a href="b2lock/blk-lib.c#L19" id  2L19" 219ass="line" nam
  L1">i i1o/a>Descri  ospao class="comment">/*o/spaon><2a href="b2lock/blk-lib.c#L20" id  2L20" 220ass="line" nam
  L2">i i2o/a> Generaue and issue number of "+csewith zerofiled pages.>ospao class="comment">/*o/spaon><2a href="b2lock/blk-lib.c#L21" id  2L21" 22lass="line" nam
  L1">i i1o/a>ospao class="comment"> */o/spaon><2a href="b2lock/blk-lib.c#L22" id  2L22" 222ss="line" nam
  L21">i 21o/a>v<2a href="b2lock/blk-lib.c#L23" id  2L23" 2lass="m" class="sref">bio__"v.h" _issue_zeroouto/a> =ioa href=__"v.h" _issue_zerooutie" cef">bio_batch_end_ioo/ant">tesvic;oa href="+code=bnt">tesvic;h" class="sref">bio_baesvoa href="+code=besvclass=ss="sref">bio_bsector    oa href="+codsector  h" clss="sref">bio_bsector  oa href="+codsectorclasslass="comment"> */o/spaon><2a href="b2lock/blk-lib.c#L24" id  2L24" 22ass="line" naaaaaaaaaaaaaaaaab" class="sref""ector    oa href="+codsector  h" clss="sref">bio_bno/spcts  oa href="+codno/spctsclass=ss="sref">bio_bgfp_   oa href="+codgfp_ h" clss="sref">bio_bgfp_mask  oa href="+codgfp_maskclaserr" class="sref">erro/a>)v<2a href="b2lock/blk-lib.c#L25" id  2L25" 2lass="ass="sref">bio_batcho/a> {v<2a href="b2lock/blk-lib.c#L26" id  2L26" 226ss="line" nam" class="sref">biorei1code=atlmic_derei+codt" class="sref">waito/a>);v<2a href="b22ock/blk-lib.c#L17" id  2217" 227ss="line" nam
  L20">i 20o/a>        structioa href="+code=bio" class="sref">bioo/a> *oa href="+code=ef">linux/kernel.ho/a>>><2a href="b22ock/blk-lib.c#L18" id  2218" 228ss="line" nam
  L20">i 20o/a>        structioa href="+code=bio_batch" cllass="sref">compleieo/a>(oa href="+codass="sref">bi_privateo/a>;v<2a href="b22ock/blk-lib.c#L19" id  2219" 229ss="line" nam
  L14">o" class="sref">biosz  oa href="+codsz+codass="sref">bi_privateo/a>;v<23 href="b23ock/blk-lib.c#L20" id  2320" 230ss="line" nam
  L26">i 26noDECLARE_COMPLETION_ONSTACK->oa href="+DECLARE_COMPLETION_ONSTACKie" class="sref">combo/a>->oa href="+code=wait" class="sref">waito/a>);v<23 href="b23ock/blk-lib.c#L21" id  2321" 23ass="line" nam
  L21">i 21o/a>v<23 href="b23ock/blk-lib.c#L22" id  2322" 232ss="line" nass="sref">bio_b      isei1code=atlmic_dea_and_tseiie" c>atlmic_dec_and_testo/a>(&oa href="+cod. class="sref">bbo/a>->oa href="+code=do, 1it" class="sref">waito/a>);v<23a href="2bblock/blk-lib.c#L3" id 2 23" 23ass="line" nam
  L13">i 13o/o/a>(&oa href="+cod. class="sref">bbo/a>->oa href="+code=flag== 1am
  m
  bb" class="sref"B_bito/a>(oa href="+code=BIO_UPTODATE" clast" class="sref">waito/a>);v<23 href="b23ock/blk-lib.c#L24" id  2324" 234ss="line" nam
  L13">i 13o/o/a>(&oa href="+cod. class="sref">bbo/a>->oa href="+code=wa== >atlmic_dec_and_testa>       *oa href="+code=wait" class="sref">waito/a>;v<23 href="b23ock/blk-lib.c#L25" id  2325" 235ss="line" nam
  L21">i 21o/a>v<23 href="b23ock/blk-lib.c#L26" id  2326" 23ass="line" nam
  L26">i 26norei1code=atlmic_derei+code=b0ef">linux/kernel.ho/a>>><23 href="b23ock/blk-lib.c#L17" id  2317" 237ss="line" nawhile   class="sref">bno/spcts  oa href="+codno/spctsclaserr"0ieass="sref">bio_batcho/a> {v<23 href="b23ock/blk-lib.c#L18" id  2318" 238ss="line" naaaaaaaaa>i 23o/a>      >bbo/a> =ioa href="+code=b=bb" class="sref">bbaalentioa href="+code=bioalentie" class="sref">comgfp_mask  oa href="+codgfp_maskclassss="sref">bio_batcho/a> {v<23 href="b23ock/blk-lib.c#L19" id  2319" 239ss="line" naline" naaaaaaaaaaaaaaaaa>i 23o/a>      miioa href="+code=miiie" class="sref">comno/spcts  oa href="+codno/spctsclass=class="sref">comsector    oa href="+codsector  h" c)b" class="sref"B_biMAX_PAGES href="+code=BIO_UPMAX_PAGESflagieef">linux/kernel.ho/a>>><2a href="b24ock/blk-lib.c#L20" id  2420" 240ss="line" naline" nam
  !ss="sref">bio_b"bbo/a> =ioa href="+code=ieass="sref">bio_batcho/a> {v<2a href="b24ock/blk-lib.c#L21" id  2421" 241ss="line" nam
  L25"m
  L23">i 23o/a>      rei1code=atlmic_derei+code=b class="sref">errNOMEMoa href="+code=ENOMEMe=wait" class="sref">waito/a>;v<2a href="b24ock/blk-lib.c#L22" id  2422" 242ss="line" naline" naaaaaaaaabreakit" class="sref">waito/a>;v<2aa href="24block/blk-lib.c#L3" id 2423" 24ass="line" nam
  L23"}" class="sref">waito/a>);vlinux/kernel.ho/a>>><2a href="b24ock/blk-lib.c#L25" id  2425" 24ass="line" nam
  L25">i 25o/a>      >bbo/a> =ioa href="+code=bio" class="sref">bioo/sector  oa href="+codoo/sector" cle=bb" class="sref"sector  oa href="+codsector" class="sref">bi_privateo/a>;v<2a href="b24ock/blk-lib.c#L26" id  2426" 246ss="line" naaaaaaaaa>i 25o/a>      >bbo/a> =ioa href="+code=bio" class="sref">bioo/pesvoa href="+code=bo/pesvs="sb b=bb" class="sref">esvoa href="+code=besvclasass="sref">bi_privateo/a>;v<24 href="b24ock/blk-lib.c#L17" id  2417" 247ss="line" naaaaaaaaalass="sref">bio>bbo/a> =ioa href="+code=bio" class="sref">bioo/oa href="+code=bio_batco" class="sb=bb" class="sref">bba voidioa href="+code=bio_batch_end_io" class="sass="sref">bi_privateo/a>;v<24 href="b24ock/blk-lib.c#L18" id  2418" 248ss="line" naaaaaaaaa>i 23o/a>      >bbo/a> =ioa href="+code=bio" class="sref">bioo/a>->oa href="+code=bi_private" cl== >atlmic_dec_and_testpleieo/a>(oa href="+codass="sref">bi_privateo/a>;v<24 href="b24ock/blk-lib.c#L19" id  2419" 24lass="line" nam
  L9">i i9o/a>v<2a href="b25ock/blk-lib.c#L20" id  2520" 250ss="line" naline" nawhile   class="sref">bno/spcts  oa href="+codno/spctsclaserr"0ieass="sref">bio_batcho/a> {v<2a href="b25ock/blk-lib.c#L21" id  2521" 251ss="line" nam
  L25"""""""""lass="sref">biosz  oa href="+codsz+code=bb" class="sref"miioa href="+code=miiie" cclass="sref">comsector    oa href="+codsector  h" c)bb" class="sref"PAGE_SIZa href="+code=BIPAGE_SIZa+codertic/gfx 9 s=ss="sref">bio_bno/spcts  oa href="+codno/spctsclaseef">linux/kernel.ho/a>>><2a href="b25ock/blk-lib.c#L22" id  2522" 252ss="line" naline" naaaaaaaaa>i 23o/a>      rei1code=atlmic_derei+code=bb" class="sref">bbaadd_pageo/a> =ioa href=obbaadd_pageie" class="sref">comebbo/a> =ioa href="+code=s=ss="sref">bio_bZERO_PAGEo/a> =ioa href=ZERO_PAGEie" c0)s=ss="sref">bio_bsz  oa href="+codsz+coder
  m
  b9,"0ief">linux/kernel.ho/a>>><2aa href="25block/blk-lib.c#L3" id 2523" 25ass="line" nam
  L23"m
  L25">i 25o/a>      no/spcts  oa href="+codno/spctsclase-=bb" class="sref"rei1code=atlmic_derei+codertic/gfx 9ef">linux/kernel.ho/a>>><2aa href="25block/blk-lib.c#L4" id 2524" 25ass="line" naaaaaaaaaaaaaaaaab" class="sref""ector  oa href="+codsector" cle+=bb" class="sref"rei1code=atlmic_derei+codertic/gfx 9ef">linux/kernel.ho/a>>><2a href="b2bblock/blk-lib.c#L5" id 2 25" 25ass="line" nam
  L25"m
  L23"m
   class="sref">brei1code=atlmic_derei+coder
  bclass="sref">comsz  oa href="+codsz+coder
  m
  b9ierr" class="sref">erro/a>)v<25 href="b25ock/blk-lib.c#L26" id  2526" 256ss="line" naaaaaaaaaaaaaaaaaaaaaaaaabreakit" class="sref">waito/a>;v<25 href="b25ock/blk-lib.c#L17" id  2517" 257ss="line" naaaaaaaaa}" class="sref">waito/a>);v<2a href="b25ock/blk-lib.c#L18" id  2518" 258ss="line" naaaaaaaaa>i 23o/a>      rei1code=atlmic_derei+code=b0ef">linux/kernel.ho/a>>><25 href="b25ock/blk-lib.c#L19" id  2519" 259ss="line" naline" na"ass="sref">bioa_and_tintioa href="+codea_and_tintie" c>atlmic_dec_and_testo/a>(&oa href="+cod. class="sref">bbo/a>->oa href="+code=doit" class="sref">waito/a>);v<26 href="b26ock/blk-lib.c#L20" id  2620" 260ss="line" naline" nab" class="sref"sajax+_>bbo/a> =ioa href="ajax+_>bbie" class="sref">comWRIoa href="+code=BIWRIoa+cods=ss="sref">bio_b"bbo/a> =ioa href="+code=it" class="sref">waito/a>);v<26 href="b26ock/blk-lib.c#L21" id  2621" 261ss="line" na}" class="sref">waito/a>);v<26 href="b26ock/blk-lib.c#L22" id  2622" 262ss="line" nam
  L21">i 21o/a>v<26a href="26block/blk-lib.c#L3" id 2623" 26ass="line" namline" nam
  L1">i i1o/a Wait for "+csein-flimg /*>ospao class="comment"> */o/spaon><26a href="26block/blk-lib.c#L4" id 2624" 26ass="line" nam
  !ss="sref">bio_b      if (oa href="+code=atlmic_dec_and_test" class="sref">atlmic_dec_and_testo/a>(&oa href="+cod. class="sref">bbo/a>->oa href="+code=doierr" class="sref">erro/a>)v<26a href="26block/blk-lib.c#L5" id 2625" 26ass="line" nam
  L25">i 25o/a>      +cod_for_   structioa href="+code=+cod_for_   structisref">atlmic_dec_and_testbo/a>->oa href="+code=wait" class="sref">waito/a>);v<26 href="b2oock/blk-lib.c#L16" id  2126" 266ss="line" nam
  L21">i 21o/a>v<26 href="b26ock/blk-lib.c#L17" id  2617" 267ss="line" nam
  !ss="sref">bio_bss="     oa href="+codess="    ie" class="sref">comr_bito/a>(oa href="+code=BIO_UPTODATE" class="sref">BIO_UPTODATEo/a>, &oa href="+cod. class="sref">bbo/a>->oa href="+code=flagierr" class="sref">erro/a>)v<26 href="b26ock/blk-lib.c#L18" id  2618" 268ss="line" naaaaaaaaa>line" nam
  L1">i i1o/a One of "+csein the end_i was    strued with error.*>ospao class="comment"> */o/spaon><26 href="b26ock/blk-lib.c#L19" id  2619" 269ss="line" naline" na"ass="sref">biorei1code=atlmic_derei+code=b class="sref">errIOoa href="+code=EIOh" cef">linux/kernel.ho/a>>><27 href="b27ock/blk-lib.c#L20" id  2720" 270ss="line" nam
  L21">i 21o/a>v<27 href="b27ock/blk-lib.c#L21" id  2721" 271ss="line" na method"
  L26">i 26norei1code=atlmic_derei+codef">linux/kernel.ho/a>>><27 href="b27ock/blk-lib.c#L22" id  2722" 272ss="}" class="sref">waito/a>);v<27a href="27block/blk-lib.c#L3" id 2723" 273ss="line" nam
  L21">i 21o/a>v<27a href="27block/blk-lib.c#L4" id 2724" 274ass="line" nam
  L3">i i3o/aa>ospao class="comment">/*o/spaon><27a href="27block/blk-lib.c#L5" id 2725" 275ass="line" nam
  L3">i i3o/a "v.h" _issue_zeroout - zero-fill aament" range>ospao class="comment">/*o/spaon><27a href="27block/blk-lib.c#L6" id 2726" 276ass="line" nam
  L3">i i3o/a @bh" :ine" nament"h" ent"write>ospao class="comment">/*o/spaon><27a href="2bblock/blk-lib.c#L7" id 2 17" 277ass="line" nam
  L3">i i3o/a @sector:e" nam
art sector>ospao class="comment">/*o/spaon><27 href="b27ock/blk-lib.c#L18" id  2718" 278ass="line" nam
  L3">i i3o/a @no/spcts:e" number of sectorsent"write>ospao class="comment">/*o/spaon><27 href="b27ock/blk-lib.c#L19" id  2719" 279ass="line" nam
  L1">i i1o/a>@gfp_mask:e" memory alenta3.0.6code= (for n vaalent)>ospao class="comment">/*o/spaon><28 href="b28ock/blk-lib.c#L20" id  2820" 280ass="line" nam
  L2">i i2o/a>ospao class="comment">/*o/spaon><28 href="b28ock/blk-lib.c#L21" id  2821" 28lass="line" nam
  L1">i i1o/a>Descri  ospao class="comment">/*o/spaon><28 href="b28ock/blk-lib.c#L22" id  2822" 28lass="line" nam
  L2">i i2o/a> Generaue and issue number of "+csewith zerofiled pages.>ospao class="comment">/*o/spaon><28a href="28block/blk-lib.c#L3" id 2823" 28lass="line" nam
  L3">i i3o/a>ospao class="comment"> */o/spaon><28a href="28block/blk-lib.c#L4" id 2824" 284ss="f">linux/kernel.ho/a>>><28a href="28block/blk-lib.c#L5" id 2825" 28ass="o" class="sref">bioev.h" _issue_zeroouto/a> =ioa href="v.h" _issue_zerooutie" cef">bio_batch_end_ioo/ant">tesvic;oa href="+code=bnt">tesvic;h" class="sref">bio_baesvoa href="+code=besvclass=ss="sref">bio_bsector    oa href="+codsector  h" clss="sref">bio_bsector  oa href="+codsectorclasslass="comment"> */o/spao;><28a href="28block/blk-lib.c#L6" id 2826" 286ss="line" naaaaaaaaaaline" nab" class="sref"sector    oa href="+codsector  h" clss="sref">bio_bno/spcts  oa href="+codno/spctsclass=ss="sref">bio_bgfp_   oa href="+codgfp_ h" clss="sref">bio_bgfp_mask  oa href="+codgfp_maskclaserr" class="sref">erro/a>)v<28a href="28block/blk-lib.c#L7" id 2817" 28ass="ass="sref">bio_batcho/a> {v<2  href="b2oock/blk-lib.c#L18" id  2118" 288ss="line" nam
  ss="sref">bio_baesv_write_s" io/a> =ioa href="esv_write_s" iie" class="sref">comeesvoa href="+code=besvclasiieass="sref">bio_batcho/a> {v<28 href="b28ock/blk-lib.c#L19" id  2819" 289ss="line" naline" nam
  L14">charbb" class="sref">eioa href="+code=odisref[lass="sref">comrDEVNAME_SIZa href="+code=BIrDEVNAME_SIZasref]ef">linux/kernel.ho/a>>><29 href="b29ock/blk-lib.c#L20" id  2920" 290ss="line" nam
  L21">i 21o/a>v<29 href="b29ock/blk-lib.c#L21" id  2921" 291ss="line" nam
  L25"m
  !ss="sref">bio_b"v.h" _issue_write_s" io/a> =ioa href="v.h" _issue_write_s" iie" css="sref">bio_baesvoa href="+code=besvclass=ss="sref">bio_bsector  oa href="+codsectorclasslss="sref">bio_bno/spcts  oa href="+codno/spctsclass=ss="sref">bio_bgfp_mask  oa href="+codgfp_maskclassss="sref">bio_batcho/a> {v<29 href="b29ock/blk-lib.c#L22" id  2922" 292ss="line" naline" naaaaaaaaaaaaaaaaaaaaaaaaaaaaaass="sref">bio_bZERO_PAGEo/a> =ioa href=ZERO_PAGEie" c0)ierr" class="sref">erro/a>)v<29a href="29block/blk-lib.c#L3" id 2923" 29ass="line" nam
  L23"m
  L25" method0ef">linux/kernel.ho/a>>><29a href="29block/blk-lib.c#L4" id 2924" 294ss="f">linux/kernel.ho/a>>><29a href="29block/blk-lib.c#L5" id 2925" 29ass="line" nam
  L25"ss="sref">bio_baesvn" io/a> =ioa href="esvn" iie" css="sref">bio_baesvoa href="+code=besvclass=ss="sref">bio_b>eioa href="+code=odisrefit" class="sref">waito/a>);v<29a href="29block/blk-lib.c#L6" id 2926" 296ss="line" naaaaaaaaa>i 25o/a>      pr_err  oa href="+codpr_errie" csline" nam
  ef"ing">"%s:eWRIoa SAMa failed. Manualey zeroing.\n"ospao cs=ss="sref">bio_b>eioa href="+code=odisrefit" class="sref">waito/a>);v<29a href="29block/blk-lib.c#L7" id 2917" 297ss="line" na}" class="sref">waito/a>);v<29a href="29block/blk-lib.c#L8" id 2918" 298ss="line" nam
  L21">i 21o/a>v<29 href="b2oock/blk-lib.c#L19" id  2119" 299ss="line" na method"
  L26">i 26no__"v.h" _issue_zeroouto/a> =ioa href=__"v.h" _issue_zerooutie" css="sref">bio_baesvoa href="+code=besvclass=ss="sref">bio_bsector  oa href="+codsectorclasslss="sref">bio_bno/spcts  oa href="+codno/spctsclass=ss="sref">bio_bgfp_mask  oa href="+codgfp_maskclasit" class="sref">waito/a>);v<30 href="b3oock/blk-lib.c#L10" id  3120" 300ss="}" class="sref">waito/a>);v<30 href="b30ock/blk-lib.c#L11" id  3010" 301ss="class="sref">errXPORT_SYMBOLoa href="+code=EXPORT_SYMBOLie" class="sref">comev.h" _issue_zeroouto/a> =ioa href="v.h" _issue_zerooutie" it" class="sref">waito/a>);v<302href="b30ock/blk-lib.c#L22" id  3020" 30ass="


The original LXR software by the class="shttp://sourceforge.net/projpcts/lxr">LXR L3">unityclass=this experi>i ial vers.0.6by class="smailto:lxr@b.cux.no">lxr@b.cux.no+cod.
lxr.b.cux.no kindey hosued by class="shttp://www.redpillo/anpro.no">Redpill Lanpro ASclass=provider of L.cux"consulting and operauctis servic;s since 1995.