Whamcloud - gitweb
LU-10994 lov: remove lov_page
[fs/lustre-release.git] / lustre / lov / lov_page.c
index 887b304..73d92e5 100644 (file)
@@ -37,6 +37,8 @@
 #define DEBUG_SUBSYSTEM S_LOV
 
 #include "lov_cl_internal.h"
+#include <linux/bug.h>
+#include <linux/compiler.h>
 
 /** \addtogroup lov
  *  @{
  * Lov page operations.
  *
  */
-
-static int lov_comp_page_print(const struct lu_env *env,
-                              const struct cl_page_slice *slice,
-                              void *cookie, lu_printer_t printer)
-{
-       struct lov_page *lp = cl2lov_page(slice);
-
-       return (*printer)(env, cookie,
-                         LUSTRE_LOV_NAME"-page@%p\n", lp);
-}
-
-static const struct cl_page_operations lov_comp_page_ops = {
-       .cpo_print = lov_comp_page_print
-};
-
 int lov_page_init_composite(const struct lu_env *env, struct cl_object *obj,
                            struct cl_page *page, pgoff_t index)
 {
@@ -70,7 +57,6 @@ int lov_page_init_composite(const struct lu_env *env, struct cl_object *obj,
        struct cl_object *subobj;
        struct cl_object *o;
        struct lov_io_sub *sub;
-       struct lov_page *lpg = cl_object_page_slice(obj, page);
        struct lov_layout_raid0 *r0;
        loff_t offset;
        loff_t suboff;
@@ -119,7 +105,7 @@ int lov_page_init_composite(const struct lu_env *env, struct cl_object *obj,
               offset, entry, stripe, suboff);
 
        page->cp_lov_index = lov_comp_index(entry, stripe);
-       cl_page_slice_add(page, &lpg->lps_cl, obj, &lov_comp_page_ops);
+       LASSERT(page->cp_lov_index != CP_LOV_INDEX_EMPTY);
 
        if (!stripe_cached) {
                sub = lov_sub_get(env, lio, page->cp_lov_index);
@@ -147,29 +133,15 @@ int lov_page_init_composite(const struct lu_env *env, struct cl_object *obj,
        RETURN(rc);
 }
 
-static int lov_empty_page_print(const struct lu_env *env,
-                               const struct cl_page_slice *slice,
-                               void *cookie, lu_printer_t printer)
-{
-       struct lov_page *lp = cl2lov_page(slice);
-
-       return (*printer)(env, cookie, LUSTRE_LOV_NAME"-page@%p, empty.\n", lp);
-}
-
-static const struct cl_page_operations lov_empty_page_ops = {
-       .cpo_print = lov_empty_page_print
-};
-
 int lov_page_init_empty(const struct lu_env *env, struct cl_object *obj,
                        struct cl_page *page, pgoff_t index)
 {
-       struct lov_page *lpg = cl_object_page_slice(obj, page);
        void *addr;
 
        ENTRY;
+       BUILD_BUG_ON(!__same_type(page->cp_lov_index, CP_LOV_INDEX_EMPTY));
+       page->cp_lov_index = CP_LOV_INDEX_EMPTY;
 
-       page->cp_lov_index = ~0;
-       cl_page_slice_add(page, &lpg->lps_cl, obj, &lov_empty_page_ops);
        addr = kmap(page->cp_vmpage);
        memset(addr, 0, cl_page_size(obj));
        kunmap(page->cp_vmpage);
@@ -184,14 +156,4 @@ int lov_page_init_foreign(const struct lu_env *env, struct cl_object *obj,
        RETURN(-ENODATA);
 }
 
-bool lov_page_is_empty(const struct cl_page *page)
-{
-       const struct cl_page_slice *slice = cl_page_at(page, &lov_device_type);
-
-       LASSERT(slice != NULL);
-       return slice->cpl_ops == &lov_empty_page_ops;
-}
-
-
 /** @} lov */
-