gentocf updated
Michal Moskal
malekith at pld.org.pl
Fri Feb 23 15:01:17 CET 2001
Pawel has recently added support for splited tocfile to
wuch. This way it doesn't need to download entire
tocfile, just what changed.
I've just changed chunk ordering code in gentocfile.
Now spliting into chunks is done automagicly, care
is taken to do as small changes as it's possible.
However it needs testing... I post it here so
ppl who does geninitrd arn't confused by the change.
Boring technical details, how does it work:
1. tocfile is splited into several files. they are around 30k
right now (after compression). md5 sums are computed,
and stored in separate file. Then, whenever wuch wants to
download tocfile, it computes md5 sums of files on its
own side, and downloads only nessesery.
2. in this schame it's important how file is splited, so
wuch doens't have to download too much, so how did I
do this:
- dstdir is scanned for tocfile.description file,
when it's found, gentocf reads informations
about how was the files splited last time,
and which is the newest file (st_mtime) in
each chunk.
- then we look in rpmdir for rpms, each is looked
if it was in some chunk last time, if it was but is
newer then newest file in chunk (file was updated),
all files from chunk are added to changed file pool
(that's because if one file changed, entire
chunk is wrong)
if the file was not in any chunk, it's simply added
to changed files pool
- last chunk, if it's more then 25% empty is freed,
so it can be used, this prevents from getting
small chunks at the end.
- then changed files are splited into freed chunks
and at the end.
Anyway it works... :)
pozdr
--
Michał Moskal <malekith at pld.org.pl>
e9 8d 65 00 9d fe 9a f5 b9 dd c9 ac 2b 4f f5 ca 01 21 17
60 67 02 93 ff bd d1 72 5c 28 06 14 3a 69 63
Honduras KGB Albanian FBI munitions
[Hello to all my fans in domestic surveillance]
$400 million in gold bullion North Korea South Africa
Rule Psix Saddam Hussein Delta Force Mossad spy
counter-intelligence Albanian World Trade Center Semtex
domestic disruption spy
--
More information about the pld-devel-en
mailing list