aboutsummaryrefslogtreecommitdiff
path: root/docs/kernel/filesystem
diff options
context:
space:
mode:
authorFelix Morgner <felix.morgner@ost.ch>2026-08-19 16:50:12 +0200
committerFelix Morgner <felix.morgner@ost.ch>2026-08-19 16:50:12 +0200
commitb7d4273f655c97974ee853082ac5dc1f69aa6324 (patch)
tree2c585f2f106919d8deb7362c42235447a7b20ece /docs/kernel/filesystem
parent9fe746c41ec00ddb9d0b5f31616ae3970a73bb74 (diff)
downloadkernel-b7d4273f655c97974ee853082ac5dc1f69aa6324.tar.xz
kernel-b7d4273f655c97974ee853082ac5dc1f69aa6324.zip
docs: clean up some of the documentation
Diffstat (limited to 'docs/kernel/filesystem')
-rw-r--r--docs/kernel/filesystem/constants.rst10
-rw-r--r--docs/kernel/filesystem/dentry.rst12
-rw-r--r--docs/kernel/filesystem/device_inode.rst19
-rw-r--r--docs/kernel/filesystem/inode.rst12
4 files changed, 53 insertions, 0 deletions
diff --git a/docs/kernel/filesystem/constants.rst b/docs/kernel/filesystem/constants.rst
new file mode 100644
index 00000000..aa698711
--- /dev/null
+++ b/docs/kernel/filesystem/constants.rst
@@ -0,0 +1,10 @@
+Global Constants
+================
+
+The constants described here are applicable to all types and functions in the kernel filesystem layers.
+They describe maxima of supported lengths and sizes where not other specification takes precedence.
+
+API Reference
+-------------
+
+.. doxygennamespace:: kernel::filesystem::constants
diff --git a/docs/kernel/filesystem/dentry.rst b/docs/kernel/filesystem/dentry.rst
new file mode 100644
index 00000000..3d40c067
--- /dev/null
+++ b/docs/kernel/filesystem/dentry.rst
@@ -0,0 +1,12 @@
+Directory Entries
+=================
+
+A directory entry associates a name with an inode.
+As such, a directory entry may refer to any entity represented by an inode.
+Directory entries may be nested.
+
+API Reference
+-------------
+
+.. doxygenstruct:: kernel::filesystem::dentry
+ :members: \ No newline at end of file
diff --git a/docs/kernel/filesystem/device_inode.rst b/docs/kernel/filesystem/device_inode.rst
new file mode 100644
index 00000000..cf5e72fa
--- /dev/null
+++ b/docs/kernel/filesystem/device_inode.rst
@@ -0,0 +1,19 @@
+Device Inodes
+=============
+
+Device inodes are filesystem inodes that represent a device in the system.
+They may be created from either a device, or by reconstituting a persistent device inode from a filesystem.
+
+An example for device inodes created to directly represent devices are the entries in the devfs (/dev) filesystem.
+Entries in this filesystem are generally created and removed based on devices appearing in and being removed from the system.
+
+An example for device inodes reconstituted from persisted inodes can be found in the inodes supported by the ext2 filesystem.
+In that filesystem, an inode may represent a device, using a device identification number.
+When accessing such an inode, a device inode needs to be reconstituted from the persisted device inode in order to resolve which device, if any, it refers to.
+However, any file operations (e.g. `stat`) need to be forwarded to the persisted inode.
+
+API Reference
+-------------
+
+.. doxygenstruct:: kernel::filesystem::device_inode
+ :members: \ No newline at end of file
diff --git a/docs/kernel/filesystem/inode.rst b/docs/kernel/filesystem/inode.rst
new file mode 100644
index 00000000..6e36bda1
--- /dev/null
+++ b/docs/kernel/filesystem/inode.rst
@@ -0,0 +1,12 @@
+Inode Base Class
+=================
+
+An inode (or filesystem index node) represents a filesystem entity, e.g. a file or directory, in the virtual filesystem (VFS).
+While not all filesystems may use traditional inodes, as for example used in ext2, the VFS expects for all entities to be represented as inodes.
+As such, file I/O operation always happen through inodes.
+
+API Reference
+-------------
+
+.. doxygenstruct:: kernel::filesystem::inode
+ :members: \ No newline at end of file