Răsfoiți Sursa

documentation: update address_space_operations

The documentation for address_space_operations is partially out of date.

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>
Mel Gorman 12 ani în urmă
părinte
comite
26c0c5bf38
1 a modificat fișierele cu 7 adăugiri și 8 ștergeri
  1. 7 8
      Documentation/filesystems/vfs.txt

+ 7 - 8
Documentation/filesystems/vfs.txt

@@ -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 {
 	/* 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 {
        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 {
   	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,