nfs: define nfs_inc_fscache_stats and using it as possible

Define and use nfs_inc_fscache_stats when plus one, which can save to
pass one parameter.

Signed-off-by: Li RongQing <roy.qing.li@gmail.com>
Signed-off-by: Trond Myklebust <trond.myklebust@primarydata.com>
This commit is contained in:
Li RongQing 2014-11-23 12:47:41 +08:00 committed by Trond Myklebust
parent 5a254d08b0
commit e9f456ca50
2 changed files with 17 additions and 12 deletions

View File

@ -269,8 +269,8 @@ int nfs_fscache_release_page(struct page *page, gfp_t gfp)
if (!fscache_maybe_release_page(cookie, page, gfp)) if (!fscache_maybe_release_page(cookie, page, gfp))
return 0; return 0;
nfs_add_fscache_stats(page->mapping->host, nfs_inc_fscache_stats(page->mapping->host,
NFSIOS_FSCACHE_PAGES_UNCACHED, 1); NFSIOS_FSCACHE_PAGES_UNCACHED);
} }
return 1; return 1;
@ -293,8 +293,8 @@ void __nfs_fscache_invalidate_page(struct page *page, struct inode *inode)
BUG_ON(!PageLocked(page)); BUG_ON(!PageLocked(page));
fscache_uncache_page(cookie, page); fscache_uncache_page(cookie, page);
nfs_add_fscache_stats(page->mapping->host, nfs_inc_fscache_stats(page->mapping->host,
NFSIOS_FSCACHE_PAGES_UNCACHED, 1); NFSIOS_FSCACHE_PAGES_UNCACHED);
} }
/* /*
@ -343,19 +343,19 @@ int __nfs_readpage_from_fscache(struct nfs_open_context *ctx,
case 0: /* read BIO submitted (page in fscache) */ case 0: /* read BIO submitted (page in fscache) */
dfprintk(FSCACHE, dfprintk(FSCACHE,
"NFS: readpage_from_fscache: BIO submitted\n"); "NFS: readpage_from_fscache: BIO submitted\n");
nfs_add_fscache_stats(inode, NFSIOS_FSCACHE_PAGES_READ_OK, 1); nfs_inc_fscache_stats(inode, NFSIOS_FSCACHE_PAGES_READ_OK);
return ret; return ret;
case -ENOBUFS: /* inode not in cache */ case -ENOBUFS: /* inode not in cache */
case -ENODATA: /* page not in cache */ case -ENODATA: /* page not in cache */
nfs_add_fscache_stats(inode, NFSIOS_FSCACHE_PAGES_READ_FAIL, 1); nfs_inc_fscache_stats(inode, NFSIOS_FSCACHE_PAGES_READ_FAIL);
dfprintk(FSCACHE, dfprintk(FSCACHE,
"NFS: readpage_from_fscache %d\n", ret); "NFS: readpage_from_fscache %d\n", ret);
return 1; return 1;
default: default:
dfprintk(FSCACHE, "NFS: readpage_from_fscache %d\n", ret); dfprintk(FSCACHE, "NFS: readpage_from_fscache %d\n", ret);
nfs_add_fscache_stats(inode, NFSIOS_FSCACHE_PAGES_READ_FAIL, 1); nfs_inc_fscache_stats(inode, NFSIOS_FSCACHE_PAGES_READ_FAIL);
} }
return ret; return ret;
} }
@ -429,11 +429,11 @@ void __nfs_readpage_to_fscache(struct inode *inode, struct page *page, int sync)
if (ret != 0) { if (ret != 0) {
fscache_uncache_page(nfs_i_fscache(inode), page); fscache_uncache_page(nfs_i_fscache(inode), page);
nfs_add_fscache_stats(inode, nfs_inc_fscache_stats(inode,
NFSIOS_FSCACHE_PAGES_WRITTEN_FAIL, 1); NFSIOS_FSCACHE_PAGES_WRITTEN_FAIL);
nfs_add_fscache_stats(inode, NFSIOS_FSCACHE_PAGES_UNCACHED, 1); nfs_inc_fscache_stats(inode, NFSIOS_FSCACHE_PAGES_UNCACHED);
} else { } else {
nfs_add_fscache_stats(inode, nfs_inc_fscache_stats(inode,
NFSIOS_FSCACHE_PAGES_WRITTEN_OK, 1); NFSIOS_FSCACHE_PAGES_WRITTEN_OK);
} }
} }

View File

@ -55,6 +55,11 @@ static inline void nfs_add_fscache_stats(struct inode *inode,
{ {
this_cpu_add(NFS_SERVER(inode)->io_stats->fscache[stat], addend); this_cpu_add(NFS_SERVER(inode)->io_stats->fscache[stat], addend);
} }
static inline void nfs_inc_fscache_stats(struct inode *inode,
enum nfs_stat_fscachecounters stat)
{
this_cpu_inc(NFS_SERVER(inode)->io_stats->fscache[stat]);
}
#endif #endif
static inline struct nfs_iostats __percpu *nfs_alloc_iostats(void) static inline struct nfs_iostats __percpu *nfs_alloc_iostats(void)