forked from Minki/linux
Squashfs: Update documentation to include compression options
Signed-off-by: Phillip Lougher <phillip@lougher.demon.co.uk>
This commit is contained in:
parent
681ffe2e43
commit
4c1d204cde
@ -59,12 +59,15 @@ obtained from this site also.
|
|||||||
3. SQUASHFS FILESYSTEM DESIGN
|
3. SQUASHFS FILESYSTEM DESIGN
|
||||||
-----------------------------
|
-----------------------------
|
||||||
|
|
||||||
A squashfs filesystem consists of a maximum of eight parts, packed together on a byte
|
A squashfs filesystem consists of a maximum of nine parts, packed together on a
|
||||||
alignment:
|
byte alignment:
|
||||||
|
|
||||||
---------------
|
---------------
|
||||||
| superblock |
|
| superblock |
|
||||||
|---------------|
|
|---------------|
|
||||||
|
| compression |
|
||||||
|
| options |
|
||||||
|
|---------------|
|
||||||
| datablocks |
|
| datablocks |
|
||||||
| & fragments |
|
| & fragments |
|
||||||
|---------------|
|
|---------------|
|
||||||
@ -91,7 +94,14 @@ the source directory, and checked for duplicates. Once all file data has been
|
|||||||
written the completed inode, directory, fragment, export and uid/gid lookup
|
written the completed inode, directory, fragment, export and uid/gid lookup
|
||||||
tables are written.
|
tables are written.
|
||||||
|
|
||||||
3.1 Inodes
|
3.1 Compression options
|
||||||
|
-----------------------
|
||||||
|
|
||||||
|
Compressors can optionally support compression specific options (e.g.
|
||||||
|
dictionary size). If non-default compression options have been used, then
|
||||||
|
these are stored here.
|
||||||
|
|
||||||
|
3.2 Inodes
|
||||||
----------
|
----------
|
||||||
|
|
||||||
Metadata (inodes and directories) are compressed in 8Kbyte blocks. Each
|
Metadata (inodes and directories) are compressed in 8Kbyte blocks. Each
|
||||||
@ -114,7 +124,7 @@ directory inode are defined: inodes optimised for frequently occurring
|
|||||||
regular files and directories, and extended types where extra
|
regular files and directories, and extended types where extra
|
||||||
information has to be stored.
|
information has to be stored.
|
||||||
|
|
||||||
3.2 Directories
|
3.3 Directories
|
||||||
---------------
|
---------------
|
||||||
|
|
||||||
Like inodes, directories are packed into compressed metadata blocks, stored
|
Like inodes, directories are packed into compressed metadata blocks, stored
|
||||||
@ -144,7 +154,7 @@ decompressed to do a lookup irrespective of the length of the directory.
|
|||||||
This scheme has the advantage that it doesn't require extra memory overhead
|
This scheme has the advantage that it doesn't require extra memory overhead
|
||||||
and doesn't require much extra storage on disk.
|
and doesn't require much extra storage on disk.
|
||||||
|
|
||||||
3.3 File data
|
3.4 File data
|
||||||
-------------
|
-------------
|
||||||
|
|
||||||
Regular files consist of a sequence of contiguous compressed blocks, and/or a
|
Regular files consist of a sequence of contiguous compressed blocks, and/or a
|
||||||
@ -163,7 +173,7 @@ Larger files use multiple slots, with 1.75 TiB files using all 8 slots.
|
|||||||
The index cache is designed to be memory efficient, and by default uses
|
The index cache is designed to be memory efficient, and by default uses
|
||||||
16 KiB.
|
16 KiB.
|
||||||
|
|
||||||
3.4 Fragment lookup table
|
3.5 Fragment lookup table
|
||||||
-------------------------
|
-------------------------
|
||||||
|
|
||||||
Regular files can contain a fragment index which is mapped to a fragment
|
Regular files can contain a fragment index which is mapped to a fragment
|
||||||
@ -173,7 +183,7 @@ A second index table is used to locate these. This second index table for
|
|||||||
speed of access (and because it is small) is read at mount time and cached
|
speed of access (and because it is small) is read at mount time and cached
|
||||||
in memory.
|
in memory.
|
||||||
|
|
||||||
3.5 Uid/gid lookup table
|
3.6 Uid/gid lookup table
|
||||||
------------------------
|
------------------------
|
||||||
|
|
||||||
For space efficiency regular files store uid and gid indexes, which are
|
For space efficiency regular files store uid and gid indexes, which are
|
||||||
@ -182,7 +192,7 @@ stored compressed into metadata blocks. A second index table is used to
|
|||||||
locate these. This second index table for speed of access (and because it
|
locate these. This second index table for speed of access (and because it
|
||||||
is small) is read at mount time and cached in memory.
|
is small) is read at mount time and cached in memory.
|
||||||
|
|
||||||
3.6 Export table
|
3.7 Export table
|
||||||
----------------
|
----------------
|
||||||
|
|
||||||
To enable Squashfs filesystems to be exportable (via NFS etc.) filesystems
|
To enable Squashfs filesystems to be exportable (via NFS etc.) filesystems
|
||||||
@ -196,7 +206,7 @@ This table is stored compressed into metadata blocks. A second index table is
|
|||||||
used to locate these. This second index table for speed of access (and because
|
used to locate these. This second index table for speed of access (and because
|
||||||
it is small) is read at mount time and cached in memory.
|
it is small) is read at mount time and cached in memory.
|
||||||
|
|
||||||
3.7 Xattr table
|
3.8 Xattr table
|
||||||
---------------
|
---------------
|
||||||
|
|
||||||
The xattr table contains extended attributes for each inode. The xattrs
|
The xattr table contains extended attributes for each inode. The xattrs
|
||||||
|
Loading…
Reference in New Issue
Block a user