Developers doc: fix all Sphinx generation warnings

This commit is contained in:
Adrien Destugues 2023-01-13 12:56:53 +01:00
parent 594a6fa9e5
commit d79d9a8524
2 changed files with 45 additions and 44 deletions

View File

@ -93,8 +93,8 @@ Where fs.img is the file system image we created from linux kernel.
Test directly inside Haiku
^^^^^^^^^^^^^^^^^^^^^^^^^^
First build a version of haiku with XFS support, to do this we need to add "xfs" to the image
definition `here <https://git.haiku-os.org/haiku/tree/build/jam/images/definitions/minimum#n239>`__.
First build a version of haiku with XFS support, to do this we need to add "xfs" to the `image
definition <https://git.haiku-os.org/haiku/tree/build/jam/images/definitions/minimum#n239>`__.
Then compile haiku as usual and run the resulting system in a virtual machine or on real hardware.
@ -117,54 +117,53 @@ To be updated
Haiku XFS API
-------------
* | All the necessary hooks for file system like xfs_mount(), open_dir(), read_dir() etc..
are implemented inside **kernel_interface.cpp** file.
| It acts as an interface between Haiku kernel and XFS file system.
| Documentation for all necessary file system hooks can be found
`here <https://www.haiku-os.org/docs/api/fs_modules.html>`_
|
All the necessary hooks for file system like xfs_mount(), open_dir(), read_dir() etc.. are
implemented in the **kernel_interface.cpp** file. It acts as an interface between the Haiku kernel
and the XFS file system. Documentation for all necessary file system hooks can be found
`in the API reference <https://www.haiku-os.org/docs/api/fs_modules.html>`_
* | Whenever we run a file system under fs_shell we can't use system headers,
fs_shell compatible headers are there which needs to be used whenever we try
to mount XFS file system using xfs_shell.
| To resolve this problem we use **system_dependencies.h** header file which takes
care to use correct headers whenever we mount XFS file system either using xfs_shell
or directly inside Haiku.
Whenever we run a file system under fs_shell we can't use system headers, fs_shell compatible
headers are there which needs to be used whenever we try to mount XFS file system using xfs_shell.
To resolve this problem we use **system_dependencies.h** header file which takes care to use
correct headers whenever we mount XFS file system either using xfs_shell or directly inside Haiku.
* XFS stores data on disk in Big Endian byte order, to convert data into host order
all classes and data headers has **SwapEndian()** function, Its better to have all data
conversions at one place to avoid future problems related to data byte order.
XFS stores data on disk in Big Endian byte order, to convert data into host order
all classes and data headers has **SwapEndian()** function, Its better to have all data
conversions at one place to avoid future problems related to data byte order.
* XFS SuperBlock starts at ondisk offset 0, the definition of SuperBlock is in **xfs.h** file.
XFS SuperBlock starts at ondisk offset 0, the definition of SuperBlock is in **xfs.h** file.
* | A Volume is an instance of file system and defined in **Volume.h** file.
XFS Volume contains SuperBlock, file system device and essential functions
like Identify(), mount() etc...
| *Identify()* function reads SuperBlock from disk and verifies it.
| *Mount()* function mounts file system device and publishes root inode of file system
(Typically root inode number for XFS is 128).
|
A Volume is an instance of file system and defined in **Volume.h** file.
XFS Volume contains SuperBlock, file system device and essential functions
like Identify(), mount() etc...
* | XFS uses TRACE Macro to debug file system, definitions for TRACE, ERROR and ASSERT
are defined at **Debug.h** in the form of Macro.
| To enable TRACE calls just add ``#define TRACE_XFS`` in Debug.h file and
vice versa to disable it.
|
* *Identify()* function reads SuperBlock from disk and verifies it.
* *Mount()* function mounts file system device and publishes root inode of file system
(Typically root inode number for XFS is 128).
* | XFS V5 introduced metadata checksums to ensure the integrity of metadata in file system,
It uses CRC32C checksum algorithm. For XFS all checksums related functions are defined in
**Checksum.h** header file.
| It contains following functions :
* *xfs_verify_cksum()* to verify checksum for buffer.
* *xfs_update_cksum()* to update checksum for buffer.
| **XFS stores checksum in little endian byte order unlike other ondisk data which is stored
in big endian byte order**
XFS uses TRACE Macro to debug file system, definitions for TRACE, ERROR and ASSERT
are defined at **Debug.h** in the form of Macro.
* XFS V5 introduced many other fields for metadata verification like *BlockNo* *UUID* *Owner*
etc.. All this fields are common in every data header and so are their checks. So to not
repeat same checks again and again for all headers we created a *VerifyHeader* template
function which is defined in **VerifyHeader.h** file. This function is commonly used in
all forms of headers for verification purposes.
To enable TRACE calls just add ``#define TRACE_XFS`` in Debug.h file and
vice versa to disable it.
XFS V5 introduced metadata checksums to ensure the integrity of metadata in file system,
It uses CRC32C checksum algorithm. For XFS all checksums related functions are defined in
**Checksum.h** header file.
It contains following functions :
* *xfs_verify_cksum()* to verify checksum for buffer.
* *xfs_update_cksum()* to update checksum for buffer.
**XFS stores checksum in little endian byte order unlike other ondisk data which is stored
in big endian byte order**
XFS V5 introduced many other fields for metadata verification like *BlockNo* *UUID* *Owner*
etc.. All this fields are common in every data header and so are their checks. So to not
repeat same checks again and again for all headers we created a *VerifyHeader* template
function which is defined in **VerifyHeader.h** file. This function is commonly used in
all forms of headers for verification purposes.
Inodes
^^^^^^

View File

@ -121,7 +121,8 @@ the target build profile used by the bootstrap process. This defaults to
will include source packages for all packages needed by release image).
Format of hpkg Source Repository
========================
================================
For Haikuporter to use source or "rigged" packages instead of requesting
packages from a remote url (essential during bootstrap when patch, git,
curl, etc are unavailable), haikuporter works on an empty haikuports repository
@ -143,6 +144,7 @@ on your target platform.
Haiku Architecture Ports
========================
When preparing a new Haiku architecture port for the bootstrap build the
following things need to be considered: