Whamcloud - gitweb
LU-14459 mdt: support fixed directory layout
[fs/lustre-release.git] / lustre / include / lustre_mds.h
index ede98c7..8c3c010 100644 (file)
@@ -27,7 +27,6 @@
  */
 /*
  * This file is part of Lustre, http://www.lustre.org/
- * Lustre is a trademark of Sun Microsystems, Inc.
  *
  * lustre/include/lustre_mds.h
  *
 #include <lustre_dlm.h>
 #include <lustre_export.h>
 
-struct mds_group_info {
-        struct obd_uuid *uuid;
-        int group;
-};
-
-struct mds_capa_info {
-        struct obd_uuid        *uuid;
-        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)
+{
+       unsigned int may_mask = 0;
+
+       if (open_flags & MDS_FMODE_READ)
+               may_mask |= MAY_READ;
+       if (open_flags & (MDS_FMODE_WRITE | MDS_OPEN_TRUNC | MDS_OPEN_APPEND))
+               may_mask |= MAY_WRITE;
+       if (open_flags & MDS_FMODE_EXEC)
+               may_mask = MAY_EXEC;
+
+       return may_mask;
 }
 
 /** @} mds */