Whamcloud - gitweb
LU-5971 llite: rename ccc_lock to vvp_lock 88/13088/2
authorJohn L. Hammond <john.hammond@intel.com>
Tue, 16 Dec 2014 15:42:51 +0000 (09:42 -0600)
committerOleg Drokin <oleg.drokin@intel.com>
Fri, 9 Jan 2015 03:10:27 +0000 (03:10 +0000)
Rename struct ccc_lock to struct vvp_lock and merge the CCC lock
methods into the VVP lock methods.

Signed-off-by: John L. Hammond <john.hammond@intel.com>
Change-Id: I46b4190b5085c8eeb137c7250c38bfa9a49fe7d7
Reviewed-on: http://review.whamcloud.com/13088
Tested-by: Jenkins
Tested-by: Maloo <hpdd-maloo@intel.com>
Reviewed-by: James Simmons <uja.ornl@gmail.com>
Reviewed-by: Jinshan Xiong <jinshan.xiong@intel.com>
Reviewed-by: Oleg Drokin <oleg.drokin@intel.com>
lustre/doc/clio.txt
lustre/include/cl_object.h
lustre/llite/lcommon_cl.c
lustre/llite/vvp_dev.c
lustre/llite/vvp_internal.h
lustre/llite/vvp_lock.c

index 22cb71a..ee56eb7 100644 (file)
@@ -739,7 +739,7 @@ sub-locks, protecting cached pages of sub-objects:
         cl_object_header<------------cl_lock
                 |          ->cld_obj    |
                 V                       V
         cl_object_header<------------cl_lock
                 |          ->cld_obj    |
                 V                       V
-           vvp_object<---------------ccc_lock
+           vvp_object<---------------vvp_lock
                 |          ->cls_obj    |
                 V                       V
            lov_object<---------------lov_lock
                 |          ->cls_obj    |
                 V                       V
            lov_object<---------------lov_lock
