В общем, мужики, говно и параша этот ваш btrfs. Эрзику и прочим попугаям-популяризаторам привет и "патч Бармина" вам на воротник. Название темы навеяно эпичным топиком имени сеньора mv.
Было дело как, 2 года сидел на кубунте и вчера при попытке sudo apt-get upgrade система выдала, что де «места нет», хотя на ссд было ещё минимум 80гб. ФС по совершенно неведомым причинам улетела в readonly. Когда накатывал, купился на рекламу, дескать, btrfs ну дюже адаптируют и так подгоняют под ssd, что выбор фс должен быть очевиден. Ну и лох. Падений было вагон с тележкой. Каждый раз спасала флешка с Кноппиксом, средствами которого делал btrfsck, в тяжёлых случаях из под чрута перезапиливал grub с ведром, и тому подобные колдунства. А в этот раз не помогло. Из ro вывел, но ненадолго. Хоть хомяк додумался забэкапить.
На восстановление фс уже забил, итак бездарно убил вечер на реанимацию «поциента». Теперь думаю, то ли обратно на Debian и рукопожатную ext4, то ли мигрировать на какую-нибудь ересь типа «Федоры-убийцы» (с). Не, я понимаю, если бы питание было говном, нежданчики с отключением света, и т.п., но падала эта сволочь каждый раз на ровном месте.
Не ведитесь на рекламу, а также слушайте и берегите ребе Bioreactor`а, да избегайте «кульхацкерских поделок для админов локалхостов» (с).
update:
knoppix@Microknoppix:~$ dmesg | grep sda1
[ 3.640572] BTRFS error (device sda1): unable to find ref byte nr 738426880 parent 0 root 4 owner 1 offset 0
[ 3.640618] BTRFS: error (device sda1) in __btrfs_free_extent:6261: errno=-2 No such entry
[ 3.640618] BTRFS info (device sda1): forced readonly
[ 3.640620] BTRFS: error (device sda1) in btrfs_run_delayed_refs:2781: errno=-2 No such entry
[ 3.640621] BTRFS warning (device sda1): Skipping commit of aborted transaction.
[ 3.640622] BTRFS: error (device sda1) in cleanup_transaction:1710: errno=-2 No such entry
[ 3.640681] BTRFS error (device sda1): cleaner transaction attach returned -30
update 2:
# smartctl -a /dev/sda1 | grep "202\|173"
173 Wear_Leveling_Count 0x0032 085 085 000 Old_age Always - 463
202 Percent_Lifetime_Used 0x0031 085 085 000 Pre-fail Offline - 15
update 3:
# btrfs check --repair /dev/sda1
enabling repair mode
Error: could not find extent items for root 257
update 4: btrfs-убийца (комментарий)
Для труЪ: забил, переразметил ссд (которому, как оказалось, ещё жить и жить) и накатил 23-ю Федору. Интересно же. От deb-based уже как-то устал.