LINUX.ORG.RU

btrfs, после сбоя по питанию


0

1

Недавно собрал роутер/NAS, корень и файлопомойку поставил на btrfs, которая в свою очередь стоит в lvm с остальными разделами(ext2\ext4). Вчера вырубили свет, ИБП нет, после чего дебиан6 (39 ядро из сида) отказался монтировать корневую ФС.

Вот что говорит sysresccd:

root@sysresccd /root % mount -t btrfs -o compress=lzo /dev/mapper/nas-root /re 
mount: wrong fs type, bad option, bad superblock on /dev/mapper/nas-root,
       missing codepage or helper program, or other error
       In some cases useful info is found in syslog - try
       dmesg | tail  or so

root@sysresccd /root % dmesg | tail
[ 3821.972350] parent transid verify failed on 3807195136 wanted 5412 found 5414
[ 3821.972364] parent transid verify failed on 3807195136 wanted 5412 found 5414
[ 3821.979182] btrfs: open_ctree failed
[ 6298.660270] device label root devid 1 transid 12174 /dev/mapper/nas-root
[ 6298.660657] btrfs: use lzo compression
[ 6298.662878] parent transid verify failed on 3807195136 wanted 5412 found 5414
[ 6298.663321] parent transid verify failed on 3807195136 wanted 5412 found 5414
[ 6298.663584] parent transid verify failed on 3807195136 wanted 5412 found 5414
[ 6298.663595] parent transid verify failed on 3807195136 wanted 5412 found 5414
[ 6298.669180] btrfs: open_ctree failed

root@sysresccd /root % btrfsck /dev/nas/root 
parent transid verify failed on 3807195136 wanted 5412 found 5414
parent transid verify failed on 3807195136 wanted 5412 found 5414
parent transid verify failed on 3807195136 wanted 5412 found 5414
btrfsck: disk-io.c:416: find_and_setup_root: Assertion `!(!root->node)' failed.
zsh: abort      btrfsck /dev/nas/root

root@sysresccd /root % btrfsck /dev/nas/media 
couldn't open because of unsupported option features (8).
btrfsck: disk-io.c:682: open_ctree_fd: Assertion `!(1)' failed.
zsh: abort      btrfsck /dev/nas/media

/dev/mapper/nas-media - монтируется
[ 7006.674870] device label nas-misc devid 1 transid 16104 /dev/mapper/nas-media
[ 7006.675381] btrfs: use lzo compression

ФС монтировались с опцией -o compress=lzo.

Как с наименьшем вредом можно восстановить фс?


Ответ на: комментарий от namezys

> есть блок уровня А. Ты его записал. Далее надо внести изменения в уровнь Б. Ты внес. Далее надо вносить изменение в уровень В. И так далее. А уровни эти когда нибудь кончатся

Спасибо, кэп! Действительно кончатся, и чего?

anonymous
()
Ответ на: комментарий от post-factum

Система сегодня рабочая уже нужна, будет ли смысл им писать «у меня такая трабла была '..' »? Хотя конечно можно снять образ..

Из гита кстати у них сразу не компилилось, много ругательств на неюзанные переменные (которым в многих местах присваиваются значения, но не более), -Werrors убрал, только тогда скомпилило, разбирать код времени небыло..

De1in
() автор топика
Ответ на: комментарий от De1in

много ругательств на неюзанные переменные

Это может быть не их промах, а выпендрёж новой версии gcc. Оно и при компиляции ядра матерится по самое не балуйся.

post-factum ★★★★★
()
Ответ на: комментарий от post-factum

Подозреваю что -Werrors они не зря в анстейбл поставили, ругательства то они нужные, но вполне себе и критичными могут быть некоторые.

Образ диска слил на всякий, отстрочу им пожалуй.. но желание ставить снова на эту фс как то отбилось напрочь)

De1in
() автор топика
Ответ на: комментарий от anonymous

Да похоже на мой случай, если я правильно понял - они в мейн-гит это уже залили? Если да, то всё печально..

De1in
() автор топика
Ответ на: комментарий от namezys

> есть блок уровня А. Ты его записал. Далее надо внести изменения в уровнь Б. Ты внес. Далее надо вносить изменение в уровень В. И так далее. А уровни эти когда нибудь кончатся

Кончатся. И будет uberblock, на который никто не указывает. Но он, к счастью, самопроверяющийся - на диске занимает 1К, то есть два сектора по 512 байт, и на сегодня вся информация лежит в первом секторе, а контрольная сумма во втором. Контрольная сумма зависит не только от данных, но и от его положения на диске. Так что не волнуйся, все будет хорошо :)

anonymous
()
Вы не можете добавлять комментарии в эту тему. Тема перемещена в архив.