X-Git-Url: https://git.whamcloud.com/?a=blobdiff_plain;f=lustre%2Finclude%2Flustre_mds.h;h=cb43281574890c0b5b9f0ce8d1a70a34629dbdc3;hb=82d014e71e14671e876055851a0d37e98b4cc079;hp=ede98c7035b92c5115f9e75562f521cf9013f989;hpb=6712478e79588e73e28c7ccac3afc7ac2368a4f3;p=fs%2Flustre-release.git diff --git a/lustre/include/lustre_mds.h b/lustre/include/lustre_mds.h index ede98c7..cb43281 100644 --- a/lustre/include/lustre_mds.h +++ b/lustre/include/lustre_mds.h @@ -60,13 +60,34 @@ struct mds_capa_info { struct lustre_capa_key *capa; }; +struct md_rejig_data { + struct md_object *mrd_obj; + __u16 mrd_mirror_id; +}; + #define MDD_OBD_NAME "mdd_obd" #define MDD_OBD_UUID "mdd_obd_uuid" -static inline int md_should_create(__u64 flags) +static inline int md_should_create(u64 open_flags) { - return !(flags & MDS_OPEN_DELAY_CREATE) && (flags & FMODE_WRITE) && - !(flags & MDS_OPEN_LEASE); + return !(open_flags & MDS_OPEN_DELAY_CREATE) && + (open_flags & MDS_FMODE_WRITE) && + !(open_flags & MDS_OPEN_LEASE); +} + +/* do NOT or the MAY_*'s, you'll get the weakest */ +static inline int mds_accmode(u64 open_flags) +{ + int res = 0; + + if (open_flags & MDS_FMODE_READ) + res |= MAY_READ; + if (open_flags & (MDS_FMODE_WRITE | MDS_OPEN_TRUNC | MDS_OPEN_APPEND)) + res |= MAY_WRITE; + if (open_flags & MDS_FMODE_EXEC) + res = MAY_EXEC; + + return res; } /** @} mds */