Whamcloud - gitweb
LU-7669 lmv: assume a real connection in lmv_connect()
[fs/lustre-release.git] / lustre / lmv / lmv_internal.h
index 60ed76f..ee1d73f 100644 (file)
@@ -27,7 +27,7 @@
  * Copyright (c) 2004, 2010, Oracle and/or its affiliates. All rights reserved.
  * Use is subject to license terms.
  *
- * Copyright (c) 2011, 2013, Intel Corporation.
+ * Copyright (c) 2011, 2015, Intel Corporation.
  */
 /*
  * This file is part of Lustre, http://www.lustre.org/
 
 #define LMV_MAX_TGT_COUNT 128
 
-#define lmv_init_lock(lmv)   mutex_lock(&lmv->init_mutex);
-#define lmv_init_unlock(lmv) mutex_unlock(&lmv->init_mutex);
-
 #define LL_IT2STR(it)                                  \
        ((it) ? ldlm_it2str((it)->it_op) : "0")
 
-int lmv_check_connect(struct obd_device *obd);
-
 int lmv_intent_lock(struct obd_export *exp, struct md_op_data *op_data,
                    struct lookup_intent *it, struct ptlrpc_request **reqp,
                    ldlm_blocking_callback cb_blocking,
@@ -58,23 +53,23 @@ int lmv_intent_lock(struct obd_export *exp, struct md_op_data *op_data,
 
 int lmv_blocking_ast(struct ldlm_lock *, struct ldlm_lock_desc *,
                     void *, int);
-int lmv_fld_lookup(struct lmv_obd *lmv, const struct lu_fid *fid,
-                   mdsno_t *mds);
-int __lmv_fid_alloc(struct lmv_obd *lmv, struct lu_fid *fid,
-                    mdsno_t mds);
+int lmv_fld_lookup(struct lmv_obd *lmv, const struct lu_fid *fid, u32 *mds);
+int __lmv_fid_alloc(struct lmv_obd *lmv, struct lu_fid *fid, u32 mds);
 int lmv_fid_alloc(const struct lu_env *env, struct obd_export *exp,
                  struct lu_fid *fid, struct md_op_data *op_data);
 
-int lmv_unpack_md(struct obd_export *exp, struct lmv_stripe_md **lsmp,
-                 const union lmv_mds_md *lmm, int stripe_count);
-
-int lmv_revalidate_slaves(struct obd_export *exp, struct mdt_body *mbody,
-                         struct lmv_stripe_md *lsm,
+int lmv_revalidate_slaves(struct obd_export *exp,
+                         const struct lmv_stripe_md *lsm,
                          ldlm_blocking_callback cb_blocking,
                          int extra_lock_flags);
 
+static inline struct obd_device *lmv2obd_dev(struct lmv_obd *lmv)
+{
+       return container_of0(lmv, struct obd_device, u.lmv);
+}
+
 static inline struct lmv_tgt_desc *
-lmv_get_target(struct lmv_obd *lmv, mdsno_t mdt_idx, int *index)
+lmv_get_target(struct lmv_obd *lmv, u32 mdt_idx, int *index)
 {
        int i;
 
@@ -96,7 +91,7 @@ static inline int
 lmv_find_target_index(struct lmv_obd *lmv, const struct lu_fid *fid)
 {
        struct lmv_tgt_desc     *ltd;
-       mdsno_t                 mdt_idx = 0;
+       u32                     mdt_idx = 0;
        int                     index = 0;
 
        if (lmv->desc.ld_tgt_count > 1) {
@@ -132,10 +127,6 @@ static inline int lmv_stripe_md_size(int stripe_count)
        return sizeof(*lsm) + stripe_count * sizeof(lsm->lsm_md_oinfo[0]);
 }
 
-int lmv_name_to_stripe_index(enum lmv_hash_type hashtype,
-                            unsigned int max_mdt_index,
-                            const char *name, int namelen);
-
 static inline const struct lmv_oinfo *
 lsm_name_to_stripe_info(const struct lmv_stripe_md *lsm, const char *name,
                        int namelen)
@@ -156,13 +147,18 @@ lsm_name_to_stripe_info(const struct lmv_stripe_md *lsm, const char *name,
        return &lsm->lsm_md_oinfo[stripe_index];
 }
 
+static inline bool lmv_need_try_all_stripes(const struct lmv_stripe_md *lsm)
+{
+       return !lmv_is_known_hash_type(lsm->lsm_md_hash_type) ||
+              lsm->lsm_md_hash_type & LMV_HASH_FLAG_MIGRATION;
+}
 
 struct lmv_tgt_desc
 *lmv_locate_mds(struct lmv_obd *lmv, struct md_op_data *op_data,
                struct lu_fid *fid);
 /* lproc_lmv.c */
-#ifdef LPROCFS
-extern struct lprocfs_seq_vars lprocfs_lmv_obd_vars[];
+#ifdef CONFIG_PROC_FS
+extern struct lprocfs_vars lprocfs_lmv_obd_vars[];
 #endif
 extern struct file_operations lmv_proc_target_fops;