How-to: Как пофиксить баг "Scanning BTRFS filesystem"

Производил чистую установку Kubuntu 16.04 и впервые столкнулся с багом, описанным еще для Ubuntu 14.04 - Bug: Scanning BTRFS filesystems on system startup. Учитывая, что файловая система BTRFS у меня не используется, а сканирование отнимает ощутимые +15-30 секунд от общей загрузки, то решение лежит на поверхности.

sudo apt-get purge btrfs-tools

-удаляет оснастку, отвечающую за BTRFS

sudo update-initramfs -ukall

- обновляет индексы временной файловой системы, используемой ядром при загрузке

sudo apt-get -f install && sudo apt-get autoremove && sudo apt-get autoclean

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

sudo update-grub

- обновит ваш загрузчик груб, обязательный шаг, чтобы все работало стабильно это нужно выполнить.

Далее следует перезагрузиться.

В итоге, строка Scanning for BTRFS filesystem исчезает, но
файловая система проверяется те же 15-30 секунд выводится сообщение вида:
/dev/sda2: clean, 291272/4292608 files, 480345/18174432 blocks
Если данная опция реально замедляет загрузку, то убрать проверку при каждой загрузки можно командой:

sudo tune2fs -c 10 /dev/sda2

- проверка дисковой партиции будет производится через каждые 10 монтирований.

sudo tune2fs -c -1 /dev/sda2

- вообще убирает проверку файловой системы.
Конечно, все вышеописанное - очевидный "костыль" и если у кого-то будет более элегантное решение, пишите.

Ваша оценка: Нет Средняя оценка: 5 (3 votes)
pomodor

Прикольный баг. То есть, BTRFS ни на одном диске нет, а сканирование инициируется? :)

Ваша оценка: Нет Средняя оценка: 5 (1 vote)
Platon

Так точно, все партиции в ext4, а при загрузке стартует проверка BTRFS, причем, если диск размечен по умолчанию и под корень / отведена большая часть диска, то проверка может занимать не 10 и не 15 секунд, а гораздо дольше. Я по началу думал, что это связано с настройками UEFI(загрузка останавливалась после проверки), потом нагуглил, что этому багу уже 2 года. Странно, что так долго не пропатчили.

Ваша оценка: Нет Средняя оценка: 5 (1 vote)
Texnoline

Platon - этот баг, встречается при неудачном апгрейде дистрибутива, с младшей версии и при наличии, утилит по работе с btrfs! Сегодня проверил, на реальной машине — поставил 12.04, с btrfs-tool и апргейдил до 14.04/16.04 — проявился баг, только в 50% случаях.

Ваша оценка: Нет Средняя оценка: 5 (2 votes)
Platon

И не только в Ubuntu, поставил Netrunner 1703 (пакетная база Debian Stable) — бага нет, подключил репозитории Debian Testing — после обновления баг появился. Соответственно причина бага где-то в недрах Testing.

Ваша оценка: Нет Средняя оценка: 5 (2 votes)
Texnoline

Все возможно, может и Testing версии! Platon, можно предположить, о баге с модулями в ядре, в области FS. Хотя Вы подтверждаете, что обновляться надо осторожно и даже с Debian! А уж с другими дистрибутивами, тем более...

Ваша оценка: Нет Средняя оценка: 5 (2 votes)
Texnoline

и еще, если кому интересно:):
Проверка файловой системы на ошибки с помощью fsck. Fsck команда взаимодействует с соответствующей файловой системой. Независимо от типа вашей файловой системы, Fsck как правило, имеет три режима работы:
— Проверка на наличие ошибок и подсказывает пользователю интерактивное решение, как решить индивидуальные проблемы;
— Проверка на наличие ошибок и постарается автоматически исправить все ошибки;
— Проверка на наличие ошибок без возможности восстановить их, но тогда выдаст ошибки на стандартный вывод.
Код вывода FSCK — это уникальный номер, представляющего собой сумму следующих значений состояния:
0 — Без ошибок (No errors ).
1 — Исправлены ошибки файловой системы(Filesystem errors corrected).
2 — Система должна быть перезагружена (System should be rebooted).
4 — Ошибки файловой системы оставили без изменений (Filesystem errors left uncorrected).
8 — Эксплуатационная ошибка (Operational error).
16 — Ошибки при использовании или синтаксические ошибки (Usage or syntax error).
32 — Fsck отменен по запросу пользователя (Fsck canceled by user request).
128 — Ошибка общей библиотеки (Shared-library error).
В действительности, Fsck — это фронт-энд для различных проверочных утилит для файловых систем (fsck.fstype), которые доступны на Linux.

Ваша оценка: Нет Средняя оценка: 5 (2 votes)
Отправить комментарий
КАПЧА
Вы человек? Подсказка: зарегистрируйтесь, чтобы этот вопрос больше никогда не возникал. Кстати, анонимные ссылки запрещены.
CAPTCHA на основе изображений
Enter the characters shown in the image.