Whamcloud - gitweb
LU-5814 lov: remove unused code
[fs/lustre-release.git] / lustre / lov / lov_dev.c
index fe04050..b6b7403 100644 (file)
@@ -53,11 +53,6 @@ struct kmem_cache *lov_session_kmem;
 struct kmem_cache *lovsub_lock_kmem;
 struct kmem_cache *lovsub_object_kmem;
 
-struct kmem_cache *lov_lock_link_kmem;
-
-/** Lock class of lov_device::ld_mutex. */
-static struct lock_class_key cl_lov_device_mutex_class;
-
 struct lu_kmem_descr lov_caches[] = {
         {
                 .ckd_cache = &lov_lock_kmem,
@@ -90,11 +85,6 @@ struct lu_kmem_descr lov_caches[] = {
                 .ckd_size  = sizeof (struct lovsub_object)
         },
         {
-                .ckd_cache = &lov_lock_link_kmem,
-                .ckd_name  = "lov_lock_link_kmem",
-                .ckd_size  = sizeof (struct lov_lock_link)
-        },
-        {
                 .ckd_cache = NULL
         }
 };
@@ -205,8 +195,6 @@ static int lov_device_init(const struct lu_env *env, struct lu_device *d,
                         break;
                 }
                 lsd = cl2lovsub_dev(cl);
-                lsd->acid_idx = i;
-                lsd->acid_super = ld;
                 ld->ld_target[i] = lsd;
         }
 
@@ -218,37 +206,19 @@ static int lov_device_init(const struct lu_env *env, struct lu_device *d,
         RETURN(rc);
 }
 
