diff options
Diffstat (limited to 'Documentation/filesystems')
-rw-r--r-- | Documentation/filesystems/vfs.txt | 10 |
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, |