aboutsummaryrefslogtreecommitdiffstats
path: root/Documentation/filesystems/vfs.txt
diff options
context:
space:
mode:
authorMel Gorman <mgorman@suse.de>2013-07-03 18:04:46 -0400
committerLinus Torvalds <torvalds@linux-foundation.org>2013-07-03 19:07:40 -0400
commit543cc115339baa44fbea877b3d8673aca652622f (patch)
treef30c129fbf9117fbfae42e4900a898978474d19b /Documentation/filesystems/vfs.txt
parent26c0c5bf38159673f0ae28c38fc9f90dbeb4d4aa (diff)
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/filesystems/vfs.txt')
-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 {
582 int (*launder_page) (struct page *); 582 int (*launder_page) (struct page *);
583 int (*is_partially_uptodate) (struct page *, read_descriptor_t *, 583 int (*is_partially_uptodate) (struct page *, read_descriptor_t *,
584 unsigned long); 584 unsigned long);
585 void (*is_dirty_writeback) (struct page *, bool *, bool *);
585 int (*error_remove_page) (struct mapping *mapping, struct page *page); 586 int (*error_remove_page) (struct mapping *mapping, struct page *page);
586 int (*swap_activate)(struct file *); 587 int (*swap_activate)(struct file *);
587 int (*swap_deactivate)(struct file *); 588 int (*swap_deactivate)(struct file *);
@@ -746,6 +747,15 @@ struct address_space_operations {
746 block is up to date then the read can complete without needing the IO 747 block is up to date then the read can complete without needing the IO
747 to bring the whole page up to date. 748 to bring the whole page up to date.
748 749
750 is_dirty_writeback: Called by the VM when attempting to reclaim a page.
751 The VM uses dirty and writeback information to determine if it needs
752 to stall to allow flushers a chance to complete some IO. Ordinarily
753 it can use PageDirty and PageWriteback but some filesystems have
754 more complex state (unstable pages in NFS prevent reclaim) or
755 do not set those flags due to locking problems (jbd). This callback
756 allows a filesystem to indicate to the VM if a page should be
757 treated as dirty or writeback for the purposes of stalling.
758
749 error_remove_page: normally set to generic_error_remove_page if truncation 759 error_remove_page: normally set to generic_error_remove_page if truncation
750 is ok for this address space. Used for memory failure handling. 760 is ok for this address space. Used for memory failure handling.
751 Setting this implies you deal with pages going away under you, 761 Setting this implies you deal with pages going away under you,