Will installing Ubuntu onto a Btrfs partition be an option in Karmic?
With "Btrfs -o compression" I can fit a full development environment,
and build GUI applications like LyX in just 1.4GB of space [1].  This
means that 2GB-4GB SSD devices are big enough for real world uses.

I doubt that btrfs will be stable in time for Karmic [2]. However I
don't store irreplaceable data on such devices anyway, so if it is
easy to reinstall Ubuntu onto btrfs the cost of dataloss is very low
for users such as myself. Additionally, if btrfs is availiable in an
unofficial unsupported and perhaps hidden way in Karmic, I imagine
there would be less surprises if official support is added in Ubuntu
10.04.

[1] This is 2.7GB of data. Unlike btrfs and reiserfs, ext3 lacks
support for space efficient storage of small files, so this takes
3.2GB of space. As shown below btrfs takes just 1.4GB to stor this
[2] Btrfs is in mainline, and btrfs is expected to be backwards
compatible from now on.

Filesystem            Size Used Avail Use% Mounted on
/dev/sda1              12G  3.2G  7.6G  30% /
/dev/sdc1             4.0G  1.4G  2.7G  34% /home/xp/btfs

I did some back of the envelope benchmarks of the compression feature
(not on SSD though). These compare the time taken to read/write the
entire 2.7GB.

The btrfs -o compress partition came in slightly faster for cold.  It
took only 37sec compared to 41sec for ext3. This is despite the fact
that: clearly part of the real ext3 partition was cached, btrfs does
not support LZO compression yet, and I was using the old 0.17 module
rather than the faster 0.19 one.

Interestingly, reading the compressed filesystem did not seemed to use
less than 50% of the CPU of the VM. As we might expected the warm
reads were faster for ext3 than btrfs -o compress, at 22 seconds
instead of 9 seconds.

Since these figures are very back-of- the envelope I wouldn't trust
them much, but this does suggest that btrfs -o compress will hold its
own for read io bound tasks, presumably including booting from a slow
external SSD. The figures below are at least testing a possible real
world use, unlike the benchmarks which are just reading and writing
zeros.

Cold reads.
time sudo tar --one-file-system -c / > /dev/null
real    0m41.073s
user    0m0.632s
sys     0m9.585s
time sudo tar --one-file-system -c /home/xp/btfs/ > /dev/null
real    0m37.861s
user    0m0.704s
sys     0m17.033s

Warm reads (cached).
time sudo tar --one-file-system -c / > /dev/null
real    0m9.751s
user    0m0.160s
sys     0m7.368s
time sudo tar --one-file-system -c /home/xp/btfs/ > /dev/null
real    0m22.725s
user    0m0.588s
sys     0m16.609s

In the future, it may even be possible to also use btrfs in place of
squashfs. In which case "installing" to a USB-disk could as simple as
booting the netbook remix image on the USB disk, and using btrfs's
online resize feature to use the full size of the SDD.

Reply via email to