Вопрос

can anybody please tell how the squashfs maps the disk block numbers to file system blocks. Basically i am saying about read_blocklist() in squashfs.

Thanks, Kapil

Это было полезно?

Решение

The squashfs metadata for a regular file looks roughly like this:

===== Header
start_block: Position of the first block in the file
file_size: Size of the file in bytes
...
===== Block list
size0: 32-bit header for the first block
size1
size2
...
=====

The block header contains the compressed size of the block. So we can calculate the position of any given block by adding up start_block and the sizes of all preceding blocks.

Playing around with my pure-ruby squashfs parser might help: https://github.com/vasi/squash.rb

Лицензировано под: CC-BY-SA с атрибуция
Не связан с StackOverflow
scroll top