X-Git-Url: https://git.whamcloud.com/?a=blobdiff_plain;f=lustre%2Fllite%2Fvvp_page.c;h=93f8b9d05b2731a1a778986398b05978d28624ed;hb=fb4f05246a7e738bf6b759811a32ad8f8743cb6e;hp=41d49751c46821e0355981a7e6b432003a93bd0c;hpb=e3457782b1fa1bdc6d5170f20774112113dcab50;p=fs%2Flustre-release.git diff --git a/lustre/llite/vvp_page.c b/lustre/llite/vvp_page.c index 41d4975..93f8b9d 100644 --- a/lustre/llite/vvp_page.c +++ b/lustre/llite/vvp_page.c @@ -41,13 +41,9 @@ #define DEBUG_SUBSYSTEM S_LLITE -#ifndef __KERNEL__ -# error This file is kernel only. -#endif #include -#include - +#include "llite_internal.h" #include "vvp_internal.h" /***************************************************************************** @@ -427,9 +423,6 @@ static const struct cl_page_operations vvp_page_ops = { static void vvp_transient_page_verify(const struct cl_page *page) { - struct inode *inode = ccc_object_inode(page->cp_obj); - - LASSERT(!mutex_trylock(&inode->i_mutex)); } static int vvp_transient_page_own(const struct lu_env *env, @@ -503,8 +496,7 @@ static void vvp_transient_page_fini(const struct lu_env *env, struct ccc_object *clobj = cl2ccc(clp->cp_obj); vvp_page_fini_common(cp); - LASSERT(!mutex_trylock(&clobj->cob_inode->i_mutex)); - clobj->cob_transient_pages--; + atomic_dec(&clobj->cob_transient_pages); } static const struct cl_page_operations vvp_transient_page_ops = { @@ -551,10 +543,9 @@ int vvp_page_init(const struct lu_env *env, struct cl_object *obj, } else { struct ccc_object *clobj = cl2ccc(obj); - LASSERT(!mutex_trylock(&clobj->cob_inode->i_mutex)); cl_page_slice_add(page, &cpg->cpg_cl, obj, index, &vvp_transient_page_ops); - clobj->cob_transient_pages++; + atomic_inc(&clobj->cob_transient_pages); } return 0; }