Age | Commit message (Collapse) | Author |
|
Instead of allocating inode numbers as we go, generate and populat an
inode table from the fstree ahead of time. This makes processing nodes
a little bit simpler and we will need that table anyway for NFS export
support later on.
Signed-off-by: David Oberhollenzer <david.oberhollenzer@sigma-star.at>
|
|
Signed-off-by: David Oberhollenzer <david.oberhollenzer@sigma-star.at>
|
|
The problem: SquashFS uses extended inode types for inodes with xattrs,
so for directories we need to generate an ldir inode. The ldir inode
type includes a directory index which cannot be empty (the counter is
off by 1, so 0 means 1 entry) and the entry is expected to contain a
file name with the same issue (must be at least 1 byte).
This has probably not really been thought through. What the mksquashfs
actually does is generating an ldir inode without an index. The kernel
does not bother to read the index, since the size of the directory is 0.
Its a hack that just so happens to work.
Signed-off-by: David Oberhollenzer <david.oberhollenzer@sigma-star.at>
|
|
For now, it is enough to reduce the comparison value, since the inode
numbers are increasing.
Signed-off-by: David Oberhollenzer <david.oberhollenzer@sigma-star.at>
|
|
Signed-off-by: David Oberhollenzer <david.oberhollenzer@sigma-star.at>
|
|
Signed-off-by: David Oberhollenzer <david.oberhollenzer@sigma-star.at>
|
|
Signed-off-by: David Oberhollenzer <david.oberhollenzer@sigma-star.at>
|
|
Turns out (after countless hours of debugging since the squashfs kernel
code is so convoluted) that the offset is relative to the first directory
header for no apparant reason (the field holding the offset is way larger
than neccessary to store absolute values).
Signed-off-by: David Oberhollenzer <david.oberhollenzer@sigma-star.at>
|
|
Signed-off-by: David Oberhollenzer <david.oberhollenzer@sigma-star.at>
|
|
Signed-off-by: David Oberhollenzer <david.oberhollenzer@sigma-star.at>
|
|
This commit changes the names of the tools to gensquashfs and rdsquashfs
so they don't collide with the names used by the squashfs-tools package
and the two can be installed side by side.
Signed-off-by: David Oberhollenzer <david.oberhollenzer@sigma-star.at>
|
|
Signed-off-by: David Oberhollenzer <david.oberhollenzer@sigma-star.at>
|