* GPL HEADER END
*/
/*
- * Copyright (c) 2012 Intel Corporation
+ * Copyright (c) 2012, 2013, Intel Corporation.
* Use is subject to license terms.
*
* Author: Johann Lombardi <johann.lombardi@intel.com>
*
* \param lma - is the new LMA structure to be initialized
* \param fid - is the FID of the object this LMA belongs to
+ * \param incompat - features that MDS must understand to access object
*/
-void lustre_lma_init(struct lustre_mdt_attrs *lma, const struct lu_fid *fid)
+void lustre_lma_init(struct lustre_mdt_attrs *lma, const struct lu_fid *fid,
+ __u32 compat, __u32 incompat)
{
- lma->lma_compat = 0;
- lma->lma_incompat = 0;
+ lma->lma_compat = compat;
+ lma->lma_incompat = incompat;
lma->lma_self_fid = *fid;
- lma->lma_flags = 0;
/* If a field is added in struct lustre_mdt_attrs, zero it explicitly
* and change the test below. */
LASSERT(sizeof(*lma) ==
- (offsetof(struct lustre_mdt_attrs, lma_flags) +
- sizeof(lma->lma_flags)));
+ (offsetof(struct lustre_mdt_attrs, lma_self_fid) +
+ sizeof(lma->lma_self_fid)));
};
EXPORT_SYMBOL(lustre_lma_init);
__swab32s(&lma->lma_compat);
__swab32s(&lma->lma_incompat);
lustre_swab_lu_fid(&lma->lma_self_fid);
- __swab64s(&lma->lma_flags);
}
};
EXPORT_SYMBOL(lustre_lma_swab);
* \param buf - is the output buffer where to pack the on-disk HSM xattr.
* \param mh - is the md_hsm structure to pack.
*/
-void lustre_hsm2buf(void *buf, struct md_hsm *mh)
+void lustre_hsm2buf(void *buf, const struct md_hsm *mh)
{
struct hsm_attrs *attrs = (struct hsm_attrs *)buf;
ENTRY;