aboutsummaryrefslogtreecommitdiffstats
path: root/Documentation
diff options
context:
space:
mode:
authorMel Gorman <mgorman@suse.de>2013-07-03 15:04:46 -0700
committerLinus Torvalds <torvalds@linux-foundation.org>2013-07-03 16:07:40 -0700
commit543cc115339baa44fbea877b3d8673aca652622f (patch)
treef30c129fbf9117fbfae42e4900a898978474d19b /Documentation
parentdocumentation: update address_space_operations (diff)
downloadlinux-dev-543cc115339baa44fbea877b3d8673aca652622f.tar.xz
linux-dev-543cc115339baa44fbea877b3d8673aca652622f.zip
documentation: document the is_dirty_writeback aops callback
Signed-off-by: Mel Gorman <mgorman@suse.de> Signed-off-by: Andrew Morton <akpm@linux-foundation.org> Signed-off-by: Linus Torvalds <torvalds@linux-foundation.org>
Diffstat (limited to 'Documentation')
-rw-r--r--Documentation/filesystems/vfs.txt10
1 files changed, 10 insertions, 0 deletions
diff --git a/Documentation/filesystems/vfs.txt b/Documentation/filesystems/vfs.txt
index fc5d2a1d26c0..f93a88250a44 100644
--- a/Documentation/filesystems/vfs.txt
+++ b/Documentation/filesystems/vfs.txt
@@ -582,6 +582,7 @@ struct address_space_operations {
int (*launder_page) (struct page *);
int (*is_partially_uptodate) (struct page *, read_descriptor_t *,
unsigned long);
+ void (*is_dirty_writeback) (struct page *, bool *, bool *);
int (*error_remove_page) (struct mapping *mapping, struct page *page);
int (*swap_activate)(struct file *);
int (*swap_deactivate)(struct file *);
@@ -746,6 +747,15 @@ struct address_space_operations {
block is up to date then the read can complete without needing the IO
to bring the whole page up to date.
+ is_dirty_writeback: Called by the VM when attempting to reclaim a page.
+ The VM uses dirty and writeback information to determine if it needs
+ to stall to allow flushers a chance to complete some IO. Ordinarily
+ it can use PageDirty and PageWriteback but some filesystems have
+ more complex state (unstable pages in NFS prevent reclaim) or
+ do not set those flags due to locking problems (jbd). This callback
+ allows a filesystem to indicate to the VM if a page should be
+ treated as dirty or writeback for the purposes of stalling.
+
error_remove_page: normally set to generic_error_remove_page if truncation
is ok for this address space. Used for memory failure handling.
Setting this implies you deal with pages going away under you,