-OST Body
-^^^^^^^^
+.OST Body
[[struct-ost-body]]
-
-The 'ost_body' structure just holds a 'struct 'obdo', which is where
+****
+The 'ost_body' structure just holds a 'struct obdo', which is where
all the actual information is conveyed.
[source,c]
struct obdo oa;
};
----
+****
-Obdo
-^^^^
+.Obdo
[[struct-obdo]]
-
+****
The 'obdo' structure conveys metadata about a resource on an OST.
[source,c]
The 'o_valid' field identifies which other fields in the structure are
to be interpreted. The flags are the same set (with additions) used
for the 'mdt_body' field 'mbo_valid' (see <<struct-mdt-body>>).
+****
[source,c]
----
#define OBD_MD_DEFAULT_MEA (0x0040000000000000ULL)
----
+****
The two fields here that are specific to the 'ost_body' case are the
'o_oi' and the 'o_stripe_idx', which give the identity of the OST and
the stripe index assigned to it.
+
+The 'o_handle' field is a 'lustre_handle' (See
+<<struct-lustre-handle>>). In this context it represents a lock. In
+most cases it will be 0. In an OST_PUNCH RPC (See <<truncate-rpcs>>) it
+may refer to a lock on the resource being modified that was previously
+acquired, though a lock is not required for that operation. The effect
+is to extend the timeout for that lock.
+****