Whamcloud - gitweb
LU-2875 mdt: use lu_name for rr_name and rr_tgt
[fs/lustre-release.git] / lustre / mdt / mdt_internal.h
index dc26857..6c9d9fe 100644 (file)
@@ -316,79 +316,21 @@ enum {
 };
 
 struct mdt_reint_record {
-        mdt_reint_t             rr_opcode;
-        const struct lustre_handle *rr_handle;
-        const struct lu_fid    *rr_fid1;
-        const struct lu_fid    *rr_fid2;
-        const char             *rr_name;
-        int                     rr_namelen;
-        const char             *rr_tgt;
-        int                     rr_tgtlen;
-        const void             *rr_eadata;
-        int                     rr_eadatalen;
-        int                     rr_logcookielen;
-        const struct llog_cookie  *rr_logcookies;
-        __u32                   rr_flags;
+       mdt_reint_t                      rr_opcode;
+       const struct lustre_handle      *rr_handle;
+       const struct lu_fid             *rr_fid1;
+       const struct lu_fid             *rr_fid2;
+       struct lu_name                   rr_name;
+       struct lu_name                   rr_tgt_name;
+       const void                      *rr_eadata;
+       int                              rr_eadatalen;
+       __u32                            rr_flags;
 };
 
 enum mdt_reint_flag {
         MRF_OPEN_TRUNC = 1 << 0,
 };
 
-struct mdt_thread_info;
-struct tx_arg;
-typedef int (*tx_exec_func_t)(const struct lu_env *, struct thandle *,
-                             struct tx_arg *);
-
-struct tx_arg {
-       tx_exec_func_t          exec_fn;
-       tx_exec_func_t          undo_fn;
-       struct dt_object        *object;
-       char                    *file;
-       struct update_reply     *reply;
-       int                     line;
-       int                     index;
-       union {
-               struct {
-                       const struct dt_rec     *rec;
-                       const struct dt_key     *key;
-               } insert;
-               struct {
-               } ref;
-               struct {
-                       struct lu_attr  attr;
-               } attr_set;
-               struct {
-                       struct lu_buf   buf;
-                       const char      *name;
-                       int             flags;
-                       __u32           csum;
-               } xattr_set;
-               struct {
-                       struct lu_attr                  attr;
-                       struct dt_allocation_hint       hint;
-                       struct dt_object_format         dof;
-                       struct lu_fid                   fid;
-               } create;
-               struct {
-                       struct lu_buf   buf;
-                       loff_t          pos;
-               } write;
-               struct {
-                       struct ost_body     *body;
-               } destroy;
-       } u;
-};
-
-#define TX_MAX_OPS       10
-struct thandle_exec_args {
-       struct thandle          *ta_handle;
-       struct dt_device        *ta_dev;
-       int                     ta_err;
-       struct tx_arg           ta_args[TX_MAX_OPS];
-       int                     ta_argno;   /* used args */
-};
-
 /*
  * Common data shared by mdt-level handlers. This is allocated per-thread to
  * reduce stack consumption.
@@ -414,9 +356,6 @@ struct mdt_thread_info {
 
         struct mdt_device         *mti_mdt;
         const struct lu_env       *mti_env;
-       /* XXX: temporary flag to have healthy mti during OUT calls
-        * to be removed upon moving MDT to the unified target code */
-       bool                       mti_txn_compat;
 
         /* transaction number of current request */
         __u64                      mti_transno;
@@ -467,8 +406,6 @@ struct mdt_thread_info {
          */
         struct mdt_reint_record    mti_rr;
 
-        /** md objects included in operation */
-        struct mdt_object         *mti_mos;
         __u64                      mti_ver[PTLRPC_NUM_VERSIONS];
         /*
          * Operation specification (currently create and lookup)
@@ -505,14 +442,6 @@ struct mdt_thread_info {
                         struct md_attr attr;
                         struct md_som_data data;
                 } som;
-               struct {
-                       struct dt_object_format mti_update_dof;
-                       struct update_reply     *mti_update_reply;
-                       struct update           *mti_update;
-                       int                     mti_update_reply_index;
-                       struct obdo             mti_obdo;
-                       struct dt_object        *mti_dt_object;
-               } update;
         } mti_u;
 
         /* IO epoch related stuff. */
@@ -533,7 +462,6 @@ struct mdt_thread_info {
        int                        mti_big_lmm_used;
        /* should be enough to fit lustre_mdt_attrs */
        char                       mti_xattr_buf[128];
-       struct thandle_exec_args   mti_handle;
        struct ldlm_enqueue_info   mti_einfo;
 };
 
@@ -706,8 +634,8 @@ void mdt_clear_disposition(struct mdt_thread_info *info,
                         struct ldlm_reply *rep, int flag);
 
 void mdt_lock_pdo_init(struct mdt_lock_handle *lh,
-                       ldlm_mode_t lm, const char *name,
-                       int namelen);
+                      ldlm_mode_t lock_mode,
+                      const struct lu_name *lname);
 
 void mdt_lock_reg_init(struct mdt_lock_handle *lh,
                        ldlm_mode_t lm);
@@ -751,6 +679,15 @@ void mdt_client_compatibility(struct mdt_thread_info *info);
 int mdt_remote_object_lock(struct mdt_thread_info *mti,
                           struct mdt_object *o, struct lustre_handle *lh,
                           ldlm_mode_t mode, __u64 ibits);
+
+enum mdt_name_flags {
+       MNF_FIX_ANON = 1,
+};
+
+int mdt_name_unpack(struct req_capsule *pill,
+                   const struct req_msg_field *field,
+                   struct lu_name *ln,
+                   enum mdt_name_flags flags);
 int mdt_close_unpack(struct mdt_thread_info *info);
 int mdt_reint_unpack(struct mdt_thread_info *info, __u32 op);
 int mdt_reint_rec(struct mdt_thread_info *, struct mdt_lock_handle *);
@@ -1102,34 +1039,6 @@ static inline ldlm_mode_t mdt_mdl_mode2dlm_mode(mdl_mode_t mode)
 /* mdt_lvb.c */
 extern struct ldlm_valblock_ops mdt_lvbo;
 
-static inline struct lu_name *mdt_name(const struct lu_env *env,
-                                       char *name, int namelen)
-{
-        struct lu_name *lname;
-        struct mdt_thread_info *mti;
-
-        LASSERT(namelen > 0);
-        /* trailing '\0' in buffer */
-        LASSERT(name[namelen] == '\0');
-
-        mti = lu_context_key_get(&env->le_ctx, &mdt_thread_key);
-        lname = &mti->mti_name;
-        lname->ln_name = name;
-        lname->ln_namelen = namelen;
-        return lname;
-}
-
-static inline struct lu_name *mdt_name_copy(struct lu_name *tlname,
-                                            struct lu_name *slname)
-{
-        LASSERT(tlname);
-        LASSERT(slname);
-
-        tlname->ln_name = slname->ln_name;
-        tlname->ln_namelen = slname->ln_namelen;
-        return tlname;
-}
-
 void mdt_enable_cos(struct mdt_device *, int);
 int mdt_cos_is_enabled(struct mdt_device *);