Whamcloud - gitweb
LU-3435 util: Improvement to error logging for l_getidentity
[fs/lustre-release.git] / lustre / lov / lov_cl_internal.h
index 13c2f5a..c7056c8 100644 (file)
@@ -166,11 +166,10 @@ struct lov_device {
  * Layout type.
  */
 enum lov_layout_type {
-        /** empty file without body */
-        LLT_EMPTY,
-        /** striped file */
-        LLT_RAID0,
-        LLT_NR
+       LLT_EMPTY,      /** empty file without body (mknod + truncate) */
+       LLT_RAID0,      /** striped file */
+       LLT_RELEASED,   /** file with no objects (data in HSM) */
+       LLT_NR
 };
 
 /**
@@ -259,6 +258,8 @@ struct lov_object {
                 } raid0;
                 struct lov_layout_state_empty {
                 } empty;
+               struct lov_layout_state_released {
+               } released;
         } u;
         /**
          * Thread that acquired lov_object::lo_type_guard in an exclusive
@@ -555,17 +556,17 @@ extern struct lu_device_type lovsub_device_type;
 extern struct lu_context_key lov_key;
 extern struct lu_context_key lov_session_key;
 
-extern cfs_mem_cache_t *lov_lock_kmem;
-extern cfs_mem_cache_t *lov_object_kmem;
-extern cfs_mem_cache_t *lov_thread_kmem;
-extern cfs_mem_cache_t *lov_session_kmem;
-extern cfs_mem_cache_t *lov_req_kmem;
+extern struct kmem_cache *lov_lock_kmem;
+extern struct kmem_cache *lov_object_kmem;
+extern struct kmem_cache *lov_thread_kmem;
+extern struct kmem_cache *lov_session_kmem;
+extern struct kmem_cache *lov_req_kmem;
 
-extern cfs_mem_cache_t *lovsub_lock_kmem;
-extern cfs_mem_cache_t *lovsub_object_kmem;
-extern cfs_mem_cache_t *lovsub_req_kmem;
+extern struct kmem_cache *lovsub_lock_kmem;
+extern struct kmem_cache *lovsub_object_kmem;
+extern struct kmem_cache *lovsub_req_kmem;
 
-extern cfs_mem_cache_t *lov_lock_link_kmem;
+extern struct kmem_cache *lov_lock_link_kmem;
 
 int   lov_object_init     (const struct lu_env *env, struct lu_object *obj,
                            const struct lu_object_conf *conf);
@@ -586,6 +587,8 @@ int   lov_io_init_raid0   (const struct lu_env *env, struct cl_object *obj,
                            struct cl_io *io);
 int   lov_io_init_empty   (const struct lu_env *env, struct cl_object *obj,
                            struct cl_io *io);
+int   lov_io_init_released(const struct lu_env *env, struct cl_object *obj,
+                           struct cl_io *io);
 void  lov_lock_unlink     (const struct lu_env *env, struct lov_lock_link *link,
                            struct lovsub_lock *sub);
 
@@ -598,16 +601,16 @@ int   lov_sublock_modify  (const struct lu_env *env, struct lov_lock *lov,
 
 
 int   lov_page_init       (const struct lu_env *env, struct cl_object *ob,
-                           struct cl_page *page, cfs_page_t *vmpage);
+                          struct cl_page *page, struct page *vmpage);
 int   lovsub_page_init    (const struct lu_env *env, struct cl_object *ob,
-                           struct cl_page *page, cfs_page_t *vmpage);
+                          struct cl_page *page, struct page *vmpage);
 
 int   lov_page_init_empty (const struct lu_env *env,
                            struct cl_object *obj,
-                           struct cl_page *page, cfs_page_t *vmpage);
+                          struct cl_page *page, struct page *vmpage);
 int   lov_page_init_raid0 (const struct lu_env *env,
                            struct cl_object *obj,
-                           struct cl_page *page, cfs_page_t *vmpage);
+                          struct cl_page *page, struct page *vmpage);
 struct lu_object *lov_object_alloc   (const struct lu_env *env,
                                       const struct lu_object_header *hdr,
                                       struct lu_device *dev);