Merge tag 'tsm-for-6.7' of git://git.kernel.org/pub/scm/linux/kernel/git/djbw/linux
[linux-2.6-microblaze.git] / fs / ext4 / move_extent.c
index 18a9e7c..3aa5737 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 = 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 = 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++) {