ELF>@2@8@8 @ 000uuX9X9@  $$Std PtddddQtdRtd@@GNUGNU/443ٌ^  !Ubx  p, 7F"+SJ֥ __gmon_start___ITM_deregisterTMCloneTable_ITM_registerTMCloneTable__cxa_finalizeoffset_tableOFFSET_verifyreadmem__stack_chk_failstrcmpdatatype_infofpfprintffwriteread_stringfputcsymbol_valueget_array_lengthsize_tableSIZE_verifyoptargstolargerrsargcntargsgetoptpccmd_usagedminfo_initregister_extensiondminfo_finilibc.so.6GLIBC_2.2.5GLIBC_2.4Vui `ii l22# 4456(L6[6 !8(W8HP8X8`=h=-+>>FL0RtR_Umoo y(&zHNP\zXz`$hZwc$Zi#Y( h(08,@H(PhX`hpPxx,(h,`0` (,088@xHPX,`2hPpxP@,,`0h,0 ,(080@H,PX``0hp,x0,p0,X, , (0X8,@H0P,X`hpx H,,00,x, (08(@,H`P0X,`hp`x,,@p,0, ( 08,@HPXX`,hp`x,   (0 8 @ H PX`hpxHHHtH5%hhhhhhhhqhah Qh Ah 1h !h hh%D%D%D%D%D%D%D%D%D%D%D%}D%uD%mD%eD%]D%UDH=HH9tHFHt H=H5H)HH?HHHtHUHtfD=Eu+UH=2Ht H=Yd]wUHH H}dH%(HE1HHL|H|H5HHHEH<HEAL|H¾NHEHMdH3 %(tUHH}HHEHHEHo]UHH H}HUHE,HEH@HUHHuHEHEHHEH}u͸UH]UHH0H}dH%(HE1HHu@H5{H={H|HH5{H={HcH\Hv%HHH{H5{HǸH*HHHEH<HEAL{H¾HHu@H5{H=9{HHH5}{H={HHHv%HZHHP{H5&{HǸDHHHsHEH<HEAL={H¾HMHUHHH50{HǸHEdH3%(tUHHH}HHHH=zUHHH}H{HHH=zUH]UHH0H}dH%(HE1HgHu@H5yH=yH;HH5yH=yaH"HHv%HHHtyH5yHǸHHHHEH<HEALgyH¾HHu@H5]yH=xHHH5HH<HALbH¾HHHHu@H5\H=bHHH5\H=bHεHǵHHHH<HALnbH¾HHHH+u8HHHVbH5ZHǸHnone@HHu@H5@bH=`HHH5bH=`H{HtHv%H'HHbH5YHǸHBHH0HH<HALbH¾HHHAH5aHǸHHL aLaH bHbH5bHǸfHHu@H5aH=_H{HH5aH=y_HbHSHHHDžHH2HHDžHHu@H5taH=taHgHH5SaH=SaHNHGHv%HjHH@aH56XHǸTHHHHH<HAL4aH¾'HȲHu@H50aH=`cHHH5aH=`BHHtHHHHHu@H53ZH=`HHH5ZH=`HoHhHv%HKHH`H5WHǸ5H6HH$HH<HAL`H¾H Hu@H5*XH=w`DHݱHH5 XH=V`#HıHHHHH<HAL4`H¾HHHHu%H>HH`H5 VHǸ(H Hu@H5`H=^tHݰHH5_H=^SHİHHv%HHH_H5UHǸHHHyHH<HAL_H¾}HRHHAH5_HǸ9H*Hu@H5_H=]HHH5_H=]dHH֯HHHDžHHHHDž H֯Hu@H5"_H= _HHH5_H=^HHHHHHHu@H5-UH=^HVHH5 UH=^lH=H6Hv%H٢HH^H5SHǸHHHHH<HALq^H¾HHu@H5TH=TH۬HH5TH=TH¬HHH HHHqu%HHHYTH5RHǸH١HHH5XHǸHHHHHHt$HH;tHH;9t$HEHH5;]HǸ6HHHH[HHt$HH;tHH; 9t$HHH5\HǸHEdH3%(tTUHHHxdH%(HE1HHu@H5RH=PHHH5QH=PHyHrHv%HHHQH5PHǸH@HH.HxH<HALQH¾H#Hu@H5!WH=VHHH5WH=VHުHתHv%HJHHVH5PHǸ4HHHHH<HALVH¾HHu@H5VH=+VCHHH5VH= V"HөHĩHHHH$Hu@H5RH=uVHHH5QH=TVHߩHةHv%H+HHAVH5NHǸHHHHH<HAL*VH¾HHHiHu@H5OH= VH=HH5OH=UH$HHH HH<HALUH¾OHHHHu8HHHUH5MHǸHnone@HHu@H5UH=T1HHH5uUH=SHѧHʧHv%H}HH[UH5IMHǸgHHHHH<HALWUH¾:HHHAH5KUHǸHHL UULTUH XH]UH5XHǸHHu@H5NUH=RHѦHH5-UH=RHHHHHDžHHHHDžTHHu@H5TH=TtHHH5TH=TSHHHv%HHHTH5KHǸHkHHYHH<HALTH¾}H>Hu@H5VH=THHH5VH=SHHHv%HHHsVH5JHǸHHHHH<HALgVH¾tHHdisabledH@HHu@H5>VH=PHHH5VH=PHHHv%H#HHUH5IHǸ HnHH\HH<HALUH¾HH9uHactif@ve@HHenabledHHtHu@H5SH=5RHHHH5fSH=RH/H(Hv%H+HHASH5HHǸHHHHH<HAL5SH¾HHHAH5THǸHHu@H5SH=FQHiHH5RH=%QHPHAHHHDžHHpHHDžHAHu@H5RH=R\HHH5lRH=jR;HHHHHHHu@H5HH=5RHHH5wHH=RHHHv%HDHHQH5GHǸ.HoHH]HH<HALQH¾HrHu@H5#HH=!H=HFHH5HH=HH-HHH HHHu%HiHHGH55FHǸSHHu@H5RH=PHxHH5aRH=P~H_HXHv%HHHARH5EHǸH&HHHH<HAL)RH¾HHu@H5RH=PHHH5QH=OHtHmHv%H0HHQH5DHǸH;HH)HH<HALQH¾tAFHHHAH5QHǸHHHHHHt$HH;tHH;#9t$HHH5OHǸHHHH$HHt$HH;tHH;~9t$HHH5NHǸrHEdH3%(tUHH0H}dH%(HE1HHu@H5CH=BHaHH5CH=BgHHHAHv%HԑHHCH5BHǸHHHHEH<HEAL{CH¾HHu@H5vOH=HHܜHH5UOH=HHÜHHv%HHH5OH5AHǸ HHHxHEH<HEAL/OH¾UHHH5.OHǸHEdH3%(t\UH8tVHH=NHx(HDHH!H=Np]UHHPHdH%(HE1HUHu@H5AH={@PH)HH5wAH=Z@/HH Hv%HHHRAH5h@HǸHיHHřHH<HAL=AH¾YHHu@H5MH=MH~HH5MH=MtHeH^Hv%HHHMH5?HǸH,HHHH<HALMH¾H/Hu@H5MH=MHHH5gMH=jMHHHv%H&HHTMH5>HǸHHHHH<HALHMH¾HHu@H5CMH=EMHXHH5"MH=$MH?H0HH HHH辿u%HKHHLH5>HǸ5H&HHH5LHǸHHu@H5LH= L\HuHH5LH=K;H\HMHHHHmHu@H5pLH=rLHAHH5OLH=QL׾H(H!Hv%HDHH:LH5=HǸ.HHHݙHH<HAL.LH¾H54LH=hJIH7uHLH)uHKHHKHHݘHu@H5KH=IؽHHH5KH=I跽HHHv%H$HHKH5;HǸH_HHMHH<HAL~KH¾HHHHu@H5JH=,I HHH5JH= IH͗HƗHHHH<HALKH¾HHHHHzu%HHHJH5:HǸHHHHH5JHǸŻHHHH5JHǸ蛻iuHJH)uHIHHIHHFHHH5UJHǸ0HqHu@H5;H=G|HEHH5:H=zG[H,H%Hv%HȈHHIH59HǸ貺HHHHH<HALIH¾腺HHu@H5:H=:HʒHH5:H=:蠺HHHH HHH`u%HHHH:H58HǸ׹HȇHHH51IHǸ貹H#Hu@H5IH=FHHH5HH=EݹHޔHהHv%HJHHHH58HǸ4HHHHH<HALHH¾HxHu@H5HH=bECHLHH5HH=AE"H3=NH HHHHHոu%HbHHHHH5.7HǸLH=HHH=7HiDž8HHHH5HHǸ9|HEdH3%(t肷UHHH}HHHH=6ͷUHHH}HkHHH=6藷UHtVHH=BG蓷Hxē(HHHH=G*]UHH@HdH%(HE1HHu@H5R6H=55 HHH516H=5HʎHÎHv%HVHH 6H5"5HǸ@HHHHH<HAL5H¾HHu@H53FH=EOHHH5FH=E.HHHv%HHHEH5g4HǸ腵HfHHTHH<HALEH¾XHHPH.HH5EHǸHH=EwHHHu@H5EH=DLHŐHH5EH=D+HHHHHHmHu@H5ZEH=DHAHH59EH=vDǴH(H!Hv%H4HHEH53HǸHHHݏHH<HALDH¾HҁHHH=,6DžHHHHHHHu@H5y3H=/DٳHbHH5X3H=D踳HIHBHv%H%HHSDH51HǸHHHHH<HAL7DH¾HSHu@H53H=3H'HH52H=2HHHH HHH轲u%HJHH2H51HǸ49u H5H5HH:HHH5fC9&9t$HHH5(CHǸ裱HEdH3%(tNUHHH}HmHHH=0虱UHHH}H7HHH=0cUHƍtVHH=B_Hx(H~HH H={B]UHH HdH%(HE1HۈHu@H50H=/ְHHH5/H=.走HHHv%H"~HH/H5.HǸ H]HHKHH<HAL/H¾߯HHu@H5AH=VAHHH5wAH=5AHHHv%Hg}HHMAH53.HǸQHbHHPHH<HAL9AH¾$HHu@H5F/H=D/`HiHH5%/H=#/?HPHAHH H0HHu%H|HH.H5X-HǸvHHu@H5@H=?®HkHH5s@H=?衮HRHKHv%H|HHL@H5,HǸHHHHH<H AL5@H¾˭H<Hu@H5-H=-HHH5-H=-HHH H HHH覭u%H3{HH-H5+HǸHnHu@H5.H=>iHBHH5|.H=>HH)H"Hv%HzHH;?H5+HǸ蟬HHHވHH<HAL%?H¾rHHu@H5?H==讬HgHH5>H==荬HNHGHv%HyHH>H5*HǸHHHHH<H(AL>H¾跫H(HyHHH0IAH5>HǸdHEdH3%(tUHH0H}dH%(HE1HHu@H5*H=)zHSHH5*H=)YH:H3Hv%HxHH|*H5)HǸ谪HHHHEH<HEALm*H¾艪HHu@H5=H=<ŪHHH5=H=;褪HuHnHv%HxHH=H5(HǸH<HH*HEH<HEALp=H¾ԩUHwHH5l=HǸ裩HEdH3%(tNUHHH}HmwHHH=(虩UH]UHHHdH%(HE1HsHu@H5(H='nHGHH5(H=x'MH.H'Hv%HvHHp(H5'HǸ褨HHHHH<HAL[(H¾wHHu@H5(H=(賨HHH5x(H=v(蒨HHHH HHHRu%HuHH:(H5&HǸɧHuHHH5;HǸ褧HEdH3%(tOUHHH}HnuHHH=&蚧UHHH}H8uHHH=&dUH˃tVHH=:`Hx(HtHHH=:]UHH@HdH%(HE1H~Hu@H5:H=:צHp~HH5r:H=s:趦HW~HH~HHHHtHHH:RL B:LA:H B:H?:H5>:HǸHHHHHDžH~Hu@H5:H=%H}HH59H=%H}H}Hv%HOsHH9H5$HǸ9H}HH}HH<HAL9H¾ Hm}Hu@H59H=,%HHA}HH59H= %'H(}H!}Hv%HrHHZ9H5`#HǸ~H|HH|HH<HAL?9H¾QH}Hu@H519H=29荤H|HH59H=9lH|H|Hv%HqHH8H5"HǸãH|HH|HH<HAL8H¾薣HG{Hu@H58H=8ңH{HH58H=8豣H{HzHv%HqHH8H5!HǸHzHHzHH<HAL8H¾ۢHzHu@H58H=28HpzHH5n8H=8HWzHPzHv%HcpHHI8H5/!HǸMHzHH zHH<HAL=8H¾ HyHu@H578H=w7\HyHH58H=V7;HyHyHH HHHu%HoHH7H5T HǸrDHHIoHHHVEIH57HǸ(HHHHHPHHt$HH;tHH;HEdH3%(t}UHH@HdH%(HE1HxHu@H5 7H=4֠H_xHH56H=r4赠HFxH?xHv%H"nHH6H5HǸ H xHHwHH<HAL6H¾ߟHH=R'HHmHL6H 6H6H56HǸ}DžHHHHHHmwHu@H5 H=蘟HAwHH5 H=wH(wH!wHv%HlHH6H5HǸΞHvHHvHH<HAL5H¾衞HBwHu@H5H=5ݞHwHH5H=5輞HvHvHHvHH<HAL5H¾HHHHJu%HkHHm5H5HǸHkHHHH5_5HǸ蕝HH芟HHHH@HHH@Ѕtst t+~HH@HtqHHPHHXHH@ HtKHHP HH2HH@(Ht%HHP(HH HjHHƿ X;;t$HIjHH54HǸ4HEdH3%(tߛUHSHhdH%(HE1H=3lHH=3uNHiHH3RH3RL 3L3H /H/H53HǸvHDžHcHSiHL3HH5JH躚HHHHHHHLHHDžkHmrHu@H5H=.8HArHH5H=.H(rH!rHHrHH<HAL2H¾sHHHH襚u%H2hHH2H5HǸHqHu@H52H=-hHqHH52H=-GHhqHaqHv%HgHHZ2H5HǸ螙H/qHHqHH<HAL@2H¾qHqHu@H532H=12譙HpHH52H=2茙HpHpHv%HfHH1H5HǸHpHHrpHH<HAL1H¾趘HgpHu@H5.H= .H;pHH5-H=-јH"pHpHv%H>fHH-H5 HǸ(HoHHoHH<HAL-H¾HoHu@H5-H=R-7HoHH5-H=1-HwoHpoHv%HeHHi-H5OHǸmH>oHH,oHH<HAL]-H¾@HnHu@H5n0H=0|HnHH5M0H=/[HnHnHv%HdHH&0H5HǸ貖HcnHHQnHH<HAL0H¾腖HfnHu@H5 0H=~*H:nHH5/H=]*蠖H!nHnHv%H dHH/H5HǸHmHHmHH<HAL/H¾ʕtNHcHH-RH-RL -L-H )H)H5-HǸgHLLH4cHHWVH59/HǸHt~@w2HH7 HH tHbHHƿ 腔HHHHѕHHt$HH;tHH;g;HEdH3%(tH]UHH0HdH%(HE1HlHu@H5.H=.FHlHH5-H=-%HlHlHv%HaHH-H5^HǸ|H]lHHKlHH<HAL-H¾OHlHu@H5-H=-苓HkHH5-H=-jHkHkHv%H`HH-H5HǸHkHHpkHH<HALk-H¾蔒H%kHu@H5^-H=[-ВHjHH5=-H=:-诒HjHjHv%H`HH"-H5HǸHjHHjHH<HAL-H¾ّHZjHu@H5T*H=,H.jHH53*H=,HjHjHv%Ha_HH,H5-HǸKHiHHiHH<HAL,H¾HhHu@H5)H=)ZHhHH5)H=)9HjhHchHv%H^HH)H5rHǸ萐H1hHHhHH<HAL)H¾cHhHu@H5%H=%蟐HgHH5%H=%~HgHgHv%H]HH%H5HǸՏHgHHgHH<HALh%H¾訏HigHu@H5\%H=$H=gHH5;%H=$ÏH$gHgHv%H0]HH%H5 HǸHfHHfHH<HAL %H¾HfHu@H5%H=D$)HfHH5$H=#$HyfHjfHH HHHȎu%HU\HH$H5! HǸ?H0\HHH"RL 6&La"H ^"H)H5)HǸHLHH[HHHVMAH5h)HǸ諍HHEdH3%(tRUHHEWEbHH#)HH)H>HR[HHHEHEHE:E1E(EEH[PHZHZH(H ZHΉԌE},HZtHZHHHH EEUHH=^c虌H=R[H=[ H=[H=[H="\H=V\ݍH=\эH=\ōH=\蹍]UH]HHlist_head_nextdminfo.cget_next_from_list_head: list_head.nextbeginstruct dm_targetERROR: GET_VALUE size_check: dm_target.begin%s GET_VALUE: dm_target.beginlenERROR: GET_VALUE size_check: dm_target.lenGET_VALUE: dm_target.len begin:%llu len:%llu No status info No queue infozeroerrorstruct linear_cNo such struct info: linear_cprivateERROR: GET_VALUE size_check: dm_target.privateGET_VALUE: dm_target.privatedevERROR: GET_VALUE size_check: linear_c.devGET_VALUE: linear_c.devnamestruct dm_devERROR: GET_STR: dm_dev.namestartERROR: GET_VALUE size_check: linear_c.startGET_VALUE: linear_c.start begin:%llu len:%llu dev:%s offset:%llulinearstruct mirror_setNo such struct info: mirror_setrhlogstruct region_hashERROR: GET_VALUE size_check: region_hash.logGET_VALUE: region_hash.logtypestruct dirty_logERROR: GET_VALUE size_check: dirty_log.typeGET_VALUE: dirty_log.typestruct dirty_log_typeGET_PTR_STR: dirty_log_type.nameERROR: GET_PTR_STR: dirty_log_type.name log:%s dev:struct mirrormirrornr_mirrorsERROR: GET_VALUE size_check: mirror_set.nr_mirrorsGET_VALUE: mirror_set.nr_mirrorsERROR: GET_VALUE size_check: mirror.devGET_VALUE: mirror.devoffsetERROR: GET_VALUE size_check: mirror.offsetGET_VALUE: mirror.offset,%s(%llu)%s ERROR: dev are less than nr_mir:%din_syncERROR: GET_VALUE size_check: mirror_set.in_syncGET_VALUE: mirror_set.in_sync in_sync:%derror_countERROR: GET_VALUE size_check: mirror.error_countGET_VALUE: mirror.error_count%s(%c,%d)%sreadswritesheadstruct bio_listERROR: GET_VALUE size_check: bio_list.headGET_VALUE: bio_list.head(reads) %s(writes) %squiesced_regionsrecovered_regionsquiesced(quiesced)recovered(recovered)struct multipathNo such struct info: multipathqueue_if_no_pathERROR: GET_VALUE size_check: multipath.queue_if_no_pathGET_VALUE: multipath.queue_if_no_pathhw_handlerstruct hw_handlerERROR: GET_VALUE size_check: hw_handler.typeGET_VALUE: hw_handler.typestruct hw_handler_typeGET_PTR_STR: hw_handler_type.nameERROR: GET_PTR_STR: hw_handler_type.namenr_priority_groupsERROR: GET_VALUE size_check: multipath.nr_priority_groupsGET_VALUE: multipath.nr_priority_groups queue_if_no_path:%d hwh:%s nr_pgs:%d PATHSNR_PATHSPATH_SELECTORPG %-2s %-13s %-8s %spriority_groupspg_numstruct priority_groupERROR: GET_VALUE size_check: priority_group.pg_numGET_VALUE: priority_group.pg_numpsstruct path_selectorERROR: GET_VALUE size_check: path_selector.typeGET_VALUE: path_selector.typestruct path_selector_typeGET_PTR_STR: path_selector_type.nameERROR: GET_PTR_STR: path_selector_type.namenr_pgpathsERROR: GET_VALUE size_check: priority_group.nr_pgpathsGET_VALUE: priority_group.nr_pgpaths %-2d %-13s %-8d pgpathspathstruct pgpathstruct pathERROR: GET_VALUE size_check: path.devGET_VALUE: path.dev ERROR: paths are less than nr_paths:%d ERROR: pgs are less than nr_pgs:%dPG_STATUS %-2s %-9s %-8s %sbypassedERROR: GET_VALUE size_check: priority_group.bypassedGET_VALUE: priority_group.bypassedcurrent_pgERROR: GET_VALUE size_check: multipath.current_pgGET_VALUE: multipath.current_pg %-2d %-9s %-8d is_activeERROR: GET_VALUE size_check: path.is_activeGET_VALUE: path.is_activefail_countERROR: GET_VALUE size_check: pgpath.fail_countGET_VALUE: pgpath.fail_count %s(%c,%u)queue_sizeERROR: GET_VALUE size_check: multipath.queue_sizeGET_VALUE: multipath.queue_size queue_size:%dmultipathstruct crypt_configNo such struct info: crypt_configtfmERROR: GET_VALUE size_check: crypt_config.tfmGET_VALUE: crypt_config.tfm__crt_algstruct crypto_tfmERROR: GET_VALUE size_check: crypto_tfm.__crt_algGET_VALUE: crypto_tfm.__crt_algcra_namestruct crypto_algERROR: GET_STR: crypto_alg.cra_name type:%scrt_ucit_modestruct cipher_tfmERROR: GET_VALUE size_check: cipher_tfm.cit_modeGET_VALUE: cipher_tfm.cit_modeiv_modecbcecbunknownERROR: GET_VALUE size_check: crypt_config.iv_modeGET_VALUE: crypt_config.iv_modeGET_PTR_STR: crypt_config.iv_modeERROR: GET_PTR_STR: crypt_config.iv_mode-%s-%s-%splainERROR: GET_VALUE size_check: crypt_config.devGET_VALUE: crypt_config.dev dev:%skey_sizeERROR: GET_VALUE size_check: crypt_config.key_sizeGET_VALUE: crypt_config.key_sizekeyERROR: GET_STR: crypt_config.key key:%02xcryptstruct stripe_cNo such struct info: stripe_cchunk_maskERROR: GET_VALUE size_check: stripe_c.chunk_maskGET_VALUE: stripe_c.chunk_mask chunk_size:%llustruct stripestripestripesERROR: GET_VALUE size_check: stripe_c.stripesGET_VALUE: stripe_c.stripesERROR: GET_VALUE size_check: stripe.devGET_VALUE: stripe.dev%s%s ERROR: dev are less than n_stripe:%dstripedstruct dm_snapshotNo such struct info: dm_snapshotoriginERROR: GET_VALUE size_check: dm_snapshot.originGET_VALUE: dm_snapshot.origincowERROR: GET_VALUE size_check: dm_snapshot.cowGET_VALUE: dm_snapshot.cowERROR: GET_VALUE size_check: dm_snapshot.typeGET_VALUE: dm_snapshot.typechunk_sizeERROR: GET_VALUE size_check: dm_snapshot.chunk_sizeGET_VALUE: dm_snapshot.chunk_size orig:%s cow:%s type:%c chunk_size:%lluvalidERROR: GET_VALUE size_check: dm_snapshot.validGET_VALUE: dm_snapshot.valid vaild:%dsnapshot orig_dev:%ssnapshot-originstruct hash_cellNo such struct info: hash_cell devicesstruct dm_tableCOUNTGENDISKMINMAJ %-3s %-3s %-16s %-5s %s DEVNAMEcountERROR: GET_VALUE size_check: dm_dev.countGET_VALUE: dm_dev.countbdevERROR: GET_VALUE size_check: dm_dev.bdevGET_VALUE: dm_dev.bdevbd_diskstruct block_deviceERROR: GET_VALUE size_check: block_device.bd_diskGET_VALUE: block_device.bd_diskmajorstruct gendiskERROR: GET_VALUE size_check: gendisk.majorGET_VALUE: gendisk.majorfirst_minorERROR: GET_VALUE size_check: gendisk.first_minorGET_VALUE: gendisk.first_minordisk_nameERROR: GET_STR: gendisk.disk_name %-3d %-3d %-16lx %-5d %s targetsERROR: GET_VALUE size_check: dm_table.targetsGET_VALUE: dm_table.targetsPRIVATE_DATATARGET_TYPETARGET %-16s %-11s %s ERROR: GET_VALUE size_check: dm_target.typeGET_VALUE: dm_target.typestruct target_typeGET_PTR_STR: target_type.nameERROR: GET_PTR_STR: target_type.name %-16lx %-11s ERROR: targets are less than num_targets:%d_name_bucketsDM_TABLEMAP_DEV%-3s %-3s %-16s %-16s %-7s %s MAPNAMETARGETSlist_headGET_PTR_STR: hash_cell.nameERROR: GET_PTR_STR: hash_cell.namemdERROR: GET_VALUE size_check: hash_cell.mdGET_VALUE: hash_cell.mddiskstruct mapped_deviceERROR: GET_VALUE size_check: mapped_device.diskGET_VALUE: mapped_device.diskmapERROR: GET_VALUE size_check: mapped_device.mapGET_VALUE: mapped_device.mapnum_targetsERROR: GET_VALUE size_check: dm_table.num_targetsGET_VALUE: dm_table.num_targets%-3d %-3d %-16lx %-16lx %-7d %s bi_privatestruct bioERROR: GET_VALUE size_check: bio.bi_privateGET_VALUE: bio.bi_privateiostruct target_ioERROR: GET_VALUE size_check: target_io.ioGET_VALUE: target_io.iobiostruct dm_ioERROR: GET_VALUE size_check: dm_io.bioGET_VALUE: dm_io.bioERROR: GET_VALUE size_check: dm_io.mdGET_VALUE: dm_io.mdDM_BIO_ADDRESS%-16s %-3s %-3s %-16s %s %-16lx %-3d %-3d %-16lx %s b:dlqstM MMMMMMM)MMMM2M;Ddminfodevice mapper (dm) information[-b bio | -d | -l | -q | -s | -t] This command displays information about device-mapper mapped devices (dm devices). If no argument is entered, displays lists of existing dm devices. It's same as -l option. -b bio displays the information of the dm device which the bio is submitted in. If the bio isn't for dm devices, results will be error. -d displays dependency information for existing dm devices. -l displays lists of existing dm devices. -q displays queued I/O information for each target of existing dm devices. -s displays status information for each target of existing dm devices. -t displays table information for each target of existingEXAMPLE Display lists of dm devices. "MAP_DEV" is the address of the struct mapped_device. "DM_TABLE" is the address of the struct dm_table. "TARGETS" is the number of targets which are in the struct dm_table. %s> dminfo MAJ MIN MAP_DEV DM_TABLE TARGETS MAPNAME 253 8 c4866c80 c4866280 1 vg0-snap0 253 6 f6a04a80 f6a04580 1 vg0-lv0-real 253 0 c4840380 c4841880 1 mp0 253 5 f7c50c80 c488e480 1 via_cbeheddbdd 253 7 c4866a80 c4866380 1 vg0-snap0-cow 253 4 d441e280 c919ed80 1 dummy1 253 3 f5dc4280 cba81d80 1 dummy0 253 2 f7c53180 c4866180 1 vg0-lv0 253 1 f746d280 f746cd80 1 mp0p1 Display the dm device information which the bio is submitted in. The bio (ceacee80) is a clone of the bio (ceacee00) which is submitted in the dm-3 (dummy0). And the bio (ceacee00) is a clone of the bio (ceaced80) which is submitted in the dm-4 (dummy1), too. The bio (ceaced80) is the original bio. %s> dminfo -b ceacee80 DM_BIO_ADDRESS MAJ MIN MAP_DEV DEVNAME ceacee00 253 3 f5dc4280 dm-3 crash> dminfo -b ceacee00 ceaced80 253 4 d441e280 dm-4 crash> dminfo -b ceaced80 dminfo: invalid kernel virtual address: 64 type: "GET_VALUE: dm_io.bio" Display dependency information for each target. The vg0-snap0 depends on thd dm-6 (vg0-lv0-real) and the dm-7 (vg0-snap0-cow) %s> dminfo -d MAJ MIN GENDISK COUNT DEVNAME 253 7 c4866980 1 dm-7 253 6 f6a04280 1 dm-6 8 0 f7f24c80 1 sda Display queued I/O information for each target. The information is displayed under the "PRIVATE_DATA" column. %s> dminfo -q TARGET TARGET_TYPE PRIVATE_DATA f8961080 mirror (reads) (writes) (quiesced) (recovered) -------------------------------------------------------------- "reads/writes" are members of the struct mirror_set, and "quiesced/recovered" are members of the struct region_hash. If the list is empty, the member is bracketed by "()". f8802080 multipath queue_size:0 f8821080 linear No queue info Display status information for each target. %s> dminfo -s f8802080 multipath queue_if_no_path:0 hwh:none nr_pgs:1 PG PG_STATUS NR_PATHS PATHS 1 active 2 8:16(A,0) 8:32(A,0) Format of "PATHS": :(,) Status: A:active, F:faulty Fail_count: the value of the struct pgpath.fail_count f8961080 mirror in_sync:1 dev:8:16(A,0),8:32(A,0) Format of "dev": :(,) Status: A:active, D:degraded Error_count: the value of the struct mirror.error_count f8821080 linear No status info Display table information for each target. %s> dminfo -t f89b4080 snapshot orig:253:6 cow:253:7 type:P chunk_size:16 f890f080 linear begin:0 len:204800 dev:8:5 offset:384 PG PATH_SELECTOR NR_PATHS PATHS 1 round-robin 2 8:16 8:32 f8961080 mirror log:core dev:8:16(0),8:32(0) Format of "dev": :() Offset: the value of the struct mirror.offset f899d080 linear begin:0 len:8192 dev:8:5 offset:205184 f8bbc080 snapshot-origin orig_dev:253:6 f8821080 linear begin:0 len:2040192 dev:253:0 offset:63get_next_from_list_headdminfo_show_list;2NOOQ (R,PRLRlR|TTTT V,VL)WlW[\\\8] >FL0RtR_Umooy&zN\zz$Zwc$Zi#Y(h,(hPx,(h,`0`,8x,2PP@,,`0h,0,0,`0,0,p0,X, ,X,0, H,,00,x,(,`0,`,,@p,0, ,X,`, f504ab34ba348533dccdf2d98c9097a3d9de5e.debugI].shstrtab.note.gnu.property.note.gnu.build-id.gnu.hash.dynsym.dynstr.gnu.version.gnu.version_r.rela.dyn.rela.plt.init.plt.got.plt.sec.text.fini.rodata.eh_frame_hdr.eh_frame.init_array.fini_array.dynamic.got.plt.data.bss.gnu_debuglink  $1o(; CvKovv>Xo0g(qB{00v 0 00101@1@1@2@2s a1ddX``  p 44