Remove last traces of ->sync_page
[cascardo/linux.git] / Documentation / filesystems / Locking
index 75eea7c..08086dc 100644 (file)
@@ -179,7 +179,6 @@ unlocks and drops the reference.
 prototypes:
        int (*writepage)(struct page *page, struct writeback_control *wbc);
        int (*readpage)(struct file *, struct page *);
-       int (*sync_page)(struct page *);
        int (*writepages)(struct address_space *, struct writeback_control *);
        int (*set_page_dirty)(struct page *page);
        int (*readpages)(struct file *filp, struct address_space *mapping,
@@ -208,7 +207,6 @@ locking rules:
                        PageLocked(page)        i_mutex
 writepage:             yes, unlocks (see below)
 readpage:              yes, unlocks
-sync_page:             maybe
 writepages:
 set_page_dirty         no
 readpages:
@@ -226,8 +224,8 @@ error_remove_page:  yes
 swap_activate:         no
 swap_deactivate:       no
 
-       ->write_begin(), ->write_end(), ->sync_page() and ->readpage()
-may be called from the request handler (/dev/loop).
+       ->write_begin(), ->write_end() and ->readpage() may be called from
+the request handler (/dev/loop).
 
        ->readpage() unlocks the page, either synchronously or via I/O
 completion.
@@ -283,11 +281,6 @@ will leave the page itself marked clean but it will be tagged as dirty in the
 radix tree.  This incoherency can lead to all sorts of hard-to-debug problems
 in the filesystem like having dirty inodes at umount and losing written data.
 
-       ->sync_page() locking rules are not well-defined - usually it is called
-with lock on page, but that is not guaranteed. Considering the currently
-existing instances of this method ->sync_page() itself doesn't look
-well-defined...
-
        ->writepages() is used for periodic writeback and for syscall-initiated
 sync operations.  The address_space should start I/O against at least
 *nr_to_write pages.  *nr_to_write must be decremented for each page which is