Whamcloud - gitweb
LUDOC-270 protocol: Update the outline and add support files
[doc/protocol.git] / llog.txt
diff --git a/llog.txt b/llog.txt
new file mode 100644 (file)
index 0000000..37df633
--- /dev/null
+++ b/llog.txt
@@ -0,0 +1,83 @@
+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;
+};
+----
+