diff options
author | Peter Zijlstra <a.p.zijlstra@chello.nl> | 2007-10-16 23:25:47 -0700 |
---|---|---|
committer | Linus Torvalds <torvalds@woody.linux-foundation.org> | 2007-10-17 08:42:45 -0700 |
commit | c9e51e4180696aa67915ec5665e4ec74125565de (patch) | |
tree | d66e1427b16e56bc7da0dfb583a6d8edb55a2c3e /fs/nfs/write.c | |
parent | b2e8fb6efa209c82203c79b491b5bc952d44aa57 (diff) | |
download | linux-stable-c9e51e4180696aa67915ec5665e4ec74125565de.tar.gz linux-stable-c9e51e4180696aa67915ec5665e4ec74125565de.tar.bz2 linux-stable-c9e51e4180696aa67915ec5665e4ec74125565de.zip |
mm: count reclaimable pages per BDI
Count per BDI reclaimable pages; nr_reclaimable = nr_dirty + nr_unstable.
Signed-off-by: Peter Zijlstra <a.p.zijlstra@chello.nl>
Signed-off-by: Andrew Morton <akpm@linux-foundation.org>
Signed-off-by: Linus Torvalds <torvalds@linux-foundation.org>
Diffstat (limited to 'fs/nfs/write.c')
-rw-r--r-- | fs/nfs/write.c | 7 |
1 files changed, 7 insertions, 0 deletions
diff --git a/fs/nfs/write.c b/fs/nfs/write.c index 82d7ee98c675..0cf9d1cd9bd2 100644 --- a/fs/nfs/write.c +++ b/fs/nfs/write.c @@ -447,6 +447,7 @@ nfs_mark_request_commit(struct nfs_page *req) NFS_PAGE_TAG_COMMIT); spin_unlock(&inode->i_lock); inc_zone_page_state(req->wb_page, NR_UNSTABLE_NFS); + inc_bdi_stat(req->wb_page->mapping->backing_dev_info, BDI_RECLAIMABLE); __mark_inode_dirty(inode, I_DIRTY_DATASYNC); } @@ -533,6 +534,8 @@ static void nfs_cancel_commit_list(struct list_head *head) while(!list_empty(head)) { req = nfs_list_entry(head->next); dec_zone_page_state(req->wb_page, NR_UNSTABLE_NFS); + dec_bdi_stat(req->wb_page->mapping->backing_dev_info, + BDI_RECLAIMABLE); nfs_list_remove_request(req); clear_bit(PG_NEED_COMMIT, &(req)->wb_flags); nfs_inode_remove_request(req); @@ -1193,6 +1196,8 @@ nfs_commit_list(struct inode *inode, struct list_head *head, int how) nfs_list_remove_request(req); nfs_mark_request_commit(req); dec_zone_page_state(req->wb_page, NR_UNSTABLE_NFS); + dec_bdi_stat(req->wb_page->mapping->backing_dev_info, + BDI_RECLAIMABLE); nfs_clear_page_tag_locked(req); } return -ENOMEM; @@ -1218,6 +1223,8 @@ static void nfs_commit_done(struct rpc_task *task, void *calldata) nfs_list_remove_request(req); clear_bit(PG_NEED_COMMIT, &(req)->wb_flags); dec_zone_page_state(req->wb_page, NR_UNSTABLE_NFS); + dec_bdi_stat(req->wb_page->mapping->backing_dev_info, + BDI_RECLAIMABLE); dprintk("NFS: commit (%s/%Ld %d@%Ld)", req->wb_context->path.dentry->d_inode->i_sb->s_id, |