summaryrefslogtreecommitdiff
path: root/fs/ceph
diff options
context:
space:
mode:
authorMichael Rubin <mrubin@google.com>2010-08-20 09:31:26 (GMT)
committerSage Weil <sage@newdream.net>2010-08-22 22:16:51 (GMT)
commit679ceace848e9fd570678396ffe1ef034e00e82d (patch)
tree670768527852f134cfe3e20d425534a16edd968a /fs/ceph
parenteb6bb1c5bdc6e455a9d16cb845cc65afc9b0a617 (diff)
downloadlinux-fsl-qoriq-679ceace848e9fd570678396ffe1ef034e00e82d.tar.xz
mm: exporting account_page_dirty
This allows code outside of the mm core to safely manipulate page state and not worry about the other accounting. Not using these routines means that some code will lose track of the accounting and we get bugs. This has happened once already. Signed-off-by: Michael Rubin <mrubin@google.com> Signed-off-by: Sage Weil <sage@newdream.net>
Diffstat (limited to 'fs/ceph')
-rw-r--r--fs/ceph/addr.c8
1 files changed, 1 insertions, 7 deletions
diff --git a/fs/ceph/addr.c b/fs/ceph/addr.c
index 5598a0d..420d469 100644
--- a/fs/ceph/addr.c
+++ b/fs/ceph/addr.c
@@ -105,13 +105,7 @@ static int ceph_set_page_dirty(struct page *page)
spin_lock_irq(&mapping->tree_lock);
if (page->mapping) { /* Race with truncate? */
WARN_ON_ONCE(!PageUptodate(page));
-
- if (mapping_cap_account_dirty(mapping)) {
- __inc_zone_page_state(page, NR_FILE_DIRTY);
- __inc_bdi_stat(mapping->backing_dev_info,
- BDI_RECLAIMABLE);
- task_io_account_write(PAGE_CACHE_SIZE);
- }
+ account_page_dirtied(page, page->mapping);
radix_tree_tag_set(&mapping->page_tree,
page_index(page), PAGECACHE_TAG_DIRTY);