Индекс файловой системы squashfs для сопоставления блоков на диске
Кто-нибудь может рассказать, как squashfs отображает номера блоков дисков в блоки файловой системы. В основном я говорю о read_blocklist() в squashfs.
Спасибо капил
1 ответ
Решение
Метаданные squashfs для обычного файла выглядят примерно так:
===== Заголовок start_block: позиция первого блока в файле file_size: размер файла в байтах... ===== Черный список size0: 32-битный заголовок для первого блока size1 size2 ... =====
Заголовок блока содержит сжатый размер блока. Таким образом, мы можем вычислить положение любого данного блока, сложив start_block и размеры всех предыдущих блоков.
Может помочь игра с моим чисто-рубиновым анализатором squashfs: https://github.com/vasi/squash.rb