+static inline void ost_layout_cpu_to_le(struct ost_layout *dst,
+ const struct ost_layout *src)
+{
+ dst->ol_stripe_size = __cpu_to_le32(src->ol_stripe_size);
+ dst->ol_stripe_count = __cpu_to_le32(src->ol_stripe_count);
+ dst->ol_comp_start = __cpu_to_le64(src->ol_comp_start);
+ dst->ol_comp_end = __cpu_to_le64(src->ol_comp_end);
+ dst->ol_comp_id = __cpu_to_le32(src->ol_comp_id);
+}
+
+static inline void ost_layout_le_to_cpu(struct ost_layout *dst,
+ const struct ost_layout *src)
+{
+ dst->ol_stripe_size = __le32_to_cpu(src->ol_stripe_size);
+ dst->ol_stripe_count = __le32_to_cpu(src->ol_stripe_count);
+ dst->ol_comp_start = __le64_to_cpu(src->ol_comp_start);
+ dst->ol_comp_end = __le64_to_cpu(src->ol_comp_end);
+ dst->ol_comp_id = __le32_to_cpu(src->ol_comp_id);
+}
+
+static inline void filter_fid_cpu_to_le(struct filter_fid *dst,
+ const struct filter_fid *src, int size)
+{
+ fid_cpu_to_le(&dst->ff_parent, &src->ff_parent);
+
+ if (size < sizeof(struct filter_fid)) {
+ memset(&dst->ff_layout, 0, sizeof(dst->ff_layout));
+ } else {
+ ost_layout_cpu_to_le(&dst->ff_layout, &src->ff_layout);
+ dst->ff_layout_version = cpu_to_le32(src->ff_layout_version);
+ dst->ff_range = cpu_to_le32(src->ff_range);
+ }
+
+ /* XXX: Add more if filter_fid is enlarged in the future. */
+}
+
+static inline void filter_fid_le_to_cpu(struct filter_fid *dst,
+ const struct filter_fid *src, int size)
+{
+ fid_le_to_cpu(&dst->ff_parent, &src->ff_parent);
+
+ if (size < sizeof(struct filter_fid)) {
+ memset(&dst->ff_layout, 0, sizeof(dst->ff_layout));
+ } else {
+ ost_layout_le_to_cpu(&dst->ff_layout, &src->ff_layout);
+ dst->ff_layout_version = le32_to_cpu(src->ff_layout_version);
+ dst->ff_range = le32_to_cpu(src->ff_range);
+ }
+
+ /* XXX: Add more if filter_fid is enlarged in the future. */
+}
+