31

На нетбуке давно собираюсь btrfs попробовать... обещают много всяких вкусностей, особенно вкусно в моём случае оптимизация под ssd и прозрачное сжатие... но её разработка застыла полтора года назад... боюсь так и останется проект недоделанным=(
Ещё конечно zfs модульный можно упомянуть, но это уж совсем суровой решение=))

ormorph пишет:

симлинки не создает

а если попробовать архив с симлинками и прочими юникс-извращенными-файлами(aka девайсы, пайпы и соккеты) смонтировать? например stage3? хотя вряд ли смонтируется...

95% процентов проблем находятся между клавиатурой и стулом.

32

Fat-Zer пишет:

а если попробовать архив с симлинками и прочими юникс-извращенными-файлами(aka девайсы, пайпы и соккеты) смонтировать? например stage3? хотя вряд ли смонтируется...

Не архив с симлинками монтируется норм, но судя по времени и загрузке процессора, то похоже что просто кешируется куда-то во время монтирования, то-есть похоже на работу обычного архиватора.

У fuse-zip такого не наблюдал.

33 (10.01.2011 15:19:20 отредактировано Fat-Zer)

поэксперементировал c btrfs... странно она себя ведёт как-то...

+ открыть спойлер

alexander@goblin /tmp $ dd if=/dev/zero of=/tmp/img.btrfs bs=1M count=400
400+0 записей считано
400+0 записей написано
скопировано 419430400 байт (419 MB), 8,23332 c, 50,9 MB/c
alexander@goblin /tmp $ sudo mkfs.btrfs /tmp/img.btrfs
Пароль:

WARNING! - Btrfs Btrfs v0.19 IS EXPERIMENTAL
WARNING! - see http://btrfs.wiki.kernel.org before using

fs created label (null) on /tmp/img.btrfs
        nodesize 4096 leafsize 4096 sectorsize 4096 size 400.00MB
