erofs: fix broken illustration in documentation
Illustration was broken after ReST conversion by accident. (checked by 'make SPHINXDIRS="filesystems" htmldocs') Link: https://lore.kernel.org/r/20210510162506.28637-1-xiang@kernel.org Fixes: e66d8631ddb3 ("docs: filesystems: convert erofs.txt to ReST") Reviewed-by: Chao Yu <yuchao0@huawei.com> Cc: Mauro Carvalho Chehab <mchehab+huawei@kernel.org> Signed-off-by: Gao Xiang <xiang@kernel.org>
This commit is contained in:
parent
6efb943b86
commit
1b55767dfd
@ -113,31 +113,31 @@ may not. All metadatas can be now observed in two different spaces (views):
|
|||||||
|
|
||||||
::
|
::
|
||||||
|
|
||||||
|-> aligned with 8B
|
|-> aligned with 8B
|
||||||
|-> followed closely
|
|-> followed closely
|
||||||
+ meta_blkaddr blocks |-> another slot
|
+ meta_blkaddr blocks |-> another slot
|
||||||
_____________________________________________________________________
|
_____________________________________________________________________
|
||||||
| ... | inode | xattrs | extents | data inline | ... | inode ...
|
| ... | inode | xattrs | extents | data inline | ... | inode ...
|
||||||
|________|_______|(optional)|(optional)|__(optional)_|_____|__________
|
|________|_______|(optional)|(optional)|__(optional)_|_____|__________
|
||||||
|-> aligned with the inode slot size
|
|-> aligned with the inode slot size
|
||||||
. .
|
. .
|
||||||
. .
|
. .
|
||||||
. .
|
. .
|
||||||
. .
|
. .
|
||||||
. .
|
. .
|
||||||
. .
|
. .
|
||||||
.____________________________________________________|-> aligned with 4B
|
.____________________________________________________|-> aligned with 4B
|
||||||
| xattr_ibody_header | shared xattrs | inline xattrs |
|
| xattr_ibody_header | shared xattrs | inline xattrs |
|
||||||
|____________________|_______________|_______________|
|
|____________________|_______________|_______________|
|
||||||
|-> 12 bytes <-|->x * 4 bytes<-| .
|
|-> 12 bytes <-|->x * 4 bytes<-| .
|
||||||
. . .
|
. . .
|
||||||
. . .
|
. . .
|
||||||
. . .
|
. . .
|
||||||
._______________________________.______________________.
|
._______________________________.______________________.
|
||||||
| id | id | id | id | ... | id | ent | ... | ent| ... |
|
| id | id | id | id | ... | id | ent | ... | ent| ... |
|
||||||
|____|____|____|____|______|____|_____|_____|____|_____|
|
|____|____|____|____|______|____|_____|_____|____|_____|
|
||||||
|-> aligned with 4B
|
|-> aligned with 4B
|
||||||
|-> aligned with 4B
|
|-> aligned with 4B
|
||||||
|
|
||||||
Inode could be 32 or 64 bytes, which can be distinguished from a common
|
Inode could be 32 or 64 bytes, which can be distinguished from a common
|
||||||
field which all inode versions have -- i_format::
|
field which all inode versions have -- i_format::
|
||||||
@ -175,13 +175,13 @@ may not. All metadatas can be now observed in two different spaces (views):
|
|||||||
Each share xattr can also be directly found by the following formula:
|
Each share xattr can also be directly found by the following formula:
|
||||||
xattr offset = xattr_blkaddr * block_size + 4 * xattr_id
|
xattr offset = xattr_blkaddr * block_size + 4 * xattr_id
|
||||||
|
|
||||||
::
|
::
|
||||||
|
|
||||||
|-> aligned by 4 bytes
|
|-> aligned by 4 bytes
|
||||||
+ xattr_blkaddr blocks |-> aligned with 4 bytes
|
+ xattr_blkaddr blocks |-> aligned with 4 bytes
|
||||||
_________________________________________________________________________
|
_________________________________________________________________________
|
||||||
| ... | xattr_entry | xattr data | ... | xattr_entry | xattr data ...
|
| ... | xattr_entry | xattr data | ... | xattr_entry | xattr data ...
|
||||||
|________|_____________|_____________|_____|______________|_______________
|
|________|_____________|_____________|_____|______________|_______________
|
||||||
|
|
||||||
Directories
|
Directories
|
||||||
-----------
|
-----------
|
||||||
@ -193,19 +193,18 @@ algorithm (could refer to the related source code).
|
|||||||
|
|
||||||
::
|
::
|
||||||
|
|
||||||
___________________________
|
___________________________
|
||||||
/ |
|
/ |
|
||||||
/ ______________|________________
|
/ ______________|________________
|
||||||
/ / | nameoff1 | nameoffN-1
|
/ / | nameoff1 | nameoffN-1
|
||||||
____________.______________._______________v________________v__________
|
____________.______________._______________v________________v__________
|
||||||
| dirent | dirent | ... | dirent | filename | filename | ... | filename |
|
| dirent | dirent | ... | dirent | filename | filename | ... | filename |
|
||||||
|___.0___|____1___|_____|___N-1__|____0_____|____1_____|_____|___N-1____|
|
|___.0___|____1___|_____|___N-1__|____0_____|____1_____|_____|___N-1____|
|
||||||
\ ^
|
\ ^
|
||||||
\ | * could have
|
\ | * could have
|
||||||
\ | trailing '\0'
|
\ | trailing '\0'
|
||||||
\________________________| nameoff0
|
\________________________| nameoff0
|
||||||
|
Directory block
|
||||||
Directory block
|
|
||||||
|
|
||||||
Note that apart from the offset of the first filename, nameoff0 also indicates
|
Note that apart from the offset of the first filename, nameoff0 also indicates
|
||||||
the total number of directory entries in this block since it is no need to
|
the total number of directory entries in this block since it is no need to
|
||||||
@ -216,22 +215,22 @@ Compression
|
|||||||
Currently, EROFS supports 4KB fixed-sized output transparent file compression,
|
Currently, EROFS supports 4KB fixed-sized output transparent file compression,
|
||||||
as illustrated below::
|
as illustrated below::
|
||||||
|
|
||||||
|---- Variant-Length Extent ----|-------- VLE --------|----- VLE -----
|
|<- variable-sized extent ->|<- VLE ->|
|
||||||
clusterofs clusterofs clusterofs
|
clusterofs clusterofs clusterofs
|
||||||
| | | logical data
|
| | |
|
||||||
_________v_______________________________v_____________________v_______________
|
_________v_________________________________v_______________________v________
|
||||||
... | . | | . | | . | ...
|
... | . | | . | | . ...
|
||||||
____|____.________|_____________|________.____|_____________|__.__________|____
|
____|____._________|______________|________.___ _|______________|__.________
|
||||||
|-> cluster <-|-> cluster <-|-> cluster <-|-> cluster <-|-> cluster <-|
|
|-> lcluster <-|-> lcluster <-|-> lcluster <-|-> lcluster <-|
|
||||||
size size size size size
|
size size size size . .
|
||||||
. . . .
|
. . . .
|
||||||
. . . .
|
. . . .
|
||||||
. . . .
|
. . . .
|
||||||
_______._____________._____________._____________._____________________
|
_______.______________.______________.______________._________________
|
||||||
... | | | | ... physical data
|
... | | | | ...
|
||||||
_______|_____________|_____________|_____________|_____________________
|
_______|______________|______________|______________|_________________
|
||||||
|-> cluster <-|-> cluster <-|-> cluster <-|
|
|-> pcluster <-|-> pcluster <-|-> pcluster <-|
|
||||||
size size size
|
size size size
|
||||||
|
|
||||||
Currently each on-disk physical cluster can contain 4KB (un)compressed data
|
Currently each on-disk physical cluster can contain 4KB (un)compressed data
|
||||||
at most. For each logical cluster, there is a corresponding on-disk index to
|
at most. For each logical cluster, there is a corresponding on-disk index to
|
||||||
|
Loading…
x
Reference in New Issue
Block a user