Gentoo Archives: gentoo-dev

From: Francesco R <vivo75@×××××.com>
To: gentoo-dev@l.g.o
Subject: Re: [gentoo-dev] mount portage from squashfs
Date: Wed, 12 Aug 2009 23:50:31
Message-Id: 8effd1fb0908121650s693fa04w80d4d772b1cf71ad@mail.gmail.com
In Reply to: Re: [gentoo-dev] mount portage from squashfs by "Robin H. Johnson"
1 On Wed, Aug 12, 2009 at 10:51 PM, Robin H. Johnson <robbat2@g.o>wrote:
2
3 > On Wed, Aug 12, 2009 at 05:17:55PM +0200, Francesco R wrote:
4 > > Proposal, create snapshots of portage as squashfs iso, to be used in
5 > > place of /usr/portage directory.
6 > To all of these suggestions, I'd like to point out that if you're
7 > willing to pay the same cost in administration (maintaining a separate
8 > filesystem for /usr/portage), then you can have EVERYTHING in the
9 > advantages list, and none of the things in the disadvantages list by
10 > simply using a small reiserfs space for /usr/portage, with tail-packing
11 > enabled.
12
13
14 well squashfs has a pair of advantages over reiserfs, duplicate file
15 detection, compression and a bright future.
16
17 >
18 >
19 > For the rsync.g.o main rotation servers, we actually do that, just
20 > RAM-backed to serve files as fast as possible without hitting disk.
21 >
22
23 only possibility to cope with the load they have I think
24
25
26 >
27 > When you removed bandwidth limitations and disk limitations on the
28 > client side, I believe the record time for a emerge --sync that was 24
29 > hours out of date was somewhere around 23 seconds.
30
31
32 23 seconds are ... a lot without bandwidth and disk limitation, disk time
33 for 50 MB is 1 sec (or even much less), and it transfer the whole iso in
34 that time
35
36
37 >
38 > If you really wanted to get the rsync transfer size down, see what you
39 > can do about the 'file list size' section, which is eating up a lot of
40 > the download gains with the classical rsync:// sync.
41 >
42
43 IMHKnowledge the only way to do this is to have one index file (or files)
44 the file should contain a triple ctime, status and file name (ordered by
45 ctime possibly descending), and provide a cheap way to retrieve the list of
46 files changed in a certain amount of time,
47 status would be needed mainly for deleted files, but it can be modified or
48 added too.
49 Portage already has timestamp in /metadata so that skew of the client clock
50 are not a problem, skew on the server would be.
51
52 As a side advantage this could be served by an http server, still having
53 rsync as an option. Currently rsync already use the option --whole-file and
54 does only time/size check, if those differ, it downloat the full (little)
55 file. Right ?
56
57 This would be interesting too, but what happen if the timestamp in the
58 client is too old or absent? fallback to rsync? How much time or how much
59 size would the index file be allowed to grow?
60
61 P.S. as a http client curl would be more useful than wget because it permit
62 to download more file in one session