Whamcloud - gitweb
LU-14286 tests: reduce fallocate space sanity 150e
[fs/lustre-release.git] / lustre / llite / vvp_internal.h
index 2302957..6fbffa2 100644 (file)
@@ -46,13 +46,6 @@ struct obd_device;
 struct obd_export;
 struct page;
 
-enum vvp_io_subtype {
-       /** normal IO */
-       IO_NORMAL,
-       /** io started from splice_{read|write} */
-       IO_SPLICE,
-};
-
 /**
  * IO state private to VVP layer.
  */
@@ -91,19 +84,14 @@ struct vvp_io {
                        struct cl_page_list      ft_queue;
                } fault;
                struct {
-                       struct pipe_inode_info  *vui_pipe;
-                       unsigned int             vui_flags;
-               } splice;
-               struct {
                        struct cl_page_list vui_queue;
                        unsigned long vui_written;
+                       unsigned long vui_read;
                        int vui_from;
                        int vui_to;
-               } write;
+               } readwrite; /* normal io */
        } u;
 
-       enum vvp_io_subtype     vui_io_subtype;
-
        /**
         * Layout version when this IO is initialized
         */
@@ -245,7 +233,7 @@ static inline struct vvp_page *cl2vvp_page(const struct cl_page_slice *slice)
 
 static inline pgoff_t vvp_index(struct vvp_page *vpg)
 {
-       return vpg->vpg_cl.cpl_index;
+       return vpg->vpg_page->index;
 }
 
 struct vvp_device {
@@ -260,22 +248,22 @@ static inline struct lu_device *vvp2lu_dev(struct vvp_device *vdv)
 
 static inline struct vvp_device *lu2vvp_dev(const struct lu_device *d)
 {
-       return container_of0(d, struct vvp_device, vdv_cl.cd_lu_dev);
+       return container_of_safe(d, struct vvp_device, vdv_cl.cd_lu_dev);
 }
 
 static inline struct vvp_device *cl2vvp_dev(const struct cl_device *d)
 {
-       return container_of0(d, struct vvp_device, vdv_cl);
+       return container_of_safe(d, struct vvp_device, vdv_cl);
 }
 
 static inline struct vvp_object *cl2vvp(const struct cl_object *obj)
 {
-       return container_of0(obj, struct vvp_object, vob_cl);
+       return container_of_safe(obj, struct vvp_object, vob_cl);
 }
 
 static inline struct vvp_object *lu2vvp(const struct lu_object *obj)
 {
-       return container_of0(obj, struct vvp_object, vob_cl.co_lu);
+       return container_of_safe(obj, struct vvp_object, vob_cl.co_lu);
 }
 
 static inline struct inode *vvp_object_inode(const struct cl_object *obj)
@@ -320,8 +308,8 @@ int vvp_global_init(void);
 void vvp_global_fini(void);
 
 #ifndef HAVE_ACCOUNT_PAGE_DIRTIED_EXPORT
-typedef unsigned int (*vvp_account_page_dirtied)(struct page *page,
-                                                struct address_space *mapping);
+extern unsigned int (*vvp_account_page_dirtied)(struct page *page,
+                                               struct address_space *mapping);
 #endif
 
 extern const struct file_operations vvp_dump_pgcache_file_ops;