-static void vvp_page_completion_common(const struct lu_env *env,
- struct ccc_page *cp, int ioret)
-{
- struct cl_page *clp = cp->cpg_cl.cpl_page;
- cfs_page_t *vmpage = cp->cpg_page;
- struct inode *inode = ccc_object_inode(clp->cp_obj);
- struct cl_sync_io *anchor = cp->cpg_sync_io;
-
- LINVRNT(cl_page_is_vmlocked(env, clp));
-
- /* Don't assert the page writeback bit here because the lustre file
- * may be as a backend of swap space. in this case, the page writeback
- * is set by VM, and obvious we shouldn't clear it at all. Fortunately
- * this type of pages are all TRANSIENT pages. */
- KLASSERT(ergo(clp->cp_type == CPT_CACHEABLE, !PageWriteback(vmpage)));
-
- vvp_vmpage_error(inode, vmpage, ioret);
-
- if (anchor != NULL) {
- cp->cpg_sync_io = NULL;
- cl_sync_io_note(anchor, ioret);
- } else if (clp->cp_type == CPT_CACHEABLE)
- unlock_page(vmpage);
-}
-