--- /dev/null
+MDS Lock Value Block
+^^^^^^^^^^^^^^^^^^^^
+[[struct-lov-mds-md]]
+
+The 'lov_mds_md' structure is a Lock Value Block (LVB) for layout
+locks. In replies to lock requests and other situations requiring
+layout information from an MDT the 'lov_mds_md' information provides
+details about the layout of a file across the OSTs.
+
+----
+struct lov_mds_md {
+ __u32 lmm_magic;
+ __u32 lmm_pattern;
+ struct ost_id lmm_oi;
+ __u32 lmm_stripe_size;
+ __u16 lmm_stripe_count;
+ __u16 lmm_layout_gen;
+ struct lov_ost_data_v1 lmm_objects[0];
+};
+----
+
+The 'lmm_magic' field is filled in with the value LOV_MAGIC
+(0x0BD10BD0) when the structure is in use. If the structure is in a
+buffer of an RPC without the magic number in place, then the rest of
+the structure is ignored.
+
+The 'lmm_pattern' field is only ever set to LOV_PATTERN_RAID0
+(0x001).
+
+The 'lmm_oi' field gives the LOV object ID for the first OST of the
+layout. This is the OST where striping will begin.
+
+The 'lmm_stripe_size' field give the stripe size for the object. This
+is how many bytes will be on a particular OST before going to the next
+stripe.
+
+The 'lmm_stripe_count' field gives how many OSTs the file is striped
+over.
+
+The 'lmm_layout_gen' field ges updated as the layout of the obeject is
+updated. This way out-of-date references to the layout can be
+recognized.
+
+The 'lmm_objects' array gives per-stripe data for more complex
+(non-uniform) layouts.
+
+