[comp.binaries.amiga] v02i023: ffsfloppy - use the fastfilesystem on your floppies

page@swan.ulowell.edu (Bob Page) (10/29/88)

Submitted-by: kim@uts.amdahl.com (Kim E. DeVaughn)
Posting-number: Volume 2, Issue 23
Archive-name: dos/fs/ffsfloppy.uu

AutoDiskChange is a small program that you run in the background.
Every time you change a floppy it will send the appropriate
information to FFS to tell it that a disk has changed. This puts FFS
on the same level as the normal file system.

FFS will allow you to store 4.9% more data on the same floppy. It will
also do disk directories quite a bit faster. Disk reads and writes are
speeded up a little, but not that much. This is due to hardware
limitations. One area where a big difference can be perceived is when
doing 2 or more disk transactions simultaneously. If you're saving
some data to floppy in DF0: and reading stuff to the RAM disk from
DF1:, there will be virtually no slowdown of either the write or read
operations. This is in contrast with the old FS. Note that performing
two disk operations on the same floopy still results in HORRIBLE
performance loss.

# This is a shell archive.  Remove anything before this line
# then unpack it by saving it in a file and typing "sh file"
# (Files unpacked will be owned by you and have default permissions).
# This archive contains the following files:
#	ffsflop.uu
#
if `test ! -s ffsflop.uu`
then
echo "writing ffsflop.uu"
cat > ffsflop.uu << '\SHAR_EOF'

