--- /dev/null
+The Lustre Log Facility
+-----------------------
+[[llog]]
+
+LLOG Structures
+~~~~~~~~~~~~~~~
+
+LLOG Log ID
+^^^^^^^^^^^
+
+----
+struct llog_logid {
+ struct ost_id lgl_oi;
+ __u32 lgl_ogen;
+};
+----
+
+LLog Information
+^^^^^^^^^^^^^^^^
+
+----
+struct llogd_body {
+ struct llog_logid lgd_logid;
+ __u32 lgd_ctxt_idx;
+ __u32 lgd_llh_flags;
+ __u32 lgd_index;
+ __u32 lgd_saved_index;
+ __u32 lgd_len;
+ __u64 lgd_cur_offset;
+};
+----
+
+The lgd_llh_flags are:
+----
+enum llog_flag {
+ LLOG_F_ZAP_WHEN_EMPTY = 0x1,
+ LLOG_F_IS_CAT = 0x2,
+ LLOG_F_IS_PLAIN = 0x4,
+};
+----
+
+LLog Record Header
+^^^^^^^^^^^^^^^^^^
+
+----
+struct llog_rec_hdr {
+ __u32 lrh_len;
+ __u32 lrh_index;
+ __u32 lrh_type;
+ __u32 lrh_id;
+};
+----
+
+LLog Record Tail
+^^^^^^^^^^^^^^^^
+
+----
+struct llog_rec_tail {
+ __u32 lrt_len;
+ __u32 lrt_index;
+};
+----
+
+LLog Log Header Information
+^^^^^^^^^^^^^^^^^^^^^^^^^^^
+
+----
+struct llog_log_hdr {
+ struct llog_rec_hdr llh_hdr;
+ obd_time llh_timestamp;
+ __u32 llh_count;
+ __u32 llh_bitmap_offset;
+ __u32 llh_size;
+ __u32 llh_flags;
+ __u32 llh_cat_idx;
+ /* for a catalog the first plain slot is next to it */
+ struct obd_uuid llh_tgtuuid;
+ __u32 llh_reserved[LLOG_HEADER_SIZE/sizeof(__u32) - 23];
+ __u32 llh_bitmap[LLOG_BITMAP_BYTES/sizeof(__u32)];
+ struct llog_rec_tail llh_tail;
+};
+----
+