Btrfs Btrfs v0.19
alexander@goblin /tmp $ mkdir /tmp/mount.btrfs
alexander@goblin /tmp $ sudo mount -o loop -t btrfs -o compress /tmp/img.btrfs /tmp/mount.btrfs/
alexander@goblin /tmp $ ls -l /tmp/mount.btrfs/
итого 0
alexander@goblin /tmp $ df -h /tmp/mount.btrfs/
Файловая система      Разм  Исп  Дост  Исп% смонтирована на
/dev/loop0            400M   56K  400M   1% /tmp/mount.btrfs
alexander@goblin /tmp $ du -sh /tmp/tree/
479M    /tmp/tree/
alexander@goblin /tmp $ du -sh --apparent-size /tmp/tree/
236M    /tmp/tree/
alexander@goblin /tmp $ sudo cp -r /tmp/tree/* /tmp/mount.btrfs/
alexander@goblin /tmp $ du -sh /tmp/mount.btrfs/
154M    /tmp/mount.btrfs/
alexander@goblin /tmp $ du -sh --apparent-size /tmp/mount.btrfs/
159M    /tmp/mount.btrfs/
alexander@goblin /tmp $ df -h /tmp/mount.btrfs/
Файловая система      Разм  Исп  Дост  Исп% смонтирована на
/dev/loop0            400M  269M  132M  68% /tmp/mount.btrfs
alexander@goblin /tmp $ sudo dd if=/dev/zero of=/tmp/mount.btrfs/zerofile bs=64b
dd: запись «/tmp/mount.btrfs/zerofile»: На устройстве кончилось место
1219+0 записей считано
1218+0 записей написано
скопировано 39911424 байта (40 MB), 0,0536508 c, 744 MB/c
alexander@goblin /tmp $ du -sh /tmp/mount.btrfs/zerofile
39M     /tmp/mount.btrfs/zerofile
alexander@goblin /tmp $ du -sh --apparent-size /tmp/mount.btrfs/zerofile
39M     /tmp/mount.btrfs/zerofile
alexander@goblin /tmp $ df -h /tmp/mount.btrfs/
Файловая система      Разм  Исп  Дост  Исп% смонтирована на
/dev/loop0            400M  269M  132M  68% /tmp/mount.btrfs
alexander@goblin /tmp $ sudo rm /tmp/mount.btrfs/zerofile
alexander@goblin /tmp $ sudo dd if=/dev/urandom of=/tmp/mount.btrfs/randomfile bs=64b
dd: запись «/tmp/mount.btrfs/randomfile»: На устройстве кончилось место
1219+0 записей считано
1218+0 записей написано
скопировано 39911424 байта (40 MB), 5,69202 c, 7,0 MB/c
alexander@goblin /tmp $ du -sh /tmp/mount.btrfs/randomfile
39M     /tmp/mount.btrfs/randomfile
alexander@goblin /tmp $ df -h /tmp/mount.btrfs/
Файловая система      Разм  Исп  Дост  Исп% смонтирована на
/dev/loop0            400M  306M   95M  77% /tmp/mount.btrfs

кароче чего-то определение размера барахлит... наверное сказывается девелоперская версия...
да и файл из нулей не сжался совсем по du, но вывод ва не изменился... сравните со случайным файлом... итого упаковка файлов вроде работает, а сжатие и дыры недопилены...
Часть два(без -o compress):

+ открыть спойлер

alexander@goblin /tmp $ dd if=/dev/zero of=/tmp/img2.btrfs bs=1M count=400
400+0 записей считано
400+0 записей написано
скопировано 419430400 байт (419 MB), 9,01617 c, 46,5 MB/c
alexander@goblin /tmp $ sudo mkfs.btrfs /tmp/img2.btrfs

WARNING! - Btrfs Btrfs v0.19 IS EXPERIMENTAL
WARNING! - see http://btrfs.wiki.kernel.org before using

fs created label (null) on /tmp/img2.btrfs
        nodesize 4096 leafsize 4096 sectorsize 4096 size 400.00MB
Btrfs Btrfs v0.19
alexander@goblin /tmp $ sudo mount -o loop -t btrfs /tmp/img2.btrfs /tmp/mount.btrfs/
alexander@goblin /tmp $ sudo cp -R /tmp/tree/* /tmp/mount.btrfs/
cp: запись «/tmp/mount.btrfs/app-dicts/prime-dict/ChangeLog»: На устройстве кончилось место
cp: запись «/tmp/mount.btrfs/net-wireless/linux-wlan-ng/ChangeLog»: На устройстве кончилось место
# итд всякая ругань на отсутствие места....

alexander@goblin /tmp $ du -sh /tmp/mount.btrfs/
118M    /tmp/mount.btrfs/
alexander@goblin /tmp $ du -sh --apparent-size /tmp/mount.btrfs/
123M    /tmp/mount.btrfs/
alexander@goblin /tmp $ df -h /tmp/mount.btrfs/
Файловая система      Разм  Исп  Дост  Исп% смонтирована на
/dev/loop0            400M  355M   46M  89% /tmp/mount.btrfs

кароче система сырая и недопиленная....

+ открыть спойлер

sudo rm -r /usr/portage/distfiles
Х_Х доэксперементировался! хотя бывало и хуже... один раз ввёл "rm -rf  /var/tmp/portage /*" от рута

95% процентов проблем находятся между клавиатурой и стулом.

34 (10.01.2011 16:07:16 отредактировано ormorph)

Незнаю на сколько допилена btrfs, но похоже в качестве образа лучше не использовать(в виде файла)

Использовал версию что в ядре, правда ядро не очень то и новое.
собрал просто модуль:

cd /usr/src/linux
make CONFIG_BTRFS_FS=m M=fs/btrfs/
mkdir /lib/modules/2.6.xx-gentoo/kernel/fs/btrfs
cp fs/btrfs/btrfs.ko /lib/modules/2.6.xx-gentoo/kernel/fs/btrfs
depmod -a

Что размер обманывает, я сразу заметил, хотя не пользовал в качестве раздела, может что изменится. Правда сейчас не очень то хочется этим заниматься smile