mirror of
https://review.haiku-os.org/haiku
synced 2024-11-23 07:18:40 +01:00
Developers doc: fix all Sphinx generation warnings
This commit is contained in:
parent
594a6fa9e5
commit
d79d9a8524
@ -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
|
||||
^^^^^^
|
||||
|
@ -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:
|
||||
|
||||
|
Loading…
Reference in New Issue
Block a user