-static void lov_emerg_free(struct lov_device_emerg **emrg, int nr)
-{
-        int i;
-
-        for (i = 0; i < nr; ++i) {
-                struct lov_device_emerg *em;
-
-                em = emrg[i];
-                if (em != NULL) {
-                        LASSERT(em->emrg_page_list.pl_nr == 0);
-                        if (em->emrg_env != NULL)
-                                cl_env_put(em->emrg_env, &em->emrg_refcheck);
-                        OBD_FREE_PTR(em);
-                }
-        }
-        OBD_FREE(emrg, nr * sizeof emrg[0]);
-}
-
+/* Free the lov specific data created for the back end lu_device. */
 static struct lu_device *lov_device_free(const struct lu_env *env,
                                          struct lu_device *d)
 {
-        struct lov_device *ld = lu2lov_dev(d);
-        const int          nr = ld->ld_target_nr;
-
-        cl_device_fini(lu2cl_dev(d));
-        if (ld->ld_target != NULL)
-                OBD_FREE(ld->ld_target, nr * sizeof ld->ld_target[0]);
-        if (ld->ld_emrg != NULL)
-                lov_emerg_free(ld->ld_emrg, nr);
-        OBD_FREE_PTR(ld);
-        return NULL;
+       struct lov_device *ld = lu2lov_dev(d);
+       const int nr = ld->ld_target_nr;
+
+       cl_device_fini(lu2cl_dev(d));
+       if (ld->ld_target != NULL)
+               OBD_FREE(ld->ld_target, nr * sizeof ld->ld_target[0]);
+
+       OBD_FREE_PTR(ld);
+       return NULL;
 }
 
 static void lov_cl_del_target(const struct lu_env *env, struct lu_device *dev,
@@ -264,79 +234,35 @@ static void lov_cl_del_target(const struct lu_env *env, struct lu_device *dev,
         EXIT;
 }
 
-static struct lov_device_emerg **lov_emerg_alloc(int nr)
-{
-        struct lov_device_emerg **emerg;
-        int i;
-        int result;
-
-        OBD_ALLOC(emerg, nr * sizeof emerg[0]);
-        if (emerg == NULL)
-                return ERR_PTR(-ENOMEM);
-        for (result = i = 0; i < nr && result == 0; i++) {
-                struct lov_device_emerg *em;
-
-                OBD_ALLOC_PTR(em);
-                if (em != NULL) {
-                        emerg[i] = em;
-                        cl_page_list_init(&em->emrg_page_list);
-                        em->emrg_env = cl_env_alloc(&em->emrg_refcheck,
-                                                    LCT_REMEMBER|LCT_NOREF);
-                        if (!IS_ERR(em->emrg_env))
-                                em->emrg_env->le_ctx.lc_cookie = 0x2;
-                        else {
-                                result = PTR_ERR(em->emrg_env);
-                                em->emrg_env = NULL;
-                        }
-                } else
-                        result = -ENOMEM;
-        }
-        if (result != 0) {
-                lov_emerg_free(emerg, nr);
-                emerg = ERR_PTR(result);
-        }
-        return emerg;
-}
-
 static int lov_expand_targets(const struct lu_env *env, struct lov_device *dev)
 {
-        int   result;
-        __u32 tgt_size;
-        __u32 sub_size;
-
-        ENTRY;
-        result = 0;
-        tgt_size = dev->ld_lov->lov_tgt_size;
-        sub_size = dev->ld_target_nr;
-        if (sub_size < tgt_size) {
-                struct lovsub_device    **newd;
-                struct lov_device_emerg **emerg;
-                const size_t              sz   = sizeof newd[0];
-
-                emerg = lov_emerg_alloc(tgt_size);
-                if (IS_ERR(emerg))
-                        RETURN(PTR_ERR(emerg));
-
-                OBD_ALLOC(newd, tgt_size * sz);
-                if (newd != NULL) {
-                       mutex_lock(&dev->ld_mutex);
-                        if (sub_size > 0) {
-                                memcpy(newd, dev->ld_target, sub_size * sz);
-                                OBD_FREE(dev->ld_target, sub_size * sz);
-                        }
-                        dev->ld_target    = newd;
-                        dev->ld_target_nr = tgt_size;
-
-                        if (dev->ld_emrg != NULL)
-                                lov_emerg_free(dev->ld_emrg, sub_size);
-                        dev->ld_emrg = emerg;
-                       mutex_unlock(&dev->ld_mutex);
-                } else {
-                        lov_emerg_free(emerg, tgt_size);
-                        result = -ENOMEM;
-                }
-        }
-        RETURN(result);
+       int result;
+       __u32 tgt_size;
+       __u32 sub_size;
+
+       ENTRY;
+       result = 0;
+       tgt_size = dev->ld_lov->lov_tgt_size;
+       sub_size = dev->ld_target_nr;
+       if (sub_size < tgt_size) {
+               struct lovsub_device **newd;
+               const size_t sz = sizeof(newd[0]);
+
+               OBD_ALLOC(newd, tgt_size * sz);
+               if (newd != NULL) {
+                       if (sub_size > 0) {
+                               memcpy(newd, dev->ld_target, sub_size * sz);
+                               OBD_FREE(dev->ld_target, sub_size * sz);
+                       }
+
+                       dev->ld_target = newd;
+                       dev->ld_target_nr = tgt_size;
+               } else {
+                       result = -ENOMEM;
+               }
+       }
+
+       RETURN(result);
 }
 
 static int lov_cl_add_target(const struct lu_env *env, struct lu_device *dev,
@@ -365,19 +291,17 @@ static int lov_cl_add_target(const struct lu_env *env, struct lu_device *dev,
         if (rc == 0 && ld->ld_flags & LOV_DEV_INITIALIZED) {
                 LASSERT(dev->ld_site != NULL);
 
-                cl = cl_type_setup(env, dev->ld_site, &lovsub_device_type,
-                                   tgt->ltd_obd->obd_lu_dev);
-                if (!IS_ERR(cl)) {
-                        lsd = cl2lovsub_dev(cl);
-                        lsd->acid_idx = index;
-                        lsd->acid_super = ld;
-                        ld->ld_target[index] = lsd;
-                } else {
-                        CERROR("add failed (%d), deleting %s\n", rc,
-                               obd_uuid2str(&tgt->ltd_uuid));
-                        lov_cl_del_target(env, dev, index);
-                        rc = PTR_ERR(cl);
-                }
+               cl = cl_type_setup(env, dev->ld_site, &lovsub_device_type,
+                                  tgt->ltd_obd->obd_lu_dev);
+               if (!IS_ERR(cl)) {
+                       lsd = cl2lovsub_dev(cl);
+                       ld->ld_target[index] = lsd;
+               } else {
+                       CERROR("add failed (%d), deleting %s\n", rc,
+                              obd_uuid2str(&tgt->ltd_uuid));
+                       lov_cl_del_target(env, dev, index);
+                       rc = PTR_ERR(cl);
+               }
         }
         obd_putref(obd);
         RETURN(rc);
@@ -431,12 +355,9 @@ static struct lu_device *lov_device_alloc(const struct lu_env *env,
         if (ld == NULL)
                 RETURN(ERR_PTR(-ENOMEM));
 
-        cl_device_init(&ld->ld_cl, t);
-        d = lov2lu_dev(ld);
-        d->ld_ops        = &lov_lu_ops;
-
-       mutex_init(&ld->ld_mutex);
-       lockdep_set_class(&ld->ld_mutex, &cl_lov_device_mutex_class);
+       cl_device_init(&ld->ld_cl, t);
+       d = lov2lu_dev(ld);
+       d->ld_ops = &lov_lu_ops;
 
         /* setup the LOV OBD */
         obd = class_name2obd(lustre_cfg_string(cfg, 0));