Whamcloud - gitweb
LU-13180 lustre: reserve bit for RDMA-only memory RPC
[fs/lustre-release.git] / lustre / include / uapi / linux / lustre / lustre_idl.h
index 515b081..2843da8 100644 (file)
@@ -838,17 +838,18 @@ struct ptlrpc_body_v2 {
 #define OBD_CONNECT2_SELINUX_POLICY    0x400ULL /* has client SELinux policy */
 #define OBD_CONNECT2_LSOM              0x800ULL /* LSOM support */
 #define OBD_CONNECT2_PCC               0x1000ULL /* Persistent Client Cache */
-#define OBD_CONNECT2_PLAIN_LAYOUT      0x2000ULL /* Plain Directory Layout */
+#define OBD_CONNECT2_CRUSH             0x2000ULL /* crush hash striped directory */
 #define OBD_CONNECT2_ASYNC_DISCARD     0x4000ULL /* support async DoM data discard */
-
+#define OBD_CONNECT2_ENCRYPT           0x8000ULL /* client-to-disk encrypt */
 /* XXX README XXX:
  * Please DO NOT add flag values here before first ensuring that this same
  * flag value is not in use on some other branch.  Please clear any such
  * changes with senior engineers before starting to use a new flag.  Then,
  * submit a small patch against EVERY branch that ONLY adds the new flag,
- * updates obd_connect_names[] for lprocfs_rd_connect_flags(), adds the
- * flag to check_obd_connect_data(), and updates wiretests accordingly, so it
- * can be approved and landed easily to reserve the flag for future use. */
+ * updates obd_connect_names[], adds the flag to check_obd_connect_data(),
+ * and updates wiretests accordingly, so it can be approved and landed easily
+ * to reserve the flag for future use.
+ */
 
 /* The MNE_SWAB flag is overloading the MDS_MDS bit only for the MGS
  * connection.  It is a temporary bug fix for Imperative Recovery interop
@@ -897,6 +898,7 @@ struct ptlrpc_body_v2 {
                                OBD_CONNECT2_FLR |\
                                OBD_CONNECT2_LOCK_CONVERT | \
                                OBD_CONNECT2_ARCHIVE_ID_ARRAY | \
+                               OBD_CONNECT2_INC_XID | \
                                OBD_CONNECT2_SELINUX_POLICY | \
                                OBD_CONNECT2_LSOM | \
                                OBD_CONNECT2_ASYNC_DISCARD | \
@@ -921,7 +923,7 @@ struct ptlrpc_body_v2 {
                                OBD_CONNECT_GRANT_PARAM | \
                                OBD_CONNECT_SHORTIO | OBD_CONNECT_FLAGS2)
 
-#define OST_CONNECT_SUPPORTED2 OBD_CONNECT2_LOCKAHEAD
+#define OST_CONNECT_SUPPORTED2 (OBD_CONNECT2_LOCKAHEAD | OBD_CONNECT2_INC_XID)
 
 #define ECHO_CONNECT_SUPPORTED (OBD_CONNECT_FID)
 #define ECHO_CONNECT_SUPPORTED2 0
@@ -1046,9 +1048,10 @@ enum ost_cmd {
         OST_SYNC       = 16,
         OST_SET_INFO   = 17,
        OST_QUOTACHECK = 18, /* not used since 2.4 */
-        OST_QUOTACTL   = 19,
+       OST_QUOTACTL   = 19,
        OST_QUOTA_ADJUST_QUNIT = 20, /* not used since 2.4 */
        OST_LADVISE    = 21,
+       OST_FALLOCATE  = 22,
        OST_LAST_OPC /* must be < 33 to avoid MDS_GETATTR */
 };
 #define OST_FIRST_OPC  OST_REPLY
@@ -1310,6 +1313,9 @@ lov_mds_md_max_stripe_count(size_t buf_size, __u32 lmm_magic)
 #define OBD_MD_FLPROJID      (0x0100000000000000ULL) /* project ID */
 #define OBD_MD_SECCTX        (0x0200000000000000ULL) /* embed security xattr */
 
