xfsdocs: clarify log item header structure
Make it more explicit that each log item has to start with a type code
and size, except for transaction headers.
Signed-off-by: Darrick J. Wong <darrick.wong@oracle.com>
diff --git a/design/XFS_Filesystem_Structure/journaling_log.asciidoc b/design/XFS_Filesystem_Structure/journaling_log.asciidoc
index 0aec036..6109458 100644
--- a/design/XFS_Filesystem_Structure/journaling_log.asciidoc
+++ b/design/XFS_Filesystem_Structure/journaling_log.asciidoc
@@ -217,6 +217,18 @@
| +XFS_LI_BUD+ | 0x1245 | xref:BUD_Log_Item[File Block Mapping Update Done]
|=====
+Note that all log items (except for transaction headers) MUST start with
+the following header structure. The type and size fields are baked into
+each log item header, but there is not a separately defined header.
+
+[source, c]
+----
+struct xfs_log_item {
+ __uint16_t magic;
+ __uint16_t size;
+};
+----
+
[[Log_Transaction_Headers]]
=== Transaction Headers