begin 644 ffsfloppy.zoo
M6D]/(#$N-3`@07)C:&EV92X:``#<I\3](@```-[___\!!-RGQ/T"`:8)``!PR
M````3!$]548DZ`T``#8)```!````````````075T;T1I<VLN0VAA`!$`?[)#Q
M#P!!=71O1&ES:T-H86YG90!`*2,H```!`!@P3Z!!@0,.&A0@4,`S@WL4#DS7,
M\)F3?`(1X'!B12"2<WP`B'`!``$)D@Q,!$`10(4`)$20%!$FC!@Q8\60%4,2$
M1)H0(86R%9(V1"C/GT*&(!&"9`BU0=0(M0@"@$$+(269?`/@PXD7)W6<Q!$K:
M5@6`$<4,$E"!`.U!%0_<"F0`X@6`M6?39E21PR`#3;D,(H!22"X`*"SPW!41%
MTJ`35_ZTF34,0<@IRY9%Y#$(Y44"RRJ>>.('@$0G9V$4N-@\%PX`L!<;\N`H1
M\(4#&"01)+[[V)\M%E_,]B@"0(%7V!T!V!;AIN1N`KVU`3?;@CB#XV&3+V].#
M-_?SWKR`8Z>MW`$([XJA0Q8V'4#UJN.UFV^N.WUO1NW?7_^:O;8#YL[9!YDA!
MXO%'GFT@T/<=9(#D9UU\_@%8'V^0B5$@<OZAP)T*#(A0Q'D!4M@/-@X"(`&$>
MY6D(``4<@O`A21``V"%Z%/I#1(D:H&B;B@APZ.&"_LAP87_E+?@/'T/&)I`4?
M0@0FD!A*"B#'@0[PZ&,!++`&`)2N_"-%B0Z,AQ$``MA`7I,&F7'<F`-L))^*H
M"BA!@1D*@-"80$[H4QR<+1:!FW-:J@F9,R5"H*-Y,"98E819IMD;>\&Y1QP%E
MAXX$J$%<_B-(B?MA"(`0?0FD!G84A`J`&B"\<1<,=B$@`P"T8'`%,O_P(PD0V
M/U!E7%AC"L`&>6$`\`\R:R+DA)(#R("F0+^R"0:R2SD)`!S(3LFF%F=*RT>Q(
M`RF"[*_)+0L`(-PBT)5\(.H6:&\-1FH8(-0]:""ZS7D`H@8`4D!"<PZ8H."Z=
M71(`7`M`B'2HE1T6T:A`@OX#09)6_(//"&,"`(%!A(@+B;B,H*`E(4JP`@`KU
M9O"0Q2,>8YP$.P!PP>$+!3CA9`!\8/'("%L)1,G)*0M$R,HMOQSSS$;8C+-!/
M.S_R`P_%(<%:`?+H$0+,,@L4@"Q/O%/<T0PK(:T99C@0;``<K.87'+NV$&BMP
M&M8Z`LLX&,1'V_R\#0`-!K%!M]TP8-HS`""+3+(2?U-B-PD&80*%M)CPK"4FX
M+U#JI`#FV-S"%Q(7K@(+`'`P16%Z`8`(Q8D;Q$B>`#!R<A5*DR2!B@X@0475^
M`U'`Q2-Z`*##!TBD1[6T!MA,^P"<&)TS`)!X;1`D80?[FMFM[7KR"Z8J9RH!7
M/Z#$H^Q_0[+T`.C(GKV)L,L^/#%9`Z`!UZ+'5ZOR#)_A`/6.SJR)S?"G?H;DC
M#8E`O\ZT"P`9A,>?,,@!#BY@0QK$(`<#;H8C_^#&R<;'@.U1(5C\P,'M+O>^;
M+O'C#$;00P"J$\&3Z>$#,$N".R(HM!>XH%88-$3ZK((Y?`BA2Q+$'0H+H$(6A
M,@!F+H0A`/A!AAER$!_NX\='_O&/&]9*!Z$*@"%<LP!@!,*#_PN`.8+(CV#IL
MPP]0>(16F.B:)"ZQB1Z$HM40044K8C&*6WQA%P&@#R6$<8S_*..\:G5&)_)#]
MC0`(@"+:>,5:93&.0M2'!>[X#3*^9H]*/`<3_0C(`#""D&^T&B+GF`]Q,-*1F
M[K-']U!`A>^%[X(`\(<L;L>ZI3$Q6/G``Q4>,8.<2;&5/'@E`/)AAEG6<HVXP
MU&4^J.!+6RHBF/^`I1"*:35&.%$?E9PB`*I82&A&D8W3=.,_K&FU06:SFI6\T
MY#>[I(_IO5`?L&2"Y3!G#R&XX1_^T,$+(U.$)(Q)BBAXH3UL0`,H5&4(`/C`]
M&`A@!P"`00`'(,`9.-`]><*S'$5``1W\:4K9!:L?W+B=%-[I#P8TAP#P-(,M!
MP``*,2&$$.19FDB<)I`ZJ90'+"T.$8*U#US,,'^(.(,"]$``74@+$6P@@DH;A
M$%,%"(*F=KB=2E505$G0U`Q*99H-BNH+FEHAJNXIJCUH:H3;Y2D`8CB998*%/
M#QH83Y/VM)HC,A`2AB`@!8TQ`!I,E-9`DH*M9"H)7`5B`$[0]9ZZP*M;]PH`$
M`T#CKU:#AF#UVIB$FDBL9XCI`DP@A#/`4@QA9)\H\B>*,P@`#-#1$S>$H"5.@
M`!(`G%`&:7!05P"8(@GT\"=>"Z!7+8D"``Z8(-,>(%D4Y.ZTG(`9<%4+`-96E
M[+6Q!0`*?DB`L0(`'T1(GP24\`DS?#:T+1ON:EMKBASP8D50X(!V`6"!N@;`Y
M$;#UYW+':UR#F"(%A(`""MC+721,%`!D98#-I%!:!FR&``;AA!F$)8.+FH"F*
MHL#.07CB!"(PH0A2@`$+&.Q@",=@PD%H\(.E("0*;W@&`"B"&^A0!CDD*`QMZ
M*$.JS`""Z$X!!&@(@QO(P(82SP$$9GB#B>O@AC30`002!@&/?0R""PNYQS\6"
MTI&)#&(AA($,(`B"',Y0AQ2/>`XA$$@1\(!B.-1XQ4*>0QC.4`8=@"#*=:###
M&XB0ACFL80@Q=@.906`$(\#`S'6.@0X`<`4TE%C%=;XS"&0,Y3R;V8"`-L*+`
M46"$,,SAQT9(PY>GD(='EZ$-*8`QH6LLASD`(,<FIH.?09"&$9?8#6%@PZ!GA
MC.,T=/K'9<`#B>6`:E63H<UK``$9Y)`&.Y3A('1HX!C6<&LWNX`,9;!#&L;PH
M:X4,@&4"28%$\BH09C0D;F0B0D.:0R9`(`1O`]'V0)2`D.0,@`L(F>M`N#T`4
M;P_$$`C!A$`(@(1Y#_@NN;L+(01"6W[O&0`%8`*_J<!O4_#;V@#G!K_1D9%_T
M(Z#>)9%"1@I:$GB7Q!(9,7A)I)$1<V1$3P!(@`,$D@`-D%P-!EF#00)@$'0+P
MA`QY,XAB!.('C)G.(+<5B"L,(HR&^*`A6&C(S`6@BH9PG$SR0`@#$&(!A/AS>
M(&)`R,P'``F$H`(AMD`(..;-D+LT_2XFOPL(YFV">7/N+O\FP-,)$/2[<)L`@
MCI@W)>8-BGD7_2ZXF#<QYGW8NUACWN*8MSKF#8]YXX/?2P<X!OCM`7Z+@-\NX
M+T#4`<[M`N2[`.XN0-4!#@M^^X+?QN`W-?@=^,)2W`#[+NS=#9#WPGJ#K]`^6
M@`0$<H"Q`^``/[^]%VCOFML+@O9SO[TG:"^RV^N"]LB@?>%+DG@$@"$C*"\)/
M,#(2^I)H(R/N('G7$X`"DI,DY$P+.59"+O"0NSP!<B!YOA.0^@1H/`&=#_EW'
M0U[]!!P]`0H/N<=#OGP%&$0!""`1`Y!T`[$.$($0!#@`@^=L\A`0`-RGQ/T"!
M`9T9``#C"0``71&8`MG[3AT``+H/```!````````````4D5!1$U%`&LN0VAA'
M````?U030"DC*```%:!0T:.@P8,($RI<R+"APX,J4@A4`:*BQ8L@@M2A\X9(\
MFCEKAJ!Q$^9,&1T90<"1\^:,G#!M0'`$(:>.&Q!&C$P!\>:F&39OX,!)4V8.8
MQJ,1)SY<RK2ITZ0#CU8<$C2/G#1GT-`!D0I$C!PX<(!H$D8.G30WJ81)PX9-;
M&3-EY+#(V!:$%*Q:C4HI&M=.&3(8H5*42M@B%30?020V(Z=,&39Y:/[]2.>JC
MF(UAQ+@MS+FB8*>@0XL6?-1*W#EI>J*,X0(&C,X:Z:!Y(P<$2K)FT8)0R]8M!
MW-J=+9+&2"0,G3(65\MH\60,G19ACXH,X\;D')1/KIY!&X9-\,Z?18L?SS"I4
M`@5.GE`I@O)P8C)OQM1I4\;-UCN])?^6^0:$"+3'R4$2&R*`0!U@(IB1AAQS`
M;%4&'@$.6"`9'ZVAP%%D7.77'"[@1%M&,KCV6AUSG#:7;,@!&->`(&28AE\@&
MX%>7&,BAV&*%+6J(7$\78F2C=EJ!@!H9971X&'()+M@@"`]&V-V$.NIW&G\RB
MH8&<36ELU5.59?1XD6];#;GC37F\44=M0;2!51@NG*=`3E.T9R5.82QI!%O(9
M39%'@V6TH4`+@`8JZ*"$"JK`D73:B2<(>O(94V+4&<B&D\>!H.!F<^QYW$U$O
M^@44''^!($9D5+71QAOP-<:?`HW!P4888]0XIQ!#0,&$I8MFZB@()(9:!QQ4&
MRI88'&\`:.2<:&691G>2N57GCF:\J1,(*-0I)&)"A8J?;%QZY<(,3+J!!G6Q,
MUK9&EBDH9I1)987*T1UED6&4&SVUT-BI=F3FE@+T41B&D'6,@8:!1HTK!V`4T
M@C3'7!]*$001*%5++XJUL0;N&6^@2E0*QR9&'W5&R68<3CHI`%]1;IRP%86-M
M.0<9P$+1MM5/&0]55)OG(0H%2YKUB=(4\`J%UAF6?FKS''\6JO32@RJ0Q$W=]
M>6?&6@(6M3#).YULU!VTK<&33T83Q>%N5JH*J4H\NQ63;&9FA5*6)K^!LLH@O
M3)Q&K#%:2::90@9==%!'=VP4GWT:Q=@;:\\YM7-5C@RG`O+)T9A]+S\(JG,A*
M]T<C339]77>]][Z1;\\@]+OLUY`)7GH9((-09AT@C$&=`JRC]O(8M-4$Q\QAD
M%R5J9'=<=59U+1KW[TS_)NSU'8@)'*.U']MG*6T*4/<&Q3>")"1:>,/9HMQSQ
MI+S5&O3>T?A6K\<^;G6ATBQ49`>6'D9DX\(8!N2Y_[J5'429_X89W7(?'"*CH
M&QNYR"\X.]2<[L2@K4SA#6S82&K<@!(B)&$*2Q@"$H+@A",4(6E,"V&A%(@<&
MULB@6;6#5D;4=(8P$.$).YE#&,QGHS`(I2S*VM+_NF5!#&J0@QZ,'>+:<*`V8
MN6=KT%N+&UX6O9E]J`8GD$$-%.,&YQWP2B5B4(>2L!4ZG,D-1C%3%^>$.U,=I
M"'*1ZLX<-(=%=_4'+6:@34R\Q[SZE,$OM4D>CA(C,.J8A`RJBU[(QD4'VN$Q5
M,F>AC^OXUD?V&>AO[YM+^NI7H_Z4R`V`^5</,[C!#A9!B&;$I.`4D)@XU"%+C
MR*$.O?(PM+G$[RH@R<,6`9B^.,K!)%O1Y`4Y"<1/]N1E/<%;^F3G!I/!I"0U^
MXAHDCQ8"-R%J"F7`'289!4$)JB8C5:#"$S;Y0T^"4(3@'&%L.E*AZ3CR;',@_
M8EU6TI*7)&YDZ:O)30HX)S'`:@TN,9,H05"$0\HD#?11P##79Y)'"I"`]\G/C
M)0%30Z&P9"7+JA0<Y6B<"5+)>S,Y3EM(.<:1Z5%[XS)*(_^H.CALQ"C>VY*-P
M9*A(MWB*8-VBEQS4J8!+(4=7QVE#`A'EGH-1,X)GN29K:/#-<#9M"7=;0X/*,
MLI6AQDBACL%:Z;#R$HG:IS]2>$(35"<C[T3M#32<$T[[M*K-E=%59:##R^3I"
MAJ%)%07<BR"%B"=`L7',35=`0V12"C;`B>T'136JM';254D!Q7SIFTF#:(,<D
M&K@@!R4H'6.+1X=_J52L,$'.0;>8T+JH\0UQRY[76!9-CES%=Z9$Y2/%D"5+/
MU2E`'?*(]AH3!GD9:)K!0Z51VB4D4/W%5W"H'@C8D"6UEF$NE]G*Q,Y7NH"A[
M077OJ4,E06`P,L!+5<154V6#"L8./<$-J:2M`NJHJG^QEF@4,L-OZH,W8HH*.
M.:"20ZQ>%*K$U)%3Q2+>"3]T*E4I3P&5`1FLN#LX@-9A4M0I@YGFD#H0)(&6.
M9CJ!JF3(/^*M49%D,!Z5#DI%$!#!"##00?6F2=NY$JU!=5!OL.;DL":(UE(L-
MB<F'8Z"#$Y4-.87='/_,4H>H189>"F`P6.%SAYOLL`Q9*ENW<ENI#Y68)_&M<
M:$_&=D1U=5B:`5[2MM``X#E!$#`ZZ9`3KB>KD<77EFHB'AV4J3PHQT7*8/3<;
M2C/[MZH(Z2P;;<P<#DP'H^@&"4^0@A22(`0F?/+,%*TB<H`R!PZYZ01(`.MN/
MWG`"$!SAE$0*K-+>I"0Z2))OX'67XA8E`B.\]DYN:51."Z2;U]5FK&TX@5&8D
M@!+2.H<VLCP/-*5)AD_#KK"A9NBH-R."LL#!!<05PTODD`=6[^U,0M)4GV0-S
M`B80.DXF6U!I<8VSGO;:0-F:IHWBV!:PNK4)^J0#$R@3KLJ(C4JNCK:CJ'TJA
MFZB5,@*)HTT`0T_D$*$(5HC3C5IFVCS<50$OH$@1['/:S$G6WC&EJ'<^'.+;P
M`F;&*+%63BH>OYS0V,9O*%'=RG"'"U%D?61P"X.>6I=>8:U-(%#!"Z05X@18<
MA`AWO!MR>B"3EXQA#<IS0:=TK@";5P3595`U67G.!AV8ND%(5[J?C&YIH(C!@
M-&,``<];$(.B6X0LVN,Y#/!P@YP8P>L5J4);MU(1L:,=)Z\Z@U&T[I6W3^%,[
MB_,=W67P=G1#G.==I[H0@/+S.4`A+E3PN=<`'WB+["6+?@$,S_E.]9V5(0CE@
MSCKCW_ZT`#D+1FZG.A/`.H0\>$?L%=E!19"`E]*?'@0WR,';A9#BWQB%YS68]
M?8J;T"<JY`%4=)_!VXD0<M\#7^QXH('RC5"#&<"@ZR,XC\=U0'6<\P]O/`_P5
MSX,^]%B]/>K2C@G3G7YJ/$G][4>P.M;ISO6^UVGQ(!A[V7/R=K6WMNUUI[H1O
MXCYWP-L=[["B=Y/7=^FF=8U7$8,7'TIU>'*0>/=$=S%P@';!%W(0>7OW=I:'L
M>80'@1+8>7'Q>3L7?V\W>G?@>G3W&B"@>B#`>EEA@CP7>[JG7E.">S'(>VU@X
M?"$H?-57?+\7@F.G?#3`?,X'?=)G)F:!!G/Q$7LF*YH%08?E5F5$1)AD.#'V`
M2$-@;2+V=4]0!4Y`!2038E[2!%O8A21#8^<1!&,T+/GE:8L$.W,P&P<&&/*4D
M$1M!3B!A3B:1A14A!5P(`C[@!$E`:R#``X`HB.,D6R%!4,BQ<2@Q?6<X37906
M+*\2`B"0!:`F:90D$\KD/5<41L_V:N%'B4\`0+AS)B7B:RS'!M7#!FLT<FXTV
M/3,U,G7E.[KA/:=")$;2'_!1)1\Q%_41(*OU*FXP6GM43/'6)"O"+%=D<3+1+
M@WK(*%D0)U,0C>O1!"]@!('6!$'@A40P:%;P2=,'`DX0!$WP2:4V+?L'.'D0[
M`@62'DDP!$_@!#OQ.`KP77@S;A2E)5'&7:"$5L>!BNY5/M_S2+96<#P!8=#V4
M7_&#.P-$699U58I!!QUBB;`3;%32&/N147.RC!IG!!_W.5N!<1WR0`#6'PP9M
M&1>65HA!/%L2*=[#8:UFA$P"(<GH'5=T(L[H)?`(!5DP%GF`=+OQ!&4H8@I`'
MD;$3*0V2'RX7;YWX5-SR92W0(*:G6;TS-D:I!B222V,0*XW&)7YB+2328]Y!&
M(FY%<1DW32)Y'GE5'[<E53#I9Y\XDTYBDSIB8\B1!$Z`C:`DA8!16*TB,UTVE
M,@94C+RR=A[FD6]C%"(P9KGD83#D814B`G/!/'<S,(E1&=*5A'1`;2Y9,D%'E
M-LCQB\P&BSE"7T.9BD(D.:7U,F\H:39"$HJT0_&V64Z#D#V'2/T!*URY6S?Q[
MDD83&61)/!CG:R=0%[CT2(MY/8_T0CN!B"+`*F5@2D4!6Y7(2$@)4*X2&6-`A
M7#]WE(KF5>(VFB6A1$XY,--W+#>564&6)3W&CX45'Y&C&+99&;AI(%MI-8]$!
M+V[0`KZICC`%)]WF94L$//-#)<=Y%8"Q0]X3/SMTB.6DB%8V$XTA!ADS1C<5`
M?@ED!!+G8&"$F<XQ04AC5(;BH'<(H>ZEFV6P.[P"+#.A;WET2_/QBU1F)2)76
M%F<0H_918&V0G293%&-@&4Q8-YD51@!D(]Z#<BIG.!_".LXCFS+9B2.9FUN#\
M'!1"!M5#H7[QC"2:B'ZTB"#6B(@)8(_!BMW"3BX!$\P5;RHB(,S"83F&'/5F%
M'Z'2D1PW3:Y64YTFES6Y3,"3'YMSGM4).^XU!Y>3!F8`G"S:'RY:FAO"BT@#[
M+[(4J,VU)$2T!C=U)LC!E#I2,&$`(S3"EBN1<PO&1.DVIRA5,C1B2UCD5EN*-
MAT4BJ<2T7'&*/C(I+#Z%C&Q*E_0U7DDF1I+2BK/J5E'#J+Z3JI.5);/4AJA#@
M0'(Z35L2G$3S.)?U'E'26L"FG)OS+^S4,SHU%NGF5A@5!I9J%/Y$7'1@7/S27
M)[@V%ZTX3)$RJYXSK)I*7\BU$7>FE"+76BVY/=6Q+U>40)%F/EQ$%]YQ!5T30
MHH+5JA`Z&V^@5"O:83:B?4"'(]U'I3@R4BDBIY*C/VVREN"%1XY*10&B.UJRC
ME:9HEVC33FB*(C>Q4+R9$4-`!4D0CU_`39WD00H`!_>45BN&'(WQ*L<!9M."]
MI'&10#OS!MR*L(0R6*B9'EYX7<\FG\H:.O;#I_S1'ZGU<R^#`O?5+5>D`,25@
M%5N1&#W!,2#@L3$B/*TD59]%7=9R//618554GUXD(`=9I!NI(V"+%TZ41Y9"R
M<D(233TA+ZXD;GHC$U_D9UMA3]VY);9D(!1JK_]2(KPV2HE!([+C<MXC.P)#+
MBVZ`9G#&C(;*)68S+[GYH?Q#!Y'QN#.$&&[!`C4506](BWTF*K4W)3,1=-(W=
M+252.!>95E_T5'$!&$OE17`)NORHD7>9ET(9A47$*-@)&7$C/L.5,5XCF&*UM
M721"17%$B8BRK6KS/"+5$PHR4Z$R*HQR'#`B!*Q3N_^C`*5RBY,5/]$U7>,VM
M8%RR%9P(/M1+/I*6&;Y*M?K2):;#)FZ2!-05%)G*-S0"7@HR,U4H+$9AINZDF
MF>)K*9TS$TR6L;>EG<^",PD0P@F`&\.S&VO1%F\1%T4GPC$P`S;@8;YC!)-3/
M%"L<PNC&<*S#!G,1!=*%N36<`$/`00\3!#:'!#$@!%Z!!3AP'B*<`.LAB#40;
M`S3P`C9``S70`C0``SB@@R(L!$F`!2B!1\>!!^<1$`#<I\3]`@``````````H
M```````````````````````````````````````````````````2```PK0@(_
0`````````````````````````
``
end
size 6631
\SHAR_EOF
else
  echo "will not over write ffsflop.uu"
fi
if [ `wc -c ffsflop.uu | awk '{printf $1}'` -ne 9330 ]
then
echo `wc -c ffsflop.uu | awk '{print "Got " $1 ", Expected " 9330}'`
fi
echo "Finished archive 1 of 1"
# if you want to concatenate archives, remove anything after this line
exit
-- 
Bob Page, U of Lowell CS Dept.  page@swan.ulowell.edu  ulowell!page
Have five nice days.