Whamcloud - gitweb
LU-6203 tests: early lock cancel to allow early copytool death
[fs/lustre-release.git] / lustre / llite / vvp_internal.h
index 1f93a64..f9396d6 100644 (file)
@@ -172,17 +172,12 @@ struct vvp_io {
        bool            vui_ra_valid;
 };
 
-/**
- * True, if \a io is a normal io, False for other splice_{read,write}.
- * must be impementated in arch specific code.
- */
-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 vvp_session_key;
 
 extern struct kmem_cache *vvp_lock_kmem;
 extern struct kmem_cache *vvp_object_kmem;
+extern struct kmem_cache *vvp_req_kmem;
 
 struct ccc_thread_info {
        struct cl_lock          cti_lock;
@@ -328,40 +323,18 @@ struct vvp_lock {
        struct cl_lock_slice vlk_cl;
 };
 
-struct ccc_req {
-       struct cl_req_slice  crq_cl;
+struct vvp_req {
+       struct cl_req_slice vrq_cl;
 };
 
 void *ccc_key_init(const struct lu_context *ctx, struct lu_context_key *key);
 void ccc_key_fini(const struct lu_context *ctx, struct lu_context_key *key,
                  void *data);
 
-int ccc_req_init(const struct lu_env *env, struct cl_device *dev,
-                struct cl_req *req);
 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 vvp_io_one_lock_index(const struct lu_env *env, struct cl_io *io,
-                         __u32 enqflags, enum cl_lock_mode mode,
-                         pgoff_t start, pgoff_t end);
-int vvp_io_one_lock(const struct lu_env *env, struct cl_io *io,
-                   __u32 enqflags, enum cl_lock_mode mode,
-                   loff_t start, loff_t end);
-void vvp_io_end(const struct lu_env *env, const struct cl_io_slice *ios);
-void vvp_io_advance(const struct lu_env *env, const struct cl_io_slice *ios,
-                   size_t nob);
-void vvp_io_update_iov(const struct lu_env *env, struct vvp_io *cio,
-                      struct cl_io *io);
-int ccc_prep_size(const struct lu_env *env, struct cl_object *obj,
-                 struct cl_io *io, loff_t start, size_t count, int *exceed);
-void ccc_req_completion(const struct lu_env *env,
-                       const struct cl_req_slice *slice, int ioret);
-void ccc_req_attr_set(const struct lu_env *env,
-                     const struct cl_req_slice *slice,
-                     const struct cl_object *obj,
-                     struct cl_req_attr *oa, obd_valid flags);
-
 static inline struct lu_device *vvp2lu_dev(struct vvp_device *vdv)
 {
        return &vdv->vdv_cl.cd_lu_dev;
@@ -405,10 +378,6 @@ static inline struct vvp_lock *cl2vvp_lock(const struct cl_lock_slice *slice)
        return container_of(slice, struct vvp_lock, vlk_cl);
 }
 
-struct vvp_io *cl2vvp_io(const struct lu_env *env,
-                        const struct cl_io_slice *slice);
-struct ccc_req *cl2ccc_req(const struct cl_req_slice *slice);
-
 int cl_setattr_ost(struct inode *inode, const struct iattr *attr,
                   struct obd_capa *capa);
 
@@ -474,10 +443,13 @@ enum {
 
 int vvp_io_init(const struct lu_env *env, struct cl_object *obj,
                struct cl_io *io);
+int vvp_io_write_commit(const struct lu_env *env, struct cl_io *io);
 int vvp_lock_init(const struct lu_env *env, struct cl_object *obj,
                  struct cl_lock *lock, const struct cl_io *io);
 int vvp_page_init(const struct lu_env *env, struct cl_object *obj,
                  struct cl_page *page, pgoff_t index);
+int vvp_req_init(const struct lu_env *env, struct cl_device *dev,
+                struct cl_req *req);
 struct lu_object *vvp_object_alloc(const struct lu_env *env,
                                   const struct lu_object_header *hdr,
                                   struct lu_device *dev);