1 |
-----BEGIN PGP SIGNED MESSAGE----- |
2 |
Hash: SHA256 |
3 |
|
4 |
On 17/01/14 11:27 AM, Michał Górny wrote: |
5 |
> Hello, all. |
6 |
> |
7 |
> I'm using squashfs to hold my Gentoo repositories on all of my |
8 |
> systems for some time. As you probably know, this allows me to save |
9 |
> space while keeping portage fast. However, it makes updating the |
10 |
> tree quite burdensome and time-consuming. |
11 |
> |
12 |
> We're already hosting daily gx86 tarballs on our mirrors, and |
13 |
> deltas made using diffball. Those can be used with Zac's |
14 |
> emerge-delta-webrsync to get daily updates done with minimal |
15 |
> network overhead. Sadly, it takes the whole process even more time |
16 |
> consuming :). |
17 |
> |
18 |
> Therefore, I'd like to suggest an alternative solution that could |
19 |
> help out Gentoo users that use squashfs for gx86 and would like to |
20 |
> be able to get daily updates fast and easy. |
21 |
> |
22 |
> The idea is to host -- along with the tarballs -- daily squashfs |
23 |
> images of gx86 in a chosen format. Additionally, the images would |
24 |
> come with deltas made using xdelta3 or a similar tool. Those deltas |
25 |
> -- with a slight download overhead -- would allow very fast |
26 |
> updates of the squashfs. |
27 |
> |
28 |
> Now some numbers. I did some tests 'converting' late gx86 daily |
29 |
> tarballs to squashfs. I've used squashfs 4.2 with LZO compression |
30 |
> since it's quite good and very fast. |
31 |
> |
32 |
> 96M portage-20140108.sqfs 96M portage-20140109.sqfs 96M |
33 |
> portage-20140110.sqfs 96M portage-20140111.sqfs 96M |
34 |
> portage-20140112.sqfs 96M portage-20140113.sqfs 97M |
35 |
> portage-20140114.sqfs 97M portage-20140115.sqfs |
36 |
> |
37 |
> For deltas, I've used xdelta3 with max compression (-9) and djw |
38 |
> secondary compression (it gave ~0.1M smaller files than fgk and |
39 |
> ~0.5M gain than with no secondary compression). |
40 |
> |
41 |
> 4,9M portage-20140108.sqfs-portage-20140109.sqfs.vcdiff.djw 6,3M |
42 |
> portage-20140109.sqfs-portage-20140110.sqfs.vcdiff.djw 5,6M |
43 |
> portage-20140110.sqfs-portage-20140111.sqfs.vcdiff.djw 8,9M |
44 |
> portage-20140111.sqfs-portage-20140112.sqfs.vcdiff.djw 6,3M |
45 |
> portage-20140112.sqfs-portage-20140113.sqfs.vcdiff.djw 7,8M |
46 |
> portage-20140113.sqfs-portage-20140114.sqfs.vcdiff.djw 8,5M |
47 |
> portage-20140114.sqfs-portage-20140115.sqfs.vcdiff.djw |
48 |
> |
49 |
> As you can see, the deltas are quite large compared to the actual |
50 |
> changes. However, we could have expected that since we're diffing a |
51 |
> compressed filesystem. What's important, however, is that applying |
52 |
> it takes ~2.5 second on my 2 GHz Athlon64. |
53 |
> |
54 |
> So, even with the extra download time, the update is much faster |
55 |
> than recreating the squashfs. And unlike some types of unionfs, it |
56 |
> doesn't come with extra runtime slowdown. |
57 |
> |
58 |
> What do you think? |
59 |
> |
60 |
|
61 |
PLEASE DO! This sounds fantastic, and is something i've been |
62 |
considering proposing for some time. |
63 |
-----BEGIN PGP SIGNATURE----- |
64 |
Version: GnuPG v2.0.22 (GNU/Linux) |
65 |
|
66 |
iF4EAREIAAYFAlLZWoMACgkQ2ugaI38ACPAb0gEAwFPWdtI5J8l9QH1YTrKe2Mbm |
67 |
OwPL4wGg9ORaHv0FkVcA/iLsP/z3uz3sJoWciR5ZCZ73HblyDgH/flAhakNhl3NZ |
68 |
=ool3 |
69 |
-----END PGP SIGNATURE----- |