X-Git-Url: https://git.whamcloud.com/?p=fs%2Flustre-release.git;a=blobdiff_plain;f=lustre%2Finclude%2Flustre%2Flustre_idl.h;h=e648bdaea9ef5a3959fb9f5a5a0f55ffdbb4de87;hp=3310facce73daf8244cd2c32f20b7320ea3b1154;hb=b8785c155c81701a6e0d0ef397a347365e7de504;hpb=fa3167cad08144038b502ec5c3ebc76904f2a4a7 diff --git a/lustre/include/lustre/lustre_idl.h b/lustre/include/lustre/lustre_idl.h index 3310fac..e648bda 100644 --- a/lustre/include/lustre/lustre_idl.h +++ b/lustre/include/lustre/lustre_idl.h @@ -253,10 +253,38 @@ static inline int range_is_exhausted(const struct lu_seq_range *range) * @{ */ /** + * Flags for lustre_mdt_attrs::lma_compat and lustre_mdt_attrs::lma_incompat. + */ +enum lma_compat { + LMAC_HSM = 0x00000001, + LMAC_SOM = 0x00000002, +}; + +/** + * Masks for all features that should be supported by a Lustre version to + * access a specific file. + * This information is stored in lustre_mdt_attrs::lma_incompat. + * + * NOTE: No incompat feature should be added before bug #17670 is landed. + */ +#define LMA_INCOMPAT_SUPP 0x0 + +/** * Following struct for MDT attributes, that will be kept inode's EA. * Introduced in 2.0 release (please see b15993, for details) */ struct lustre_mdt_attrs { + /** + * Bitfield for supported data in this structure. From enum lma_compat. + * lma_self_fid and lma_flags are always available. + */ + __u32 lma_compat; + /** + * Per-file incompat feature list. Lustre version should support all + * flags set in this field. The supported feature mask is available in + * LMA_INCOMPAT_SUPP. + */ + __u32 lma_incompat; /** FID of this inode */ struct lu_fid lma_self_fid; /** SOM state, mdt/ost type, others */