Whamcloud - gitweb
LU-181 obdclass: fix portal_handle memory wastage
[fs/lustre-release.git] / lustre / lov / lov_internal.h
index 1a6b34a..73e894a 100644 (file)
@@ -1,6 +1,4 @@
-/* -*- mode: c; c-basic-offset: 8; indent-tabs-mode: nil; -*-
- * vim:expandtab:shiftwidth=8:tabstop=8:
- *
+/*
  * GPL HEADER START
  *
  * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
@@ -40,6 +38,7 @@
 #define LOV_INTERNAL_H
 
 #include <obd_class.h>
+#include <obd_lov.h>
 #include <lustre/lustre_user.h>
 
 struct lov_lock_handles {
@@ -89,29 +88,6 @@ struct lov_request_set {
 
 extern cfs_mem_cache_t *lov_oinfo_slab;
 
-static inline void lov_llh_addref(void *llhp)
-{
-        struct lov_lock_handles *llh = llhp;
-        cfs_atomic_inc(&llh->llh_refcount);
-        CDEBUG(D_INFO, "GETting llh %p : new refcount %d\n", llh,
-               cfs_atomic_read(&llh->llh_refcount));
-}
-
-static inline struct lov_lock_handles *lov_llh_new(struct lov_stripe_md *lsm)
-{
-        struct lov_lock_handles *llh;
-
-        OBD_ALLOC(llh, sizeof *llh +
-                  sizeof(*llh->llh_handles) * lsm->lsm_stripe_count);
-        if (llh == NULL)
-                return NULL;
-        cfs_atomic_set(&llh->llh_refcount, 2);
-        llh->llh_stripe_count = lsm->lsm_stripe_count;
-        CFS_INIT_LIST_HEAD(&llh->llh_handle.h_link);
-        class_handle_hash(&llh->llh_handle, lov_llh_addref);
-        return llh;
-}
-
 void lov_finish_set(struct lov_request_set *set);
 
 static inline void lov_get_reqset(struct lov_request_set *set)
@@ -157,7 +133,7 @@ static inline void lov_llh_put(struct lov_lock_handles *llh)
         (char *)((lv)->lov_tgts[index]->ltd_uuid.uuid)
 
 /* lov_merge.c */
-void lov_merge_attrs(struct obdo *tgt, struct obdo *src, obd_flag valid,
+void lov_merge_attrs(struct obdo *tgt, struct obdo *src, obd_valid valid,
                      struct lov_stripe_md *lsm, int stripeno, int *set);
 int lov_merge_lvb(struct obd_export *exp, struct lov_stripe_md *lsm,
                   struct ost_lvb *lvb, int kms_only);
@@ -334,34 +310,4 @@ struct pool_desc *lov_find_pool(struct lov_obd *lov, char *poolname);
 int lov_check_index_in_pool(__u32 idx, struct pool_desc *pool);
 void lov_pool_putref(struct pool_desc *pool);
 
-#if BITS_PER_LONG == 64
-# define ll_do_div64(n,base) ({                                 \
-        uint64_t __base = (base);                               \
-        uint64_t __rem;                                         \
-        __rem = ((uint64_t)(n)) % __base;                       \
-        (n) = ((uint64_t)(n)) / __base;                         \
-        __rem;                                                  \
-  })
-#elif BITS_PER_LONG == 32
-# define ll_do_div64(n,base) ({                                 \
-        uint64_t __rem;                                         \
-        if ((sizeof(base) > 4) && (((base)&0xffffffff00000000ULL) != 0)) { \
-                int __remainder;                                \
-                LASSERTF(!((base) & (LOV_MIN_STRIPE_SIZE - 1)), "64 bit lov "\
-                          "division %llu / %llu\n", (n), (base)); \
-                __remainder = (n) & (LOV_MIN_STRIPE_SIZE - 1);  \
-                (n) >>= LOV_MIN_STRIPE_BITS;                    \
-                (base) >>= LOV_MIN_STRIPE_BITS;                 \
-                __rem = do_div(n, base);                        \
-                __rem <<= LOV_MIN_STRIPE_BITS;                  \
-                __rem += __remainder;                           \
-        } else {                                                \
-                __rem = do_div(n, base);                        \
-        }                                                       \
-        __rem;                                                  \
-  })
-#else
-#error Unsupported architecture.
-#endif
-
 #endif