lu_printer_t printer,
const struct cl_page *pg);
struct cl_page *cl_vmpage_page (struct page *vmpage, struct cl_object *obj);
-struct cl_page *cl_page_top (struct cl_page *page);
-
-const struct cl_page_slice *cl_page_at(const struct cl_page *page,
- const struct lu_device_type *dtype);
/**
* \name ownership
int vvp_object_invariant(const struct cl_object *obj);
struct vvp_object *cl_inode2vvp(struct inode *inode);
-static inline struct page *cl2vm_page(const struct cl_page_slice *slice)
-{
- return slice->cpl_page->cp_vmpage;
-}
-
#ifdef CONFIG_LUSTRE_DEBUG_EXPENSIVE_CHECK
# define CLOBINVRNT(env, clob, expr) \
do { \
slice = cl_page_slice_get(cl_page, i); i >= 0; \
slice = cl_page_slice_get(cl_page, --i))
-/**
- * Returns a slice within a cl_page, corresponding to the given layer in the
- * device stack.
- *
- * \see cl_lock_at()
- */
-static const struct cl_page_slice *
-cl_page_at_trusted(const struct cl_page *cl_page,
- const struct lu_device_type *dtype)
-{
- const struct cl_page_slice *slice;
- int i;
-
- ENTRY;
-
- cl_page_slice_for_each(cl_page, slice, i) {
- if (slice->cpl_obj->co_lu.lo_dev->ld_type == dtype)
- RETURN(slice);
- }
-
- RETURN(NULL);
-}
-
static void __cl_page_free(struct cl_page *cl_page, unsigned short bufsize)
{
int index = cl_page->cp_kmem_index;
}
EXPORT_SYMBOL(cl_vmpage_page);
-const struct cl_page_slice *cl_page_at(const struct cl_page *page,
- const struct lu_device_type *dtype)
-{
- return cl_page_at_trusted(page, dtype);
-}
-EXPORT_SYMBOL(cl_page_at);
-
static void cl_page_owner_clear(struct cl_page *page)
{
ENTRY;