ext4: remove unnecessary wbc parameter from ext4_bio_write_page
authorLei Chen <lennychen@tencent.com>
Fri, 11 Dec 2020 06:54:24 +0000 (14:54 +0800)
committerTheodore Ts'o <tytso@mit.edu>
Tue, 22 Dec 2020 18:08:45 +0000 (13:08 -0500)
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 <lennychen@tencent.com>
Link: https://lore.kernel.org/r/1607669664-25656-1-git-send-email-lennychen@tencent.com
Signed-off-by: Theodore Ts'o <tytso@mit.edu>
fs/ext4/ext4.h
fs/ext4/inode.c
fs/ext4/page-io.c

index ac356ed..64f25ea 100644 (file)
@@ -3653,7 +3653,6 @@ extern void ext4_io_submit(struct ext4_io_submit *io);
 extern int ext4_bio_write_page(struct ext4_io_submit *io,
                               struct page *page,
                               int len,
 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);
                               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);
index ab78612..2794688 100644 (file)
@@ -2064,7 +2064,7 @@ static int ext4_writepage(struct page *page,
                unlock_page(page);
                return -ENOMEM;
        }
                unlock_page(page);
                return -ENOMEM;
        }
-       ret = ext4_bio_write_page(&io_submit, page, len, wbc, keep_towrite);
+       ret = ext4_bio_write_page(&io_submit, page, len, keep_towrite);
        ext4_io_submit(&io_submit);
        /* Drop io_end reference we got from init */
        ext4_put_io_end_defer(io_submit.io_end);
        ext4_io_submit(&io_submit);
        /* Drop io_end reference we got from init */
        ext4_put_io_end_defer(io_submit.io_end);
@@ -2098,7 +2098,7 @@ static int mpage_submit_page(struct mpage_da_data *mpd, struct page *page)
                len = size & ~PAGE_MASK;
        else
                len = PAGE_SIZE;
                len = size & ~PAGE_MASK;
        else
                len = PAGE_SIZE;
-       err = ext4_bio_write_page(&mpd->io_submit, page, len, mpd->wbc, false);
+       err = ext4_bio_write_page(&mpd->io_submit, page, len, false);
        if (!err)
                mpd->wbc->nr_to_write--;
        mpd->first_page++;
        if (!err)
                mpd->wbc->nr_to_write--;
        mpd->first_page++;
index cb135a9..03a44a0 100644 (file)
@@ -435,7 +435,6 @@ submit_and_retry:
 int ext4_bio_write_page(struct ext4_io_submit *io,
                        struct page *page,
                        int len,
 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;
                        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;
        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));
 
        BUG_ON(!PageLocked(page));
        BUG_ON(PageWriteback(page));