Test case for bad inode detection, and fixes for old test cases. Index: e2fsprogs-1.39/tests/f_ibadness/name =================================================================== --- /dev/null +++ e2fsprogs-1.39/tests/f_ibadness/name @@ -0,0 +1 @@ +Inode with badness = 8 Index: e2fsprogs-1.39/tests/f_ibadness/expect.1 =================================================================== --- /dev/null +++ e2fsprogs-1.39/tests/f_ibadness/expect.1 @@ -0,0 +1,40 @@ +Pass 1: Checking inodes, blocks, and sizes +Inode 13 is in use, but has dtime set. Fix? yes + +Inode 13 has illegal block(s). Clear? yes + +Illegal block #0 (4294967295) in inode 13. CLEARED. +Illegal block #1 (4294967295) in inode 13. CLEARED. +Inode 13, i_blocks is 3453453, should be 140. Fix? yes + +Pass 2: Checking directory structure +i_file_acl for inode 13 (/testfile) is 345, should be zero. +Clear? yes + +i_faddr for inode 13 (/testfile) is 34534, should be zero. +Clear? yes + +Inode 13 is badly corrupt (badness value = 8). Clear? yes + +Pass 3: Checking directory connectivity +Pass 4: Checking reference counts +Pass 5: Checking group summary information +Block bitmap differences: -(1368--1369) +Fix? yes + +Free blocks count wrong for group #0 (6823, counted=6825). +Fix? yes + +Free blocks count wrong (14691, counted=14693). +Fix? yes + +Free inodes count wrong for group #0 (2039, counted=2037). +Fix? yes + +Free inodes count wrong (4087, counted=4085). +Fix? yes + + +test_filesys: ***** FILE SYSTEM WAS MODIFIED ***** +test_filesys: 11/4096 files (0.0% non-contiguous), 1691/16384 blocks +Exit status is 1 Index: e2fsprogs-1.39/tests/f_ibadness/expect.2 =================================================================== --- /dev/null +++ e2fsprogs-1.39/tests/f_ibadness/expect.2 @@ -0,0 +1,7 @@ +Pass 1: Checking inodes, blocks, and sizes +Pass 2: Checking directory structure +Pass 3: Checking directory connectivity +Pass 4: Checking reference counts +Pass 5: Checking group summary information +test_filesys: 11/4096 files (0.0% non-contiguous), 1691/16384 blocks +Exit status is 0 *** /dev/null 2007-06-21 14:46:07.320441196 +0530 --- e2fsprogs-1.39/tests/f_ibadness/image.gz 2007-06-21 15:42:01.000000000 +0530 *************** *** 0 **** --- 1,27 ---- + SKzFimage]W^`ٻ ;ZlȒ,fY^V1 SYXֲ{!! @IJ* ) + $a!A}e%}?ens8[i<>8pGNa`?[}C]o}wþط>Gah?[}c]o}wþ ط>'ad?[}}.?[\o֧aߺ=طuþ5}ka?[a:}cطwþu ?[azCط^}5ط^}uط^}a?[']o=}G]o֧aߚvþ[|/1?دg`l/M/?p#p>/;pgc3wHy}/ǁ|;vں+]y]t#户D5mox&3#ft|wJ!{@|XćG|DGF|TGG|LF|\G|B'F|R'G|JD'⮈C:5:p{"8q_đՄ#Gwx0⡈WG&x}'#8h">-bڡgɓ~_(/!G?_8zdw1SL;xl\zOcM? |, + #D'j'T xɳUTEmL7%G<q.#8q!bĥP#~O7bU玗Z&싷[~J׾hllLw'[U>{tq~/kg2^N_>|q7_?].??M_?.ǼD\x:oxs["񶈷G<w];zKz<k"^Txnoo_io|)ϟ玴gWV7wOýmս5""#"#"G܈XxGij+ώX؈،؊x.f"9x!s#>/#_E_%_e__U_5_u_ M-m]={"/F F@F?G"hE??'"dğш?g"~,#lOD?"~2/FTOGL_%F#oFw"nE"a?$F"_F_&F_!?F_"~)#~%Fw#Ҝ_?#W?77#~뎢yGĝ/xy+"/"2^1q0">0">8C">4"><#">2">:c">6">>">1">9S":wExUħFqOĽS#8q4X#ND<`CxMk#^#NF<q*ш7D|Ztc#DDx<≈sd #.E<#D\x:oxs["񶈷G<烿ry>߸?n,_foSN%U3Yz(}#< {Yw80_n_~3|BbD7ZKx6b9b%b5[E܌x>V;#>']/D|nE|~Ļ# #(#$K#,#"+#*#&k#.#!#)#%[#-##;#+#'{#~OEވ?D?#H?#~8G"DğS?#LďExğ?#BOFň鈟K9DՈ#~6oD͈#Nߍ#A?G8Dӈ<_Dˈ :Dۈ>?DLj#K/ErįD׈#~5=#7"g'FfoEwF,xxeDЈȈ舏؈OĈOODq(Uqw=FLFLE/HшcG8@ăE:5x]#8HĩG#iE81q6'"E|zē#.D\TgD\q57F)oxk"LgFF|ˤ8эq=FR;"XXXEE|vzFfVs7#ΈωxW y/ˆ//҈/򈯈ʈꈯڈoƈooֈoΈވ}7E|0"~0E?G#~(E?'#TďF?c?g#~"E1"~:g"R_+5E3oE툿w#~.E#Q?'4E|?2_EBĿ76EbĿ1?EK+5E_xOįEz"w[^~wF,xxeDЈȈ舏؈OĈOODq(Uqw=FLFLE/HшcG8@ăE:5x]#8HĩG#iE81q6'"E|zē#.D\TgD\q57F)oxk"LgFF|V˥8эq=FR;"XXXEE|vzFfVs7#ΈωxW y/ˆ//҈/򈯈ʈꈯڈoƈooֈoΈވ}7E|0"~0E?G#~(E?'#TďF?c?g#~"E1"~:g"R_+5E3oE툿w#~.E#Q?'4E|?2_EBĿ76EbĿ1?EK+5E_xOįEz"w[^qwF,xxeDЈȈ舏؈OĈOODq(Uqw=FLFLE/HшcG8@ăE:5x]#8HĩG#iE81q6'"E|zē#.D\TgD\q57F4}vw66N[=yՉNZglt?{4X[M_mvV{r7#ڭ76;:'^?:k;Wot{nƽc^_Z=Dwn~wꍥεngeVgY..ml/omv;[1a^Fj_|BFX^bs)JRln{.>ލ_WZ[ݕ#i&s奘$[^\Zk:ݹ\.wh#-uvekc3mr6K_.V7l0;x]ج~?Yۜ+Kڈ:+ۋs(WEsu 1M^Z[_\66u32V捥jgl䵌+plbb28f6&͏cf[sAj7v#P>>9Ҙg2w}iA3)9pZ)yWI5ŭ|I? 듶:81zjqemlm݌$ۺ~yvݼ1fQ)]q]V#u*j,`qk=_j|9]spNgrzyF/ULg[݈pؚDop9Է{>cSun.E6޳1׋anVlO$[ G#&dזVHVg\z8\nƮ__]NNI_۵HJWhͥnɵc7\|뫽q._lBl܈$y?ÿx}}-fp}VθC?Ȇk3]q۽34۝W}Wo%O]s$"Vbؿ ;rem{ENDR98Q휸ϓ'VFʚ<|"n#e1s_=mյ+`uTe|ɤ'b1E:2RgVָ'boe[;d&O;UXz[?S:_OZ[.2aqǚoF"cFe#rŐdbb=t{SS:)vbE|lz {+K|0JMgiwct/,/*nc*.(ԑF6l-0?و2\칹TXIE֙XM;~"㔾iG:7H?n\sK7J+[9W>E*uS ̍n4b7r*Tعw?fwmɞ ̊}^b:KGFXfzmMHWwxر]m.<}u3SO\ᄅj-$-=3Fsv⅃տNfmZ̳;'ZۥZcNŋ:y\T|Sic,ٓ*PJ7KQ<׻:O;"iEN1d:ͦ5iDdũ0GO;h1U|Po裝78o?YEdG82?.Wu"oHkwc]>Zͦ+1TmizG:C{q ZG^UG.Swry#qp:8޵mq&`#6»ZfJ5ĹZ >*qu;;Ga =]]9^RIU+O͜>7}>.ǯ*aQPj|J왻&?c CHuuud^b=#g\xUpWrf*~Wf7Fftus}iʿ ^c~G:r~h}苻h\6K"v̜S?|ZO8q-㋗.5F≲|_|UZŋ9#Fw.Reo;GU|ݘ+QTFg֯W0*gPEe;JGҧ'ݼߎDh%r9U*+D"mNɱ75p5?,3"d{r;OKgf/?Әs4ǂXժne#Jcgv_Q]in=@:_cǥ]z1T'~Q*@T6EOzHY\5&LٸA,m(|:B4̋#轢pt` #yʵŖOU쮼+积\LM(yժh}c*n;0yT^TQv_qE0vo49 + fF}ۛGM[U%q-\<4z#fpPu"|sW5ee1;2n^:{6n#myaTj4zj]ҝ_ݕo;Uvk 6V6mJ!RO{vŃϋQ{ UݽŪǸϿI2;Co?n̎xb/%?S"pn2$bmN@_8p]+Tl*c]1˭\RezT~\[kGR=w󝍪z p֯<}'.jĮ=Wԩ{1R(#-dq?;j>gR#s׶#Sa>'See"csn[Iyo/W~&qypU-ԑT^T坳,4tb_R*cuw/qsˈ`Ţ}D>ڹÜ.sƥٵqߏ\WX)r_ͅi6骍c1"˜vѱd^|-+k{5>W.*R-:?hWo3Q5g#lUS6}4S1E3#.AϘѹSi]&a}N^ƪd+/{,;9\/bpas뫯WN2H~¼:[&[E8\&wRq%V |,W/ũ0[I8Ĺoy~R/6oaPf[ݻk^S<ջVKM/QZ//ߪexyҜR[Fxglo1=Jev&aAn[8~|ı{3g>3'H+SD+Ebp:$DѦ|yZVMj9~qRNguB]|ͳW=sr?mX@/<>}':3ϵYF,gQ颉m UWuw9Ifiu[}_}i G=?HxԈ4I'V.mJQ126 j)8Kޝ.x8)T~bc+!oiZYqNu_q7""lrJjD/b-##6"6#"|ĭwF|NĻ"^܈ϋwG|AF|QG|IėF|YėG|EWF|UWG|MF|]G|C7F|S7G|KķF|[ķG|GwF|WwG|O»0(ߡRhͭ&g'g)oC1bq'UX4,ܑ[v#zʜsoV]vտG0+bV{:ǟ?{6Wh7-hwIzlELj7=p;)Opb ^KAW/LGnldfN_t-Ua(?5i?]+߿C9T>R]6xVRMvhDP]HE"\F컵٥QSF~ + hE]䂫fևc׭#͹}p,ycLֶNNntQ{:iUV7Sz}fzwsxQZXbl~P|P'M鿲&ri4gkҽ]aUuҴWT .b[έvŮ.{"[\w9ĦWS}4vVߤ5x(MJV󃲜/+}>ڶNiғkȩN/MY8]y8ߞz噙-6q7oFk҉ܢyn\65oSޓ#ZoӠ}uFgW"%>d={X*O|ER7͡pk#suj/K|?Zfw1 + 6w)cW(H3SV6gۻtbNwjnb2;&)i>y{kE}=^zSgf.}#=13}fr\yN qAl&+ksi p6nSO_=}SqÊ{Lp*f/5*nf7yOm3#W-X&* vLܗC;;n豧FLN<}|GbO~1oڇۡu^bځE}EUwg)?65Yz",&8wP?KSiߜȹKUUNzB*.^z: 3 w}5ETһY=Xrfe{٩Feu㍲F/fQ֠ XUHLbQon*ҾV[;4UVLϭ>/;ͥgVx䙏|髱zaF:P^dECwʗnj7;إWybު.7[ֻއ77YlkG6U>ˆ c_bT򎷏ZܜMo׭$G~YmЮle:xPm9v:5N_z=գq[?Lxn, VKUM^{xvRc.E⨴XTk~n'_CoN* k<%БMF.ΧSqp= _K~`~M.魯ݘ[-^TXo^TW<珑[̯_I+qXx9VURs + *qtE&NOcFFYn=Saf>z7{K"r>\Ȫ_x-s+XӸr}sUQɲ S=zam(o767FE@beQ[o5, *FXؼ/O_4zFjRzrizib Junyn?m,-ߊ> }ꌲ^d.Mw6ֺ 'ᅹ#o8MVessfv>EΝ9cRO' U]c_rFaMӳ}t=j;e3~cXKvdZ}K8izv6qP鍢qWݸ^,>}~frn̕H0eP p PmӦFM͇7=Fes._Zlqv*8nN^// + iSqRzV?x=l{,6wE3Wf.qL} >&0:m{u[] ],6j!QxɒnZ|Iw%#'Zz'ԺUQ#\Uo7z5uW@gq;+[,JTuin7;=7z7ҋZϳ|azzKҫ@t7/:.~8 rr^:u[ eycwo{5\{|Αi]ӟݻVގ]J"﮼EfʷUjij|3_醴SǓUOpNUZȏϚ}wF^͔ ,~Zw_>1Hdzx_3Ɖ^-0/_,NN1F8ڸ0w淮4XȘGVyAsԺ-oݴbw4:7y~C<n#nܶ ;8[]#ӁKWfx򙇫^Hocc7ӟK˓SޢƘ_^r㖸;-9e.vm-o6tX۝-.fN}ds E&tg@{90Lr˼>S{]ҮVs'U+HfOCz]V(?WoX*r/bcz ,{/+Ϟo\u[V1qa4{?JkQЯͅa?NC$L34n/ۮ9X?5IP6b]%w_S6l>,,/⥲|ck7D'&E\qJY"fWlj٬_/נlO?q3*I}tusxN4\'?v'nŽyՏs_d9J6aخwus}U#w[l~8ީ1ǺW.~3s&vcĺ]>ګxoJ}jΤz*R2E8w~&;z՛ߛbg%pfQey. U:╁/n.iEe/j7 Po N~gr~L]_vk{HqLol l)m)@eh{2:UǶ˴k[:1z5D]^OvU}Ο*<+v_0+zne[ȁ*F*8x$emO]w + -ٷ=/1xשmj /6B]tvL?{NJ۪j_ Ğoo}km2͏br]|zV!G\'_ff6?4 :oz3V{U~sq\Vp9ڷ+1#?ToM9 ĸ5g`qs:nCeaʫO)HU4?@oa@U,o%=(iUppW7^u + E^D}gսi$z7ՈMߨF-ǧ*GPL(u[kf1#i}$S0]e 8 7&d1fs#FGO#EFKHW/Ni{\W危~fEey]'Tt8WV,F:Zu?pl1?,HUI/Ԝ)cۦO_oQkAu\.gfZm 1\C-_}:qyf;[Փyuwh + {ў*h4*[.~x@^6 BڪmG]|%/fGw[pآ`5w_<pd1goD995"s_C3X9n2펭G U7oo[* q~Uso@OYPwouAW?QN \㖞Vm!n2:wo46KU c^hu؁?.t7)Wط8 g\շ<53|ZNCqDl;l cM3^BU:N?F>sK@/w~C:1rxT ݡoC{:nQf}@$s;t }a7=bB۾bbǃ[4dx6ɽOb vuan߷hJkeFʑTݱYU1kQ& S>'ar:pw15! l;Mӗ/Ý59}~/wji~q8smlNHz5c}&{7v>ysgf;NJe؁NVX=lyqQrlR_+[˛Ki幥p7bUU6;Uء-i2| O{\]e8/zIj䃧n<+L`08Q?xkyck>N崠d+籑ɛ5EV:[=i ˹Çƻ1Z48\e|DU#Ѩ/+N*Ƿ-Xr|wQ&~v5ŏgs%d^7\UF5ԛdSXen[3&ONEJûGG(H:%,VV<Ӯw7*}F+6a9E)_>-HAG~dM>*;if=ϛN/{FZ7]>7ԍPVjDThv]¹L$հÍ~Żkpӳϝj Gwّ>G{j_xY..U~I Ozn˪jez9(&ۮX|K*,ME˕nSQG^ӗΟ?w"M`4-nHzbAy;̵c+ʱr;B;)r _JUϢ\w|,riAZ[ps2#6xb(V6k;:C9l⓪nl>}.LݩiĮ~[m.euw󊃔~iӤ8YR9l)hzpڪFϢ2O@;7qόZ-]KOTwiZٯ,#E7բQMnV&P1XrXq.eW/Ϥbsey]E::nt{|cƿ\dnCgNϦ:j~ĥ3 eQЕ|sOe2ޝ{M TJo">k^꥾nVWE=>>KpbDU8XQWِ+8_{)Xe'[k.lO>'ϟp=68MƑ[X.۴@ˋlZM\\wyBʼnݭƙ>1zۇ^w褖qKC䵻ͽnZ + K8֗o5͌%wƸ(/a/ϥaѬh|k7ro=yjkߘW0қuGU&yn"5enEztZ(RKgs4D|,W/k[kKChȱ^vxjJ"%jY&; + k~|ocnEKWg.ZSj~%5k8XwW ðriȳaVCe(")+nku<E/ + %ymJ92KŸ;j4q&6{u-gHg-5Й`6_cTѿlf8P51cVZcSSv;7j_͛K j+R'Eo0\=C4YQ7NGN4t4Rx]#.KϜoev<3QTJ/dƝMǰzWͧߖC:[[KFJ6C7 szd\LRYlW`vcSѰzcqZ1]ٶLZc=`O\#Yt̛cYǁUEZs]O=!.sqvh4N#]5Jnգ扥GOş.fzt2M8R>hVuVTgU~󑁈>:t^混yEK,Ł瓹ݛz{Fq*>(J;/ũ K2{n3{i.L-zDy{}b/k4qH̋_}.xr]NIBQ-(ElE9BY{>ozP˹{m;4ͭ9+2g-E{p`մ7n9qקOMOUI;dИzCV|[uy3Wңj0!ucNƧyFͪ!<zolI5ㅡW=l@bЯ: + ڱ3rA*nZ=ߘۘ-{G+Rfgթ1Pʨư-ȸ=kGzc<2НpbtG.`>6--F3g|h3tW7MLp̃rSit>j\֘/&OF B}uzlW/]zӏ]ƍx]ԼVuWI*̶nq|┺}Ll_Ϧ)瞏au͌wC7Ƥv\FφFφ%VP?_V_GcK/Q{vFpVxi2w4pƲSs1ӤbZz&Hm*ƃ;L9#PYv6sq3S1Pƒפ r^hw=AT;ßv99z`ôGOuieu=lz6bxuX}7WvEy3l@.~m_ԉ`允!qZ :iSX\j?WX ažrT6[ǥvV$+[ 7sT:*rO<05oRՁԑjS_i(jSyV),>Io;S3D߶6dS#=V}>h90p^C;wJc`*Ut>w2h:xK<le\ Joۦ *n\Y{+R,kZͺˉk54kk5'廙{og˘Oq"&w<&wk&7"m)]>0&G/l;HA9>?UsƐeHX:5L/vsǨcYZ6 n|^Zkx:w\Z]Ƚc. *T>_^픕uK4 3zz!+m`-*T:"e./~1yG:c_K_ؾ  zw̮?keǨkܣרoPvcPL~F垪sm̙SQ.Y=9oOsK}m90)3w9ߌZEcb{RS6{m67fPC׶Ρ.yfo1,S 嶺[f/u{0|UjۈoR F͹|b;*;;]^_O}TOsq$I3Iuo !GQKm|#]k5 i,,7VU'~1lGNRi\],nvŪnj}?jͮڀ#EV ;T?Nݽx}y oxCQVOXgR29С`6Jz3v_/ON0P+PjnqZܿ}' ŝnUw=7}ꭹk/ےds3.7}B q>~X/HEϑN]X`4֣J$?[1CjzS7쭥 T=ͧdjusVo+]op#9RiHmʳH1<<Qfc臧jgǦSKdd3dYzL;j1һxl3bCz98p!YhghN-Vr@KozvrphOhp"~k3'SI1UP\&A#%{-CVEk⥓;y:%yǵ g7ظy ;-RRn*wlJSzȶUO2G3ichp슏fԣ\EtAelJ|# }ZNUҙ<cl[ycΤխqݢ<]z|SŲ&v,` lL4H[óY|嵡v=V}Ϋ*Z_Z)_9ٱܵkًEJ btR ?\]xœTԺ,]O{~~๗+lhݿʌ;?{Z[yɥ|9֭Grweb.5X\3qSes Sf?Xգ zNsI7m;:|g + uKw{dݘ.O7_wO7 jZv}͡*ͦ6ʫg"W ޱ'"K?M- 1|r%CosSf"GrLl&Q-\֝-t۸gPKO\Y%W uuM>1}32곻a,{Ƚwկ`]zf̰M{lԚ^ݞev{w_NԽh.wL]=KkN5w*)ڣe#vGIe};~ ";N5F_^uxi/ aSnZ$e腭.js'垲Q'Hw~j(fM c!ƋRDZmDVD( +F?vf||U ϩݦUj =8o=]] \ No newline at end of file