Ok, This is version 0.10 of the fsck program for linux. Everyone is
encouraged to use the (old) minix fsck program available on nic if they
want to, but as it isn't clear what the status of it is, I would rather
have one especially made for linux. This is it.
It's a fast hack (2 days), but it seems to work relatively well. It
doesn't repair a destroyed file-system, but it should tell you about
problems. Repair is on the way...
The reason I'm posting this is that I would like to get all the bugs
ironed out before it starts writing to a disk. Now it just reads, so
this version will not f**k anything up, even if it has bugs (and
hopefully there aren't any). Although it isn't commented, it might give
you an idea of what the file-system looks like.
This is NOT a standalone version to be used at bootup. It is meant to be
compiled and used under linux, on filesystems that aren't mounted. You
can use it on root, assuming there is nothing writing to the disk (and
this includes fsck itself: don't use "fsck -l rootdev > tmp" or
similar). This isn't recommended though (you might have two boot-disks,
one which boots from floppy just to use fsck on the normal
boot-partition).
Linus
--------- snip snip -----------------------------------------
begin 644 fsck.c.Z
M'YV0+U0H *$"A)DY8]:X& .B!8@P!M.P*0-B3IXY=,JT 3'FC9LY:3"6<3,F
M#T<T91*6D6/P#4LF:=S4P>-BH$""(% ,20$B1HX<,4# E#D'!!67=L*P(3/'
MA5$T(2-.!-$FC$DQ%.64(1.2CIPT8NID)/.P*)R5-D'002DTYDR.;^#D^7H&
M#9V:!%\H4! P+8P<+F+$< $41$/#5<E07$O13!HY&$'(J<.U31DZ8>28-%.'
M))TT'N?83!L#1N#!A0^#J .'3)BQ+$"0>5.FZ!B4"6.>B>WFC>0R<,(\+IKG
M,EX5"1),&4D'Q!NQ:GTSIBJ<C>X6UB.;<:FV]F<W9XZG37+"#D4T8<CV5IO&
M<O2'9,AV;&/9#9VB#M'$+<.9#1N3TW'F&6AN@.!&&):)AE-F%,U7WWT@C/1<
M74X%4=0=::SUD']246212!O=EM(:*\T1VUI1A3''''4DF%: $GEX448;115'
M'6G4-@9SA\WFQ@G-U3$'11DZ5R!$;3QGWU:RE6%'&CNFU=E$*X*0QW,<A5$@
M5A75H96!;XCQ!ADF177'5]^=\5Z1*&A)EE:6M8$52VN]IA9*:9$HAQMEL)%E
M@6=FN)AO1=Z!4H%%#IF9B$5MQY)C5*8@'DY5L!C&&67H8!!":X"P!7:9V3%'
M&UTT^624!"6 74LL091=FLZ9L:&?,$YTH(NIM@"1HP^)]495GS&D57##Y=1;
M<^W!,=Z5@DZJ/<C>L<)#E%%-&<H0QQF?F\83"L2 DNRQSS3[;@AVL@F">
M'&(.F5-&_A6EWQW4N;%9C',XFVNCW+%XEAPMB,'&&PF%Z\9VYF[$:QLQI8$'
M=FF0"(((22H&9G-C3,0@&2* <$=F;NBFX$T%4<&68J=25-55%$$D,,&=H@PE
M1=Q!U-ZE-,OJ41FQA=4<BD6%]",=:8WDZ(YDH>!SN'2<4!2X;=1QFT&=&?G0
M29EIBZVI,X.@0PN2@F"37@J,$%/&E%'$ T9<O>$"&CZ4?38;:8/ 0V==D?%V
MW&:31+?%:WNEV]YR^UTW#V:,81\;A/>--N!L6R=&XW,?_N$+&+U&>.&/JVV=
M3'B\<-#F(RCF&)\@2/'$$U1\D8033_2T5^G\Q411%5! 4804*("D!\]N>-M[
M&K^O\&T+,:20P@O!EVVZ[2"\_@0117PQ11):%)&3[V6\84;O7DG='!E?Q#1F
M&<H[7SOJTE/_A1!,/#'$$E. @+ONO+=?Q!0LZ#_%%_A[7_SFYRS:G8XB^GM?
M%8Q@A-U9#WO:0T$"X2<_^N&$@O-[8/:<I;X#@D (2:#"_P*(P27DI(0:+ (/
M># ##F8N6%AC24'@((<WG"%;;?C"K2C2@XD=)"$BV($"7@BE&.)$9CO2(8)X
M" (G5($)3! B$1ERK>@Y08J8@6$5I_68'L @-F'P%;"@Y,78K*M=92@C"%ZE
MQCG,2XT?V],7*I9&&&#Q-46L(E>TLBV7Y$&-6CE#'=B0&36^+"$H4^-M,I/(
M+ZXQ)FN8@QKI\ ;,L,&+0NP@])H0!"Q\@7I0H (20% #& PQBWFTCX&6^ 7%
MP$%#/;3C*?'(D$6R9(=?>-46..E)4(JR"UMP0A":4#TF%,$)*XA!%S(Y12,6
MQ'R*^4)8S&"&E8"@ATZ$HA -"+TD],9B* @G1B:S+=F4[YL440%/H%D&:=:!
MFBM) ?*<U4Q;=NE?TAQ80MP)3SEL 877R]XR-8FZ*;#&FBA0 ?C(V1Q_K22?
M,"-("APJ!XCN<YK5E$,!G\<^V%&O?N'L#$C.P">R# P\*3#HOUPP!QVR,U\$
MI8@6GN"$_>4$!2)- TF9=-(SI/2@<F"I#O6P,YARDWV<A )(<?H1G99TC1[Q
MJ4I7(M2;P<&BD=SH^F2:U*7F=*<FC>I/5]I2/53EJH?,:DQ!8(0D2&$*5)AI
M36_ZU:?V=*Q4;:EC($,'UV"&J'S2J@?ENC\(TK6I8(4J2J<:U)8.[ Q? &P[
MN2?8378RH!%DZDCM*E;&"K4J>/@"9=?*R2,D80@Y\6Q+JW(&*%46=;"30A.^
MT-:WQI6F$93!"I+0U15HH;<3'"#]7(C*6J*')>R<8QC@\$_AIA G2?A"4JT7
M/Q$.M)['!8%DE<M<@!JV(%J0;A"@0%W636&@LX1A79EDSV>B\PL=Z4QSL/G$
M**:WB.N53W8+LMWXJI*^VMR+'=Z0AC>EQ$L@,0]\<;,&S3J5254T7PHR>52*
MB"%#<?G6$ED0%YYPX;Y4=,/GB*3*':*@O? A@QQ8D%^#-<<-&@7!A_<@8P54
M\0M?T,H<=E!C'*LHAU] @0C$0(>.Q65B("A!#%A0 AGP.#T9 P$)OE@"&'3L
MPSH000_.T#$4X%C''E9 EN7091BG@ 44Z[)"TZ-BY:'9RCF!@?)X_&&MT,%+
M!?IR;>BL@#[LY<*4A(/2,H1F$3@+T!D>$AT C>8Y&%H!B!9TQMA%:!&,X=$V
M%C'T(OS>F'Q!2&5P<&*K:&8%[$$!"; SGD$ :!0D]ZPL,+,0_9SI$;M8NSL[
MYZ>').JGDEJCID:UJO?$Z@RA8+NPAG$+:@M7PB9SPGT6\!L(^9FI#+C JYD#
MSE!P;3(XZ]0), ,-K_4]MJUDQ2*H%,XT58*B?(J0<A 5J4#P I0Q;XE<<(,(
M6$!#&^)0B9:!=@+*@ =C)V_6TJ9VC-1%8+)P)=0H'J=NOHUJ<7_%/N7NZ[G1
MW&Y-[;O?-T00P-$GQ'"/&^/@4XP<5BQQ\+ B>W<H< M3NZ4;UP$^39TR0EN
M<&C3.B:V[O9OTH/57D.XQ"MV9HJ!#>XTR H%(8 Q"/C !P.QQ <]).P4> +N
M!,1)T6V*SXJ_Z-T-ECS5E\%SR?V< *>?T+F858'40]!#-@RI# U^76S*7@2Y
M)WT*12C"$JQ7!"JD+SD/%_+=.V6&ZFQ%YZAV.PKX#@*Z#YT,$G0"&,6^=[A#
M\/ )2+P(.A,&@0WJ\JS6YQH@_W--HT[H9ST+^;1"]+0N5'SF9"=.V,D"5+>X
MB@); XQC@V(V,QW5]@Q^<RN80O2V_>G!AS$/;L!U5*.]]JIW-3I;X(,T1'9G
M6XB^'+K N,+'.UWWM/:42W^AO3P!B67O/AY4(,8R*#ZR:$]^6S/3NY[7[);
M< /D%WSGIW]%%U*(]51NY!+-H4X$&'YL('SC5WYB5X!IIWZHQG;MUP(]5'].
M)FQE@'TPHWWGXW_?QR=;@ ,#&($"9X"VAX";Q20+* <-F (/*'XOX($KN 8M
M&(+[EWTP^&!D,8,U>(,1"&,EH(,4V&8(IP!"9X"887ISP&T-1W%>IQ%@]VK+
MQ0)?Q#W>0X+1=%9SAFI?=QG'EFNPUH7$TSW?@VS+-8;/]W;,AUF55W>+EWF=
M-X<0%!N )WB$9WC.@G@YHGAE@'<&X7@<(W"21WF6IW]X>$\/E5;\E%%YF$&8
M!7JB1WJF]Q[Z!XDLD5:0%X<H4%JG58<@, 6XXT"DN!/6)WIBD![4T5H,(1-R
M8DTQX8D!HWJA*'E:9UB6!P-35W6,V$.E(0,T$(BA-X@B\ 0B9A(QT"EI-0<O
M(%E%X2]PP("/IXA/%P*\-5[U0W71TU4@X /1(U[D-075M76MJ(RO.(3E<U98
MU2@YLA0&@XN@J(TY$0*_Y8W!" +[J%3CZ(_F6%XBA(RN"(ME!8_1&!%]0A:W
M2%&Y"#.[^%X894T]5!7^03"9-SW5(P0+U$!2D$+X"'7)59' )HBAEFX'LHF4
M-"L$\QH6]DX9E2XO-9'G U]*,E_4D9%CL)$?-9(AD%S^10<&J8Q5L))3T9)*
MH4\PR6HR:4V\HGM#&8K]E9/7M)/ZA ):!Y15*5]%F9)'67I)Z1M+^9(9X93]
ME"Z2!1?RM8M/UXU*I0+#>'EXJ(5PT#]=)9>>MT%?*61AR9*^T8FZ=U9NF1/_
M. 5ZJ8?98XJ.J'=N>)>'F9B6^'E]J9)B>7J=N):$.9(3])$.1(>-Z(-U29%/
MN6*=R4"?29GK")9(B9D^:##GXV@C&5NSQ6RW-5>69YN$A8PG1P??(P)7 #*Z
MH2E&,!QTL):6YP0ND4-[A1&259B],R_XEP"]^9LEX)#H- <YUS\>M3_G5YU"
M=IVI!S/:J6\LL)5G!YXB4)Q\Y5=A(%D]()XH<)TIL)VZB5LL0)NTY5;-AEO?
M>7&^*61:4%1K&)]DL)U\MT*]:';6IYY-$ 9XP#T&NIV\=(GK1VOCA'ODHWL%
M@2ET<$[G8W38^6+'EP 96DX;BDZ[ATZ9)(I1QQ+@*'7DZ#_(.&P%DDWVE0"4
M9$DKL +QIZ(]Y$WG P(K8'7QMXU"F9-; &-=,)V2]S]), 5$X%9@6 8F2$>@
MEXQ\1$F:T:-GUR?N\J2N,P524 1'4*57>CY9&DB#E!E>:GU@2B1/!Z53, 1(
MP#O]UWUSI*;(F "VA#)OFAQQ&BYS.J;PLP1HJJ=8VJ=I!:@^FH$18G=E8'V?
M$TF!*GDAT*-)*E]+.G[(N*GVT:E=T (M4'(V"IN*T81")R+[5$.51(4%9H4G
M.CX@:C'N-:1!JJ)%JCJLXSJPTZ*8JGO@& )T.J5XNGV*RJ>K*62NBBPJ*C1
M<C5[E!)<F@>LMQ?-5$5L=H*A]GNJI >EUG3;"*XP6G7D.HY9AUOJF'\76""R
MY*(]VI6A2JY-:GWR2@=;0*^D:JKMVA--F*VJM*W;%1.8YZW-0:ZR6EQ&I'Q\
M-U!MITII *S;*+ [<VQF5J/]^JXNF'WDR@($6'*\XFI>! (\E@9V(X>3F3T^
MX /)0[+ATJ/(2+%\$DXB6A'Z08,2]8!IT*3\FGX%$@/_JK#:&A_<VDH$6[-5
MA+#!9J(*FWP1N'PI6P0.&V$2FX\R&VH(B[$^"P(:ZX-%U[$?6W'<(;+ 6+(G
M.WE[600KV[(E"[/6=[7GA'E!F%A$F+,LN 4[VX-;"[31YH0-=Q(CPJU3:+#A
MDK ,E7LJ>JNINA<N:K+@:+)89T4<N:[HIW:1]W2@BJ\[&Y#)DP ! 0+H81X>
MTR YR21 TR$;HG]Y\ -Y87TV^J.X&CVZ&BY'FH_%2J5YZGU8"@(F8 *51Z=E
M>J:YNZ>* 7JO*[8L0;8NFP;3M[QNFQQ7FZC_!WYY6W)P>[3#"X "*'!PRQ5N
M@'G9"WXJZ'/2AFV]^07!L1:PZFU+&V&8Q+B&LG"NQ@.XY$IKP9L ^ILO4 *!
M00..%FNLI$MIT*,\BVKJ^0+7ZK?8QJIK\ 60$FJSBKA#6A![%!N$ZST'<1D)
M2TL+^[0-6W(1G*(3C*IE\*/.^@8EAV([U**QMQ4YYK6V5\$8K&@OP'<>RX(E
MMT-7&7Q$FA,S?!E)]D%IRQ-%^H$/ZQL]5! U6[?J9"Q+U +W![L6TT,>6JNA
M)F&U"W4_3)0@T'7!NA[@.$YCT :")@(NL&\RUZ?J*02P.*U]I!F:<@(N< +A
M,@=#$Q%\E7/G-ZC'FP!L)WE;?$W$: -.BJ1@7'5B3,9"Y@)G#, !I\;Y*V1L
M['"/0:U^%,>,3,?0VE IX1$'JF][+*F_X;/KU[CHI+66*XJO4L@Y<49O,"20
M7',B4 (V0!95=@.^L6_FPP+#BZ7I":#H^QIH@ +_*<O\&P/^VV[;N4,L<+O'
M6H+)6KP_( )9EF6AR'8,++@D.)*ZU[NG.*;&*KW$BSZLK&&6T4K H2$\ *\
M]$E%$$I(T*?C1!)R8<[MI$OUF\YH0'[,C,SGE\^OA :!BG9C@&!IH& ,O,UG
M!]!KL:\9V+=/>&"0<=#ME-"$*V%+&\)6?$2/47(73$V*UJ)[=)5":C%%:CY9
M3*S@3*5[E*;%6YG7LA('XB?GYA*A&+*!'$LN&\CKW-)ZRCT[#=) O *#C(S9
M_, H(,-"392J^K?9/)13V&U62+6,&[)IT -!8;;K[#_.NP+E')2=Y@:[=L4\
MX<TE709XVP4NH+M#ZLUQ)-98:GW4&<DB<-9)1A9T=#$<H3%:\<FZ?'Z2EUR>
M!FJNE@(J<-9IO=8Z5*E%T0,]E+EIW:<=81]N4<(-2M=V?9WL%C0% FJ\P=@&
M2GRE2P83:I[6EP:\'-9C7=C33,TB<"S[AM@[J]BN%TF]EQR07;T/'6YC>]7W
M.5=:[8_JVM7E/+!B3=AIP!..C6M\@I.<FK=R/=G?40>6G1SJ.:"HH]E)QMG9
MQC-LN22D?9W;>=HL8-RKG=RMG66P7=ZY-I21?:'EJU\CLKY66(9T4*7.;1]<
MR)V3JP)>^#TJD+EP:-]GV-Q#N=]:Y]]K^(4J<*]PF,W4B *\VCK2TX,%/=$(
MS6 2OCH4#CL"]]0Y.87DFVG-414QH7W-D1EG, ;$MU\%H>)V,-5/I^(,X<TJ
M ./XZV\BI\-)#.-9G$!T6!#^ T .5$*FR'>5V8XD7!%K&(KQ.Q5M(@<K3JJ<
M.YTP/M"2!^-; / Q.6F> (M< )]*GDP-W)]F@!"LFWG-W"2*M>AYR0S,W)7
MJ>5<_J6B_.04D5 ]2N?UFAPFBB%T,#51?@9VL.5=WJ1=[.9CH"(4<0)L< *:
MPD9 RVJTMP9GEQR+[BXG$ :0WBN4-$9C@-4\QD5R(.J4'H*6KNB,#@(G( >=
M'D:?3DN8]!O$4NJ3+@:5?NE^NNKET>FN/"2FCNNHKNN9WNAST.D+> ?!GNNJ
MKNEMT.EO/<[+/NQN;CIAQ 9TH"EICBG$?.EL]\?;6.8R9WW;'FH"]SI7N1]N
MD-1PGD3,3.H_\ 1?( 5$< 52H /R3N\TQ019P)E.<+)RMJRCUYKOH>ZLWFXG
M$(I0>)DBGL(,EF-O\*H?KN$C^>OHD^C63=?Y1LL&)DCPUB'E*0+6-\NU+!N5
M_,8Y$O(CS_$QI#76!',@GW,K7_)IQ34[$O/Z-O,F!4DJGQPB0*I WP(R[_,L
M_\ A?]MHY_&9\7(G7ZTL\*=.<L,P@S)(S]A0K )N7*W)Q ([JA17G_5^]&RE
'?*HH(&<(!_&9
end| Tarkan Erimer | Re: Dual-Licensing Linux Kernel with GPL V2 and GPL V3 |
| Krzysztof Halasa | [PATCH 0/3] Intel IXP4xx network drivers |
| YOSHIFUJI Hideaki / | Re: 2.6.25-rc8: FTP transfer errors |
| Tony Lindgren | [PATCH 26/90] ARM: OMAP: abstract debug card setup (smc, leds) |
git: | |
| Johannes Schindelin | Re: [VOTE] git versus mercurial |
| Li Frank-B20596 | why not TortoiseGit |
| Johannes Schindelin | Re: Git rescue mission |
| Ken Pratt | pack operation is thrashing my server |
| Nick Guenther | Re: Real men don't attack straw men |
| Diana Eichert | Re: bcw(4) is gone |
| Chris | OpenBSD 4.4 installation error: write failed; file system full |
| Paul de Weerd | Re: Slow SATA write speeds with SMB |
| Jarek Poplawski | Re: [PATCH] pkt_sched: Destroy gen estimators under rtnl_lock(). |
| Gerrit Renker | [PATCH 15/37] dccp: Set per-connection CCIDs via socket options |
| Ilpo Järvinen | net-next/unix: BUG: using smp_processor_id() in preemptible |
| Joakim Tjernlund | raw PF_PACKET protocol selection |
