ext4: convert to folio_create_empty_buffers
authorMatthew Wilcox (Oracle) <willy@infradead.org>
Mon, 16 Oct 2023 20:10:51 +0000 (21:10 +0100)
committerAndrew Morton <akpm@linux-foundation.org>
Wed, 25 Oct 2023 23:47:08 +0000 (16:47 -0700)
Remove an unnecessary folio->page->folio conversion and take advantage of
the new return value from folio_create_empty_buffers().

Link: https://lkml.kernel.org/r/20231016201114.1928083-5-willy@infradead.org
Signed-off-by: Matthew Wilcox (Oracle) <willy@infradead.org>
Reviewed-by: Pankaj Raghav <p.raghav@samsung.com>
Cc: Andreas Gruenbacher <agruenba@redhat.com>
Cc: Ryusuke Konishi <konishi.ryusuke@gmail.com>
Signed-off-by: Andrew Morton <akpm@linux-foundation.org>
fs/ext4/inode.c
fs/ext4/move_extent.c

index 4ce35f1c8b0a8412d9e513d8fa01fae21bab74d5..8e431ff2fd953eba171747bc16b7378d1531b69e 100644 (file)
@@ -1020,10 +1020,8 @@ static int ext4_block_write_begin(struct folio *folio, loff_t pos, unsigned len,
        BUG_ON(from > to);
 
        head = folio_buffers(folio);
-       if (!head) {
-               create_empty_buffers(&folio->page, blocksize, 0);
-               head = folio_buffers(folio);
-       }
+       if (!head)
+               head = folio_create_empty_buffers(folio, blocksize, 0);
        bbits = ilog2(blocksize);
        block = (sector_t)folio->index << (PAGE_SHIFT - bbits);
 
@@ -1153,7 +1151,7 @@ retry_grab:
         * starting the handle.
         */
        if (!folio_buffers(folio))
-               create_empty_buffers(&folio->page, inode->i_sb->s_blocksize, 0);
+               folio_create_empty_buffers(folio, inode->i_sb->s_blocksize, 0);
 
        folio_unlock(folio);
 
@@ -3643,10 +3641,8 @@ static int __ext4_block_zero_page_range(handle_t *handle,
        iblock = index << (PAGE_SHIFT - inode->i_sb->s_blocksize_bits);
 
        bh = folio_buffers(folio);
-       if (!bh) {
-               create_empty_buffers(&folio->page, blocksize, 0);
-               bh = folio_buffers(folio);
-       }
+       if (!bh)
+               bh = folio_create_empty_buffers(folio, blocksize, 0);
 
        /* Find the buffer that contains "offset" */
        pos = blocksize;
index 18a9e7c479754b58bff25a7ef4fcf4656eaea41d..7fe448fb948b47809833bcf1650d4a89da64c756 100644 (file)
@@ -183,10 +183,8 @@ mext_page_mkuptodate(struct folio *folio, unsigned from, unsigned to)
 
        blocksize = i_blocksize(inode);
        head = folio_buffers(folio);
-       if (!head) {
-               create_empty_buffers(&folio->page, blocksize, 0);
-               head = folio_buffers(folio);
-       }
+       if (!head)
+               head = folio_create_empty_buffers(folio, blocksize, 0);
 
        block = (sector_t)folio->index << (PAGE_SHIFT - inode->i_blkbits);
        for (bh = head, block_start = 0; bh != head || !block_start;
@@ -380,9 +378,10 @@ data_copy:
        }
        /* Perform all necessary steps similar write_begin()/write_end()
         * but keeping in mind that i_size will not change */
-       if (!folio_buffers(folio[0]))
-               create_empty_buffers(&folio[0]->page, 1 << orig_inode->i_blkbits, 0);
        bh = folio_buffers(folio[0]);
+       if (!bh)
+               bh = folio_create_empty_buffers(folio[0],
+                               1 << orig_inode->i_blkbits, 0);
        for (i = 0; i < data_offset_in_page; i++)
                bh = bh->b_this_page;
        for (i = 0; i < block_len_in_page; i++) {