После btrfs scrub, как вы получаете список затронутых файлов?

1

Я просто пытался использовать btrfs sendдля резервного копирования, но в итоге я получил ошибку ввода- вывода. Я побежал btrfs scrub, который сообщил о 32 неисправимых блоков на SD-карте моего Распи.

Очевидный способ исправить это - получить свежие копии затронутых файлов, но как узнать, какие они файлы?

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

Marnes
источник
Я надеюсь, что вы можете получить эту информацию от Btrfs; но если вы не можете, этот ответ говорит, что вы можете проверить один файл, просто прочитав его. В худшем случае вы читаете все файлы один за другим.
Камиль Мачоровский
Да, это так, но ... как только вы опубликовали это, я действительно нашел ответ.
Марнс

Ответы:

0

Оказывается, dmesgперечислит все ошибки контрольной суммы btrfs с путями к файлам после очистки. Запустите,
dmesg --clear btrfs scrub start -B / dmesg
чтобы получить приблизительный обзор плохих файлов.

Marnes
источник
1
ловушка: записи dmesg выводят список поврежденных файлов по их простому пути. Удаление этих файлов, сопровождаемое скрабами, синхронизацией и fstrims, не удаляло ошибки. Причиной были снимки, по-прежнему ссылающиеся на плохие блоки, что не было очевидно из сообщений. Удаление снимков также окончательно удалило все ошибки.
Марнс