2023-06-26 05:58:37

by Bean Huo

[permalink] [raw]
Subject: [RESEND PATCH v3 1/2] fs/buffer: clean up block_commit_write

From: Bean Huo <[email protected]>

Originally inode is used to get blksize, after commit 45bce8f3e343
("fs/buffer.c: make block-size be per-page and protected by the page lock"),
__block_commit_write no longer uses this parameter inode.

Signed-off-by: Bean Huo <[email protected]>
---
fs/buffer.c | 10 ++++------
1 file changed, 4 insertions(+), 6 deletions(-)

diff --git a/fs/buffer.c b/fs/buffer.c
index bd091329026c..50821dfb02f7 100644
--- a/fs/buffer.c
+++ b/fs/buffer.c
@@ -2180,8 +2180,7 @@ int __block_write_begin(struct page *page, loff_t pos, unsigned len,
}
EXPORT_SYMBOL(__block_write_begin);

-static int __block_commit_write(struct inode *inode, struct folio *folio,
- size_t from, size_t to)
+static int __block_commit_write(struct folio *folio, size_t from, size_t to)
{
size_t block_start, block_end;
bool partial = false;
@@ -2277,7 +2276,7 @@ int block_write_end(struct file *file, struct address_space *mapping,
flush_dcache_folio(folio);

/* This could be a short (even 0-length) commit */
- __block_commit_write(inode, folio, start, start + copied);
+ __block_commit_write(folio, start, start + copied);

return copied;
}
@@ -2601,8 +2600,7 @@ EXPORT_SYMBOL(cont_write_begin);
int block_commit_write(struct page *page, unsigned from, unsigned to)
{
struct folio *folio = page_folio(page);
- struct inode *inode = folio->mapping->host;
- __block_commit_write(inode, folio, from, to);
+ __block_commit_write(folio, from, to);
return 0;
}
EXPORT_SYMBOL(block_commit_write);
@@ -2650,7 +2648,7 @@ int block_page_mkwrite(struct vm_area_struct *vma, struct vm_fault *vmf,

ret = __block_write_begin_int(folio, 0, end, get_block, NULL);
if (!ret)
- ret = __block_commit_write(inode, folio, 0, end);
+ ret = __block_commit_write(folio, 0, end);

if (unlikely(ret < 0))
goto out_unlock;
--
2.34.1



2023-06-26 07:59:14

by Christoph Hellwig

[permalink] [raw]

2023-06-26 12:25:34

by Matthew Wilcox

[permalink] [raw]
Subject: Re: [RESEND PATCH v3 1/2] fs/buffer: clean up block_commit_write

On Mon, Jun 26, 2023 at 07:55:17AM +0200, Bean Huo wrote:
> From: Bean Huo <[email protected]>
>
> Originally inode is used to get blksize, after commit 45bce8f3e343
> ("fs/buffer.c: make block-size be per-page and protected by the page lock"),
> __block_commit_write no longer uses this parameter inode.

Reviewed-by: Matthew Wilcox (Oracle) <[email protected]>

I'm expecting that Andrew will pick up these patches. Unfortunately,
you've sent them right at the beginning of the merge window, so I
wouldn't expect that they'll be picked up for two weeks.

2023-06-26 13:53:33

by Jan Kara

[permalink] [raw]
Subject: Re: [RESEND PATCH v3 1/2] fs/buffer: clean up block_commit_write

On Mon 26-06-23 07:55:17, Bean Huo wrote:
> From: Bean Huo <[email protected]>
>
> Originally inode is used to get blksize, after commit 45bce8f3e343
> ("fs/buffer.c: make block-size be per-page and protected by the page lock"),
> __block_commit_write no longer uses this parameter inode.
>
> Signed-off-by: Bean Huo <[email protected]>

Looks good to me. Feel free to add:

Reviewed-by: Jan Kara <[email protected]>

Honza

> ---
> fs/buffer.c | 10 ++++------
> 1 file changed, 4 insertions(+), 6 deletions(-)
>
> diff --git a/fs/buffer.c b/fs/buffer.c
> index bd091329026c..50821dfb02f7 100644
> --- a/fs/buffer.c
> +++ b/fs/buffer.c
> @@ -2180,8 +2180,7 @@ int __block_write_begin(struct page *page, loff_t pos, unsigned len,
> }
> EXPORT_SYMBOL(__block_write_begin);
>
> -static int __block_commit_write(struct inode *inode, struct folio *folio,
> - size_t from, size_t to)
> +static int __block_commit_write(struct folio *folio, size_t from, size_t to)
> {
> size_t block_start, block_end;
> bool partial = false;
> @@ -2277,7 +2276,7 @@ int block_write_end(struct file *file, struct address_space *mapping,
> flush_dcache_folio(folio);
>
> /* This could be a short (even 0-length) commit */
> - __block_commit_write(inode, folio, start, start + copied);
> + __block_commit_write(folio, start, start + copied);
>
> return copied;
> }
> @@ -2601,8 +2600,7 @@ EXPORT_SYMBOL(cont_write_begin);
> int block_commit_write(struct page *page, unsigned from, unsigned to)
> {
> struct folio *folio = page_folio(page);
> - struct inode *inode = folio->mapping->host;
> - __block_commit_write(inode, folio, from, to);
> + __block_commit_write(folio, from, to);
> return 0;
> }
> EXPORT_SYMBOL(block_commit_write);
> @@ -2650,7 +2648,7 @@ int block_page_mkwrite(struct vm_area_struct *vma, struct vm_fault *vmf,
>
> ret = __block_write_begin_int(folio, 0, end, get_block, NULL);
> if (!ret)
> - ret = __block_commit_write(inode, folio, 0, end);
> + ret = __block_commit_write(folio, 0, end);
>
> if (unlikely(ret < 0))
> goto out_unlock;
> --
> 2.34.1
>
--
Jan Kara <[email protected]>
SUSE Labs, CR