On Fri, Jan 17, 2014 at 8:27 AM, Michał Górny <[email protected]> wrote:

> Hello, all.
>
> I'm using squashfs to hold my Gentoo repositories on all of my systems
> for some time. As you probably know, this allows me to save space while
> keeping portage fast. However, it makes updating the tree quite
> burdensome and time-consuming.
>
> We're already hosting daily gx86 tarballs on our mirrors, and deltas
> made using diffball. Those can be used with Zac's emerge-delta-webrsync
> to get daily updates done with minimal network overhead. Sadly, it
> takes the whole process even more time consuming :).
>
> Therefore, I'd like to suggest an alternative solution that could help
> out Gentoo users that use squashfs for gx86 and would like to be able
> to get daily updates fast and easy.
>
> The idea is to host -- along with the tarballs -- daily squashfs images
> of gx86 in a chosen format. Additionally, the images would come with
> deltas made using xdelta3 or a similar tool. Those deltas -- with
> a slight download overhead -- would allow very fast updates
> of the squashfs.
>
> Now some numbers. I did some tests 'converting' late gx86 daily
> tarballs to squashfs. I've used squashfs 4.2 with LZO compression
> since it's quite good and very fast.
>
> 96M     portage-20140108.sqfs
> 96M     portage-20140109.sqfs
> 96M     portage-20140110.sqfs
> 96M     portage-20140111.sqfs
> 96M     portage-20140112.sqfs
> 96M     portage-20140113.sqfs
> 97M     portage-20140114.sqfs
> 97M     portage-20140115.sqfs
>
> For deltas, I've used xdelta3 with max compression (-9) and djw
> secondary compression (it gave ~0.1M smaller files than fgk
> and ~0.5M gain than with no secondary compression).
>
> 4,9M    portage-20140108.sqfs-portage-20140109.sqfs.vcdiff.djw
> 6,3M    portage-20140109.sqfs-portage-20140110.sqfs.vcdiff.djw
> 5,6M    portage-20140110.sqfs-portage-20140111.sqfs.vcdiff.djw
> 8,9M    portage-20140111.sqfs-portage-20140112.sqfs.vcdiff.djw
> 6,3M    portage-20140112.sqfs-portage-20140113.sqfs.vcdiff.djw
> 7,8M    portage-20140113.sqfs-portage-20140114.sqfs.vcdiff.djw
> 8,5M    portage-20140114.sqfs-portage-20140115.sqfs.vcdiff.djw
>
> As you can see, the deltas are quite large compared to the actual
> changes. However, we could have expected that since we're diffing
> a compressed filesystem. What's important, however, is that applying
> it takes ~2.5 second on my 2 GHz Athlon64.
>

It wasn't clear to me, are these trees with metadata included?

-A


>
> So, even with the extra download time, the update is much faster
> than recreating the squashfs. And unlike some types of unionfs,
> it doesn't come with extra runtime slowdown.
>
> What do you think?
>
> --
> Best regards,
> Michał Górny
>

Reply via email to