Как просмотреть контрольную сумму btrfs файла?

12

Btrfs вычисляет контрольную сумму crc32c для каждого файла. Есть ли способ узнать, какая контрольная сумма хранится (в отличие от простого чтения файла и его пересчета)?

jl6
источник
Опубликовал ответ на аналогичный вопрос: superuser.com/a/1030443/44360
webminal.org
1
Это связанная тема: stackoverflow.com/questions/32761299/…
Александр Позднеев

Ответы:

3

Btrfs вычисляет контрольную сумму crc32c для каждого файла.

Это не правильно. Обе файловые системы с контрольной суммой с открытым исходным кодом (ZFS и BTRFS) вычисляют контрольную сумму для каждого логического блока (безымянный источник, используемый Awe, является правильным). Это контрольная сумма данных на диске.

Если в файловой системе включено сжатие (все более распространенный параметр), эта контрольная сумма данных после сжатия. Это означает, что даже если файл помещается в один логический блок, вполне возможно (и все более вероятно), что данные контрольной суммы файловой системы будут для вас бесполезны.

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

Питер
источник
1

Из аналогичного ответа у суперпользователя:

Я не верю, что можно извлечь контрольные суммы на уровне блоков из файловой системы ZFS, но поскольку контрольные суммы находятся на уровне блоков, а не на уровне файлов, это, вероятно, в любом случае вам не поможет.

Смысл. Контрольные суммы не создаются для каждого файла btrfs. Упоминается, что @superuser есть патч для добавления функциональности в подкоманду inspect-internal: btrfs inspect-internal dump-csums Этот дамп - для всех блоков, занятых данным файлом - контрольных сумм блоков. Множественное, если файл не помещается в один блок.

Трепет
источник
1
Пожалуйста, дайте ссылку на ответ, из которого вы цитируете, и назовите его автора.
Скотт
зачем? Это НЕ ответ на актуальный вопрос. Цитата скорее объясняет, почему это технически невозможно из-за неправильных предположений при постановке вопроса. Это не повторение ответа.
благоговение
1
Поскольку (1)  цитирование чужих слов без идентификации автора является плагиатом , и (2) если вы цитируете чужие слова без указания автора, вы не предоставляете читателю никакой возможности оценить достоверность утверждения.
Скотт
0

Я думаю, что это невозможно через CLI btrfs, но здесь есть исходный код, который, я надеюсь, может помочь вам прочитать chechsum для одного блока в файловой системе btrfs. Нужен корень.

Эдуардо Клаудио
источник