index 37f3fc2..945bf5a 100644 (file)
@@ -1310,7 +1310,7 @@ struct cl_lock {
 /**
  * Per-layer part of cl_lock
  *
 /**
  * Per-layer part of cl_lock
  *
- * \see ccc_lock, lov_lock, lovsub_lock, osc_lock
+ * \see vvp_lock, lov_lock, lovsub_lock, osc_lock
  */
 struct cl_lock_slice {
         struct cl_lock                  *cls_lock;
  */
 struct cl_lock_slice {
         struct cl_lock                  *cls_lock;
@@ -1336,7 +1336,7 @@ struct cl_lock_operations {
         *              @anchor for resources
         * \retval -ve  failure
         *
         *              @anchor for resources
         * \retval -ve  failure
         *
-        * \see ccc_lock_enqueue(), lov_lock_enqueue(), lovsub_lock_enqueue(),
+        * \see vvp_lock_enqueue(), lov_lock_enqueue(), lovsub_lock_enqueue(),
         * \see osc_lock_enqueue()
         */
        int  (*clo_enqueue)(const struct lu_env *env,
         * \see osc_lock_enqueue()
         */
        int  (*clo_enqueue)(const struct lu_env *env,
@@ -1349,12 +1349,12 @@ struct cl_lock_operations {
        void (*clo_cancel)(const struct lu_env *env,
                           const struct cl_lock_slice *slice);
        /** @} */
        void (*clo_cancel)(const struct lu_env *env,
                           const struct cl_lock_slice *slice);
        /** @} */
-        /**
-         * Destructor. Frees resources and the slice.
-         *
-         * \see ccc_lock_fini(), lov_lock_fini(), lovsub_lock_fini(),
-         * \see osc_lock_fini()
-         */
+       /**
+        * Destructor. Frees resources and the slice.
+        *
+        * \see vvp_lock_fini(), lov_lock_fini(), lovsub_lock_fini(),
+        * \see osc_lock_fini()
+        */
         void (*clo_fini)(const struct lu_env *env, struct cl_lock_slice *slice);
         /**
          * Optional debugging helper. Prints given lock slice.
         void (*clo_fini)(const struct lu_env *env, struct cl_lock_slice *slice);
         /**
          * Optional debugging helper. Prints given lock slice.
index 01a9a90..8630e50 100644 (file)
@@ -66,18 +66,12 @@ static const struct cl_req_operations ccc_req_ops;
  * ccc_ prefix stands for "Common Client Code".
  */
 
  * ccc_ prefix stands for "Common Client Code".
  */
 
-static struct kmem_cache *ccc_lock_kmem;
 static struct kmem_cache *ccc_thread_kmem;
 static struct kmem_cache *ccc_session_kmem;
 static struct kmem_cache *ccc_req_kmem;
 
 static struct lu_kmem_descr ccc_caches[] = {
         {
 static struct kmem_cache *ccc_thread_kmem;
 static struct kmem_cache *ccc_session_kmem;
 static struct kmem_cache *ccc_req_kmem;
 
 static struct lu_kmem_descr ccc_caches[] = {
         {
-                .ckd_cache = &ccc_lock_kmem,
-                .ckd_name  = "ccc_lock_kmem",
-                .ckd_size  = sizeof (struct ccc_lock)
-        },
-        {
                 .ckd_cache = &ccc_thread_kmem,
                 .ckd_name  = "ccc_thread_kmem",
                 .ckd_size  = sizeof (struct ccc_thread_info),
                 .ckd_cache = &ccc_thread_kmem,
                 .ckd_name  = "ccc_thread_kmem",
                 .ckd_size  = sizeof (struct ccc_thread_info),
@@ -217,25 +211,6 @@ void ccc_global_fini(struct lu_device_type *device_type)
         lu_kmem_fini(ccc_caches);
 }
 
         lu_kmem_fini(ccc_caches);
 }
 
-int ccc_lock_init(const struct lu_env *env,
-                 struct cl_object *obj, struct cl_lock *lock,
-                 const struct cl_io *unused,
-                 const struct cl_lock_operations *lkops)
-{
-       struct ccc_lock *clk;
-       int result;
-
-       CLOBINVRNT(env, obj, vvp_object_invariant(obj));
-
-       OBD_SLAB_ALLOC_PTR_GFP(clk, ccc_lock_kmem, GFP_NOFS);
-       if (clk != NULL) {
-               cl_lock_slice_add(lock, &clk->clk_cl, obj, lkops);
-               result = 0;
-       } else
-               result = -ENOMEM;
-       return result;
-}
-
 static void vvp_object_size_lock(struct cl_object *obj)
 {
        struct inode *inode = vvp_object_inode(obj);
 static void vvp_object_size_lock(struct cl_object *obj)
 {
        struct inode *inode = vvp_object_inode(obj);
@@ -254,26 +229,6 @@ static void vvp_object_size_unlock(struct cl_object *obj)
 
 /*****************************************************************************
  *
 
 /*****************************************************************************
  *
- * Lock operations.
- *
- */
-
-void ccc_lock_fini(const struct lu_env *env, struct cl_lock_slice *slice)
-{
-        struct ccc_lock *clk = cl2ccc_lock(slice);
-        OBD_SLAB_FREE_PTR(clk, ccc_lock_kmem);
-}
-
-int ccc_lock_enqueue(const struct lu_env *env,
-                    const struct cl_lock_slice *slice,
-                    struct cl_io *unused, struct cl_sync_io *anchor)
-{
-       CLOBINVRNT(env, slice->cls_obj, vvp_object_invariant(slice->cls_obj));
-       return 0;
-}
-
-/*****************************************************************************
- *
  * io operations.
  *
  */
  * io operations.
  *
  */
@@ -627,11 +582,6 @@ again:
  *
  */
 
  *
  */
 
-struct ccc_lock *cl2ccc_lock(const struct cl_lock_slice *slice)
-{
-        return container_of(slice, struct ccc_lock, clk_cl);
-}
-
 struct ccc_io *cl2ccc_io(const struct lu_env *env,
                          const struct cl_io_slice *slice)
 {
 struct ccc_io *cl2ccc_io(const struct lu_env *env,
                          const struct cl_io_slice *slice)
 {
index 39caedd..49b4129 100644 (file)
  * "llite_" (var. "ll_") prefix.
  */
 
  * "llite_" (var. "ll_") prefix.
  */
 
+struct kmem_cache *vvp_lock_kmem;
 struct kmem_cache *vvp_object_kmem;
 static struct kmem_cache *vvp_thread_kmem;
 static struct kmem_cache *vvp_session_kmem;
 static struct lu_kmem_descr vvp_caches[] = {
        {
 struct kmem_cache *vvp_object_kmem;
 static struct kmem_cache *vvp_thread_kmem;
 static struct kmem_cache *vvp_session_kmem;
 static struct lu_kmem_descr vvp_caches[] = {
        {
+               .ckd_cache = &vvp_lock_kmem,
+               .ckd_name  = "vvp_lock_kmem",
+               .ckd_size  = sizeof(struct vvp_lock),
+       },
+       {
                .ckd_cache = &vvp_object_kmem,
                .ckd_name  = "vvp_object_kmem",
                .ckd_size  = sizeof(struct vvp_object),
                .ckd_cache = &vvp_object_kmem,
                .ckd_name  = "vvp_object_kmem",
                .ckd_size  = sizeof(struct vvp_object),
index f441d91..d6cc854 100644 (file)
@@ -138,6 +138,7 @@ int cl_is_normalio(const struct lu_env *env, const struct cl_io *io);
 extern struct lu_context_key ccc_key;
 extern struct lu_context_key ccc_session_key;
 
 extern struct lu_context_key ccc_key;
 extern struct lu_context_key ccc_session_key;
 
+extern struct kmem_cache *vvp_lock_kmem;
 extern struct kmem_cache *vvp_object_kmem;
 
 struct ccc_thread_info {
 extern struct kmem_cache *vvp_object_kmem;
 
 struct ccc_thread_info {
@@ -280,8 +281,8 @@ struct vvp_device {
        struct cl_device   *vdv_next;
 };
 
        struct cl_device   *vdv_next;
 };
 
-struct ccc_lock {
-       struct cl_lock_slice clk_cl;
+struct vvp_lock {
+       struct cl_lock_slice vlk_cl;
 };
 
 struct ccc_req {
 };
 
 struct ccc_req {
@@ -301,15 +302,6 @@ int ccc_req_init(const struct lu_env *env, struct cl_device *dev,
 void ccc_umount(const struct lu_env *env, struct cl_device *dev);
 int ccc_global_init(struct lu_device_type *device_type);
 void ccc_global_fini(struct lu_device_type *device_type);
 void ccc_umount(const struct lu_env *env, struct cl_device *dev);
 int ccc_global_init(struct lu_device_type *device_type);
 void ccc_global_fini(struct lu_device_type *device_type);
-int ccc_lock_init(const struct lu_env *env, struct cl_object *obj,
-                 struct cl_lock *lock, const struct cl_io *io,
-                 const struct cl_lock_operations *lkops);
-void ccc_lock_delete(const struct lu_env *env,
-                    const struct cl_lock_slice *slice);
-void ccc_lock_fini(const struct lu_env *env, struct cl_lock_slice *slice);
-int ccc_lock_enqueue(const struct lu_env *env,
-                    const struct cl_lock_slice *slice,
-                    struct cl_io *io, struct cl_sync_io *anchor);
 void ccc_io_fini(const struct lu_env *env, const struct cl_io_slice *ios);
 int ccc_io_one_lock_index(const struct lu_env *env, struct cl_io *io,
                          __u32 enqflags, enum cl_lock_mode mode,
 void ccc_io_fini(const struct lu_env *env, const struct cl_io_slice *ios);
 int ccc_io_one_lock_index(const struct lu_env *env, struct cl_io *io,
                          __u32 enqflags, enum cl_lock_mode mode,
@@ -369,7 +361,11 @@ static inline struct page *cl2vm_page(const struct cl_page_slice *slice)
        return cl2vvp_page(slice)->vpg_page;
 }
 
        return cl2vvp_page(slice)->vpg_page;
 }
 
-struct ccc_lock *cl2ccc_lock(const struct cl_lock_slice *slice);
+static inline struct vvp_lock *cl2vvp_lock(const struct cl_lock_slice *slice)
+{
+       return container_of(slice, struct vvp_lock, vlk_cl);
+}
+
 struct ccc_io *cl2ccc_io(const struct lu_env *env,
                         const struct cl_io_slice *slice);
 struct ccc_req *cl2ccc_req(const struct cl_req_slice *slice);
 struct ccc_io *cl2ccc_io(const struct lu_env *env,
                         const struct cl_io_slice *slice);
 struct ccc_req *cl2ccc_req(const struct cl_req_slice *slice);
index 2505461..ec70539 100644 (file)
@@ -40,8 +40,7 @@
 
 #define DEBUG_SUBSYSTEM S_LLITE
 
 
 #define DEBUG_SUBSYSTEM S_LLITE
 
-
-#include <obd.h>
+#include <obd_support.h>
 #include "vvp_internal.h"
 
 /*****************************************************************************
 #include "vvp_internal.h"
 
 /*****************************************************************************
  *
  */
 
  *
  */
 
+static void vvp_lock_fini(const struct lu_env *env, struct cl_lock_slice *slice)
+{
+       struct vvp_lock *vlk = cl2vvp_lock(slice);
+
+       OBD_SLAB_FREE_PTR(vlk, vvp_lock_kmem);
+}
+
+static int vvp_lock_enqueue(const struct lu_env *env,
+                           const struct cl_lock_slice *slice,
+                           struct cl_io *unused, struct cl_sync_io *anchor)
+{
+       CLOBINVRNT(env, slice->cls_obj, vvp_object_invariant(slice->cls_obj));
+
+       return 0;
+}
+
 static const struct cl_lock_operations vvp_lock_ops = {
 static const struct cl_lock_operations vvp_lock_ops = {
-       .clo_fini      = ccc_lock_fini,
-       .clo_enqueue   = ccc_lock_enqueue
+       .clo_fini       = vvp_lock_fini,
+       .clo_enqueue    = vvp_lock_enqueue,
 };
 
 int vvp_lock_init(const struct lu_env *env, struct cl_object *obj,
 };
 
 int vvp_lock_init(const struct lu_env *env, struct cl_object *obj,
-                  struct cl_lock *lock, const struct cl_io *io)
+                 struct cl_lock *lock, const struct cl_io *unused)
 {
 {
-        return ccc_lock_init(env, obj, lock, io, &vvp_lock_ops);
+       struct vvp_lock *vlk;
+       int result;
+
+       CLOBINVRNT(env, obj, vvp_object_invariant(obj));
+
+       OBD_SLAB_ALLOC_PTR_GFP(vlk, vvp_lock_kmem, GFP_NOFS);
+       if (vlk != NULL) {
+               cl_lock_slice_add(lock, &vlk->vlk_cl, obj, &vvp_lock_ops);
+               result = 0;
+       } else {
+               result = -ENOMEM;
+       }
+
+       return result;
 }
 }