btrfs. Контрольные суммы
Контрольные суммы btrfs.
Содержание
1 Общая информация
- Контрольная сумма вычисляется для данных и метаданных (по умолчанию).
- Контрольная сумма вычисляется перед записью и проверяется после чтения блоков с устройств.
- Контрольная сумма всего блока метаданных хранится в заголовке узла b-дерева.
- У каждого блока данных есть отдельная контрольная сумма, хранящаяся в дереве контрольных сумм.
2 Виды контрольных сумм
CRC32C
- 32-битный дайджест;
- используется по умолчанию;
- лучшая обратная совместимость;
- очень быстро вычисляется;
- современные процессоры имеют поддержку на уровне инструкций;
- не устойчивы к коллизиям;
- достаточно хорошие возможности обнаружения ошибок.
XXHASH
- 64-битный дайджест;
- может использоваться в качестве преемника CRC32C;
- очень быстро вычисляется;
- оптимизирована для современных процессоров, использующих конвейерную обработку инструкций;
- хорошая устойчивость к коллизиям;
- хорошее обнаружение ошибок.
SHA256
- 256-битный дайджест;
- хэш криптографической стойкости;
- относительно медленный, но с возможным ускорением инструкций ЦП или специализированными аппаратными картами;
- сертифицированный FIPS;
- широко используется.
BLAKE2b
- 256-битный дайджест;
- хеш криптографической стойкости;
- быстрее SHA256;
- возможно ускорение с использованием расширений SIMD;
- не стандартизировано;
- широко используется;
- алгоритм BLAKE2b-256 оптимизирован для 64-битных платформ.