+#define OBD_MD_FLLAZYSIZE    (0x0400000000000000ULL) /* Lazy size */
+#define OBD_MD_FLLAZYBLOCKS  (0x0800000000000000ULL) /* Lazy blocks */
+
 #define OBD_MD_FLALLQUOTA (OBD_MD_FLUSRQUOTA | \
                           OBD_MD_FLGRPQUOTA | \
                           OBD_MD_FLPRJQUOTA)
@@ -1353,6 +1359,7 @@ struct hsm_state_set {
 #define OBD_BRW_CHECK           0x10
 #define OBD_BRW_FROM_GRANT      0x20 /* the osc manages this under llite */
 #define OBD_BRW_GRANTED         0x40 /* the ost manages this */
+/* OBD_BRW_NOCACHE is currently neither set nor tested */
 #define OBD_BRW_NOCACHE         0x80 /* this page is a part of non-cached IO */
 #define OBD_BRW_NOQUOTA        0x100
 #define OBD_BRW_SRVLOCK        0x200 /* Client holds no lock over this page */
@@ -1365,6 +1372,7 @@ struct hsm_state_set {
                                      * space for unstable pages; asking
                                      * it to sync quickly */
 #define OBD_BRW_OVER_PRJQUOTA 0x8000 /* Running out of project quota */
+#define OBD_BRW_RDMA_ONLY    0x20000 /* RPC contains RDMA-only pages*/
 
 #define OBD_BRW_OVER_ALLQUOTA (OBD_BRW_OVER_USRQUOTA | \
                               OBD_BRW_OVER_GRPQUOTA | \
@@ -1746,7 +1754,6 @@ enum {
        LUSTRE_INDEX_FL         = 0x00001000, /* hash-indexed directory */
        LUSTRE_DIRSYNC_FL       = 0x00010000, /* dirsync behaviour (dir only) */
        LUSTRE_TOPDIR_FL        = 0x00020000, /* Top of directory hierarchies*/
-       LUSTRE_DIRECTIO_FL      = 0x00100000, /* Use direct i/o */
        LUSTRE_INLINE_DATA_FL   = 0x10000000, /* Inode has inline data. */
        LUSTRE_PROJINHERIT_FL   = 0x20000000, /* Create with parents projid */
 
@@ -1959,6 +1966,7 @@ enum mds_op_bias {
        MDS_CLOSE_LAYOUT_SPLIT  = 1 << 17,
        MDS_TRUNC_KEEP_LEASE    = 1 << 18,
        MDS_PCC_ATTACH          = 1 << 19,
+       MDS_CLOSE_UPDATE_TIMES  = 1 << 20,
 };
 
 #define MDS_CLOSE_INTENT (MDS_HSM_RELEASE | MDS_CLOSE_LAYOUT_SWAP |         \
@@ -2733,12 +2741,12 @@ struct llog_rec_hdr {
        __u32   lrh_index;
        __u32   lrh_type;
        __u32   lrh_id;
-};
+} __attribute__((packed));
 
 struct llog_rec_tail {
        __u32   lrt_len;
        __u32   lrt_index;
-};
+} __attribute__((packed));
 
 /* Where data follow just after header */
 #define REC_DATA(ptr)                                          \
@@ -3078,6 +3086,7 @@ struct obdo {
 #define o_dropped o_misc
 #define o_cksum   o_nlink
 #define o_grant_used o_data_version
+#define o_falloc_mode o_nlink
 
 struct lfsck_request {
        __u32           lr_event;
@@ -3318,7 +3327,7 @@ struct link_ea_entry {
         unsigned char      lee_reclen[2];
         unsigned char      lee_parent_fid[sizeof(struct lu_fid)];
         char               lee_name[0];
-}__attribute__((packed));
+} __attribute__((packed));
 
 /** fid2path request/reply structure */
 struct getinfo_fid2path {
@@ -3546,7 +3555,7 @@ struct update_op {
        __u16           uop_type;
        __u16           uop_param_count;
        __u16           uop_params_off[0];
-};
+} __attribute__((packed));
 
 struct update_ops {
        struct update_op        uops_op[0];