Commit 26c0c5bf authored by Mel Gorman's avatar Mel Gorman Committed by Linus Torvalds

documentation: update address_space_operations

The documentation for address_space_operations is partially out of date.
Signed-off-by: default avatarMel Gorman <mgorman@suse.de>
Signed-off-by: default avatarAndrew Morton <akpm@linux-foundation.org>
Signed-off-by: default avatarLinus Torvalds <torvalds@linux-foundation.org>
parent 55878e88
...@@ -559,7 +559,6 @@ your filesystem. The following members are defined: ...@@ -559,7 +559,6 @@ your filesystem. The following members are defined:
struct address_space_operations { struct address_space_operations {
int (*writepage)(struct page *page, struct writeback_control *wbc); int (*writepage)(struct page *page, struct writeback_control *wbc);
int (*readpage)(struct file *, struct page *); int (*readpage)(struct file *, struct page *);
int (*sync_page)(struct page *);
int (*writepages)(struct address_space *, struct writeback_control *); int (*writepages)(struct address_space *, struct writeback_control *);
int (*set_page_dirty)(struct page *page); int (*set_page_dirty)(struct page *page);
int (*readpages)(struct file *filp, struct address_space *mapping, int (*readpages)(struct file *filp, struct address_space *mapping,
...@@ -581,6 +580,8 @@ struct address_space_operations { ...@@ -581,6 +580,8 @@ struct address_space_operations {
/* migrate the contents of a page to the specified target */ /* migrate the contents of a page to the specified target */
int (*migratepage) (struct page *, struct page *); int (*migratepage) (struct page *, struct page *);
int (*launder_page) (struct page *); int (*launder_page) (struct page *);
int (*is_partially_uptodate) (struct page *, read_descriptor_t *,
unsigned long);
int (*error_remove_page) (struct mapping *mapping, struct page *page); int (*error_remove_page) (struct mapping *mapping, struct page *page);
int (*swap_activate)(struct file *); int (*swap_activate)(struct file *);
int (*swap_deactivate)(struct file *); int (*swap_deactivate)(struct file *);
...@@ -612,13 +613,6 @@ struct address_space_operations { ...@@ -612,13 +613,6 @@ struct address_space_operations {
In this case, the page will be relocated, relocked and if In this case, the page will be relocated, relocked and if
that all succeeds, ->readpage will be called again. that all succeeds, ->readpage will be called again.
sync_page: called by the VM to notify the backing store to perform all
queued I/O operations for a page. I/O operations for other pages
associated with this address_space object may also be performed.
This function is optional and is called only for pages with
PG_Writeback set while waiting for the writeback to complete.
writepages: called by the VM to write out pages associated with the writepages: called by the VM to write out pages associated with the
address_space object. If wbc->sync_mode is WBC_SYNC_ALL, then address_space object. If wbc->sync_mode is WBC_SYNC_ALL, then
the writeback_control will specify a range of pages that must be the writeback_control will specify a range of pages that must be
...@@ -747,6 +741,11 @@ struct address_space_operations { ...@@ -747,6 +741,11 @@ struct address_space_operations {
prevent redirtying the page, it is kept locked during the whole prevent redirtying the page, it is kept locked during the whole
operation. operation.
is_partially_uptodate: Called by the VM when reading a file through the
pagecache when the underlying blocksize != pagesize. If the required
block is up to date then the read can complete without needing the IO
to bring the whole page up to date.
error_remove_page: normally set to generic_error_remove_page if truncation error_remove_page: normally set to generic_error_remove_page if truncation
is ok for this address space. Used for memory failure handling. is ok for this address space. Used for memory failure handling.
Setting this implies you deal with pages going away under you, Setting this implies you deal with pages going away under you,
......
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment