Re: [PATCH] fs: ext4: remove unnecessary wbc parameter from ext4_bio_write_page

2020-12-16 Thread Theodore Y. Ts'o
On Fri, Dec 11, 2020 at 02:54:24PM +0800, chenle...@gmail.com wrote:
> From: Lei Chen 
> 
> ext4_bio_write_page does not need wbc parameter, since its parameter
> io contains the io_wbc field. The io::io_wbc is initialized by
> ext4_io_submit_init which is called in ext4_writepages and
> ext4_writepage functions prior to ext4_bio_write_page.
> Therefor, when ext4_bio_write_page is called, wbc info
> has already been included in io parameter.
> 
> Signed-off-by: Lei Chen 

Thanks, applied.

- Ted


[PATCH] fs: ext4: remove unnecessary wbc parameter from ext4_bio_write_page

2020-12-10 Thread chenlei0x
From: Lei Chen 

ext4_bio_write_page does not need wbc parameter, since its parameter
io contains the io_wbc field. The io::io_wbc is initialized by
ext4_io_submit_init which is called in ext4_writepages and
ext4_writepage functions prior to ext4_bio_write_page.
Therefor, when ext4_bio_write_page is called, wbc info
has already been included in io parameter.

Signed-off-by: Lei Chen 
---
 fs/ext4/ext4.h| 1 -
 fs/ext4/inode.c   | 4 ++--
 fs/ext4/page-io.c | 2 +-
 3 files changed, 3 insertions(+), 4 deletions(-)

diff --git a/fs/ext4/ext4.h b/fs/ext4/ext4.h
index cd95965..1385898 100644
--- a/fs/ext4/ext4.h
+++ b/fs/ext4/ext4.h
@@ -3638,7 +3638,6 @@ extern void ext4_io_submit_init(struct ext4_io_submit *io,
 extern int ext4_bio_write_page(struct ext4_io_submit *io,
   struct page *page,
   int len,
-  struct writeback_control *wbc,
   bool keep_towrite);
 extern struct ext4_io_end_vec *ext4_alloc_io_end_vec(ext4_io_end_t *io_end);
 extern struct ext4_io_end_vec *ext4_last_io_end_vec(ext4_io_end_t *io_end);
diff --git a/fs/ext4/inode.c b/fs/ext4/inode.c
index b147c2e..7360e7a 100644
--- a/fs/ext4/inode.c
+++ b/fs/ext4/inode.c
@@ -2055,7 +2055,7 @@ static int ext4_writepage(struct page *page,
unlock_page(page);
return -ENOMEM;
}
-   ret = ext4_bio_write_page(_submit, page, len, wbc, keep_towrite);
+   ret = ext4_bio_write_page(_submit, page, len, keep_towrite);
ext4_io_submit(_submit);
/* Drop io_end reference we got from init */
ext4_put_io_end_defer(io_submit.io_end);
@@ -2089,7 +2089,7 @@ static int mpage_submit_page(struct mpage_da_data *mpd, 
struct page *page)
len = size & ~PAGE_MASK;
else
len = PAGE_SIZE;
-   err = ext4_bio_write_page(>io_submit, page, len, mpd->wbc, false);
+   err = ext4_bio_write_page(>io_submit, page, len, false);
if (!err)
mpd->wbc->nr_to_write--;
mpd->first_page++;
diff --git a/fs/ext4/page-io.c b/fs/ext4/page-io.c
index cb135a9..03a44a0 100644
--- a/fs/ext4/page-io.c
+++ b/fs/ext4/page-io.c
@@ -435,7 +435,6 @@ static void io_submit_add_bh(struct ext4_io_submit *io,
 int ext4_bio_write_page(struct ext4_io_submit *io,
struct page *page,
int len,
-   struct writeback_control *wbc,
bool keep_towrite)
 {
struct page *bounce_page = NULL;
@@ -445,6 +444,7 @@ int ext4_bio_write_page(struct ext4_io_submit *io,
int ret = 0;
int nr_submitted = 0;
int nr_to_submit = 0;
+   struct writeback_control *wbc = io->io_wbc;
 
BUG_ON(!PageLocked(page));
BUG_ON(PageWriteback(page));
-- 
1.8.3.1