Re: [PATCH] vfs: remove unused wrapper block_page_mkwrite()

From: Jan Kara
Date: Tue Oct 13 2015 - 13:53:21 EST


On Tue 13-10-15 10:19:40, Ross Zwisler wrote:
> The function currently called "__block_page_mkwrite()" used to be called
> "block_page_mkwrite()" until a wrapper for this function was added by:
>
> commit 24da4fab5a61 ("vfs: Create __block_page_mkwrite() helper passing
> error values back")
>
> This wrapper, the current "block_page_mkwrite()", is currently unused.
> __block_page_mkwrite() is used directly by ext4, nilfs2 and xfs.
>
> Remove the unused wrapper and rename __block_page_mkwrite() back to
> block_page_mkwrite().
>
> Signed-off-by: Ross Zwisler <ross.zwisler@xxxxxxxxxxxxxxx>
> Cc: Jan Kara <jack@xxxxxxx>
> Cc: Christoph Hellwig <hch@xxxxxx>
> Cc: Al Viro <viro@xxxxxxxxxxxxxxxxxx>

Looks good. But can you please fix up comment before new
block_page_mkwrite() to state sb_start_pagefault() - sb_end_pagefault()
instead of sb_start_write() - sb_end_write? Thanks! You can add:

Reviewed-by: Jan Kara <jack@xxxxxxxx>

Honza

> ---
> fs/buffer.c | 22 +---------------------
> fs/ext4/inode.c | 4 ++--
> fs/nilfs2/file.c | 2 +-
> fs/xfs/xfs_file.c | 2 +-
> include/linux/buffer_head.h | 2 --
> 5 files changed, 5 insertions(+), 27 deletions(-)
>
> diff --git a/fs/buffer.c b/fs/buffer.c
> index 82283ab..7e496dc 100644
> --- a/fs/buffer.c
> +++ b/fs/buffer.c
> @@ -2422,7 +2422,7 @@ EXPORT_SYMBOL(block_commit_write);
> * Direct callers of this function should protect against filesystem freezing
> * using sb_start_write() - sb_end_write() functions.
> */
> -int __block_page_mkwrite(struct vm_area_struct *vma, struct vm_fault *vmf,
> +int block_page_mkwrite(struct vm_area_struct *vma, struct vm_fault *vmf,
> get_block_t get_block)
> {
> struct page *page = vmf->page;
> @@ -2459,26 +2459,6 @@ out_unlock:
> unlock_page(page);
> return ret;
> }
> -EXPORT_SYMBOL(__block_page_mkwrite);
> -
> -int block_page_mkwrite(struct vm_area_struct *vma, struct vm_fault *vmf,
> - get_block_t get_block)
> -{
> - int ret;
> - struct super_block *sb = file_inode(vma->vm_file)->i_sb;
> -
> - sb_start_pagefault(sb);
> -
> - /*
> - * Update file times before taking page lock. We may end up failing the
> - * fault so this update may be superfluous but who really cares...
> - */
> - file_update_time(vma->vm_file);
> -
> - ret = __block_page_mkwrite(vma, vmf, get_block);
> - sb_end_pagefault(sb);
> - return block_page_mkwrite_return(ret);
> -}
> EXPORT_SYMBOL(block_page_mkwrite);
>
> /*
> diff --git a/fs/ext4/inode.c b/fs/ext4/inode.c
> index 612fbcf..2d1ecd2 100644
> --- a/fs/ext4/inode.c
> +++ b/fs/ext4/inode.c
> @@ -5244,7 +5244,7 @@ int ext4_page_mkwrite(struct vm_area_struct *vma, struct vm_fault *vmf)
> !ext4_should_journal_data(inode) &&
> !ext4_nonda_switch(inode->i_sb)) {
> do {
> - ret = __block_page_mkwrite(vma, vmf,
> + ret = block_page_mkwrite(vma, vmf,
> ext4_da_get_block_prep);
> } while (ret == -ENOSPC &&
> ext4_should_retry_alloc(inode->i_sb, &retries));
> @@ -5291,7 +5291,7 @@ retry_alloc:
> ret = VM_FAULT_SIGBUS;
> goto out;
> }
> - ret = __block_page_mkwrite(vma, vmf, get_block);
> + ret = block_page_mkwrite(vma, vmf, get_block);
> if (!ret && ext4_should_journal_data(inode)) {
> if (ext4_walk_page_buffers(handle, page_buffers(page), 0,
> PAGE_CACHE_SIZE, NULL, do_journal_get_write_access)) {
> diff --git a/fs/nilfs2/file.c b/fs/nilfs2/file.c
> index 54575e3..088ba00 100644
> --- a/fs/nilfs2/file.c
> +++ b/fs/nilfs2/file.c
> @@ -109,7 +109,7 @@ static int nilfs_page_mkwrite(struct vm_area_struct *vma, struct vm_fault *vmf)
> goto out;
>
> file_update_time(vma->vm_file);
> - ret = __block_page_mkwrite(vma, vmf, nilfs_get_block);
> + ret = block_page_mkwrite(vma, vmf, nilfs_get_block);
> if (ret) {
> nilfs_transaction_abort(inode->i_sb);
> goto out;
> diff --git a/fs/xfs/xfs_file.c b/fs/xfs/xfs_file.c
> index e78feb4..f80e90f 100644
> --- a/fs/xfs/xfs_file.c
> +++ b/fs/xfs/xfs_file.c
> @@ -1506,7 +1506,7 @@ xfs_filemap_page_mkwrite(
> ret = __dax_mkwrite(vma, vmf, xfs_get_blocks_direct,
> xfs_end_io_dax_write);
> } else {
> - ret = __block_page_mkwrite(vma, vmf, xfs_get_blocks);
> + ret = block_page_mkwrite(vma, vmf, xfs_get_blocks);
> ret = block_page_mkwrite_return(ret);
> }
>
> diff --git a/include/linux/buffer_head.h b/include/linux/buffer_head.h
> index e6797de..89d9aa9 100644
> --- a/include/linux/buffer_head.h
> +++ b/include/linux/buffer_head.h
> @@ -227,8 +227,6 @@ int cont_write_begin(struct file *, struct address_space *, loff_t,
> get_block_t *, loff_t *);
> int generic_cont_expand_simple(struct inode *inode, loff_t size);
> int block_commit_write(struct page *page, unsigned from, unsigned to);
> -int __block_page_mkwrite(struct vm_area_struct *vma, struct vm_fault *vmf,
> - get_block_t get_block);
> int block_page_mkwrite(struct vm_area_struct *vma, struct vm_fault *vmf,
> get_block_t get_block);
> /* Convert errno to return value from ->page_mkwrite() call */
> --
> 2.1.0
>
--
Jan Kara <jack@xxxxxxxx>
SUSE Labs, CR
--
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/