浏览代码

Remove last traces of ->sync_page

Commit 7eaceaccab5f removed ->sync_page, but a few mentions of it still
existed in documentation and comments,

Signed-off-by: Matthew Wilcox <matthew.r.wilcox@intel.com>
Signed-off-by: Al Viro <viro@zeniv.linux.org.uk>
Matthew Wilcox 9 年之前
父节点
当前提交
f4e6d844bd
共有 5 个文件被更改,包括 7 次插入18 次删除
  1. 1 2
      Documentation/block/biodoc.txt
  2. 2 9
      Documentation/filesystems/Locking
  3. 3 5
      Documentation/filesystems/vfs.txt
  4. 0 1
      fs/isofs/compress.c
  5. 1 1
      fs/ntfs/inode.c

+ 1 - 2
Documentation/block/biodoc.txt

@@ -1024,8 +1024,7 @@ could be on demand. For example wait_on_buffer sets the unplugging going
 through sync_buffer() running blk_run_address_space(mapping). Or the caller
 through sync_buffer() running blk_run_address_space(mapping). Or the caller
 can do it explicity through blk_unplug(bdev). So in the read case,
 can do it explicity through blk_unplug(bdev). So in the read case,
 the queue gets explicitly unplugged as part of waiting for completion on that
 the queue gets explicitly unplugged as part of waiting for completion on that
-buffer. For page driven IO, the address space ->sync_page() takes care of
-doing the blk_run_address_space().
+buffer.
 
 
 Aside:
 Aside:
   This is kind of controversial territory, as it's not clear if plugging is
   This is kind of controversial territory, as it's not clear if plugging is

+ 2 - 9
Documentation/filesystems/Locking

@@ -179,7 +179,6 @@ unlocks and drops the reference.
 prototypes:
 prototypes:
 	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,
@@ -208,7 +207,6 @@ locking rules:
 			PageLocked(page)	i_mutex
 			PageLocked(page)	i_mutex
 writepage:		yes, unlocks (see below)
 writepage:		yes, unlocks (see below)
 readpage:		yes, unlocks
 readpage:		yes, unlocks
-sync_page:		maybe
 writepages:
 writepages:
 set_page_dirty		no
 set_page_dirty		no
 readpages:
 readpages:
@@ -226,8 +224,8 @@ error_remove_page:	yes
 swap_activate:		no
 swap_activate:		no
 swap_deactivate:	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
 	->readpage() unlocks the page, either synchronously or via I/O
 completion.
 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
 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.
 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
 	->writepages() is used for periodic writeback and for syscall-initiated
 sync operations.  The address_space should start I/O against at least
 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
 *nr_to_write pages.  *nr_to_write must be decremented for each page which is

+ 3 - 5
Documentation/filesystems/vfs.txt

@@ -534,9 +534,7 @@ __sync_single_inode) to check if ->writepages has been successful in
 writing out the whole address_space.
 writing out the whole address_space.
 
 
 The Writeback tag is used by filemap*wait* and sync_page* functions,
 The Writeback tag is used by filemap*wait* and sync_page* functions,
-via filemap_fdatawait_range, to wait for all writeback to
-complete.  While waiting ->sync_page (if defined) will be called on
-each page that is found to require writeback.
+via filemap_fdatawait_range, to wait for all writeback to complete.
 
 
 An address_space handler may attach extra information to a page,
 An address_space handler may attach extra information to a page,
 typically using the 'private' field in the 'struct page'.  If such
 typically using the 'private' field in the 'struct page'.  If such
@@ -554,8 +552,8 @@ address_space has finer control of write sizes.
 
 
 The read process essentially only requires 'readpage'.  The write
 The read process essentially only requires 'readpage'.  The write
 process is more complicated and uses write_begin/write_end or
 process is more complicated and uses write_begin/write_end or
-set_page_dirty to write data into the address_space, and writepage,
-sync_page, and writepages to writeback data to storage.
+set_page_dirty to write data into the address_space, and writepage
+and writepages to writeback data to storage.
 
 
 Adding and removing pages to/from an address_space is protected by the
 Adding and removing pages to/from an address_space is protected by the
 inode's i_mutex.
 inode's i_mutex.

+ 0 - 1
fs/isofs/compress.c

@@ -361,7 +361,6 @@ static int zisofs_readpage(struct file *file, struct page *page)
 
 
 const struct address_space_operations zisofs_aops = {
 const struct address_space_operations zisofs_aops = {
 	.readpage = zisofs_readpage,
 	.readpage = zisofs_readpage,
-	/* No sync_page operation supported? */
 	/* No bmap operation supported */
 	/* No bmap operation supported */
 };
 };
 
 

+ 1 - 1
fs/ntfs/inode.c

@@ -1854,7 +1854,7 @@ int ntfs_read_inode_mount(struct inode *vi)
 	/* Need this to sanity check attribute list references to $MFT. */
 	/* Need this to sanity check attribute list references to $MFT. */
 	vi->i_generation = ni->seq_no = le16_to_cpu(m->sequence_number);
 	vi->i_generation = ni->seq_no = le16_to_cpu(m->sequence_number);
 
 
-	/* Provides readpage() and sync_page() for map_mft_record(). */
+	/* Provides readpage() for map_mft_record(). */
 	vi->i_mapping->a_ops = &ntfs_mst_aops;
 	vi->i_mapping->a_ops = &ntfs_mst_aops;
 
 
 	ctx = ntfs_attr_get_search_ctx(ni, m);
 	ctx = ntfs_attr_get_search_ctx(ni, m);