]> www.infradead.org Git - users/jedix/linux-maple.git/commitdiff
fs: convert block_commit_write() to take a folio
authorMatthew Wilcox (Oracle) <willy@infradead.org>
Mon, 17 Feb 2025 19:20:06 +0000 (19:20 +0000)
committerAndrew Morton <akpm@linux-foundation.org>
Fri, 28 Feb 2025 01:00:09 +0000 (17:00 -0800)
All callers now have a folio, so pass it in instead of converting
folio->page->folio.

Link: https://lkml.kernel.org/r/20250217192009.437916-1-willy@infradead.org
Signed-off-by: Matthew Wilcox (Oracle) <willy@infradead.org>
Signed-off-by: Andrew Morton <akpm@linux-foundation.org>
fs/buffer.c
fs/ext4/inline.c
fs/ext4/move_extent.c
fs/iomap/buffered-io.c
fs/ocfs2/aops.c
fs/ocfs2/file.c
fs/udf/file.c
include/linux/buffer_head.h

index cc8452f6025167630bfe42d8f6652c74adfbdedd..c66a59bb068b985d0dd9fd49663c5d7d835de23e 100644 (file)
@@ -2166,7 +2166,7 @@ int __block_write_begin(struct folio *folio, loff_t pos, unsigned len,
 }
 EXPORT_SYMBOL(__block_write_begin);
 
-static void __block_commit_write(struct folio *folio, size_t from, size_t to)
+void block_commit_write(struct folio *folio, size_t from, size_t to)
 {
        size_t block_start, block_end;
        bool partial = false;
@@ -2204,6 +2204,7 @@ static void __block_commit_write(struct folio *folio, size_t from, size_t to)
        if (!partial)
                folio_mark_uptodate(folio);
 }
+EXPORT_SYMBOL(block_commit_write);
 
 /*
  * block_write_begin takes care of the basic task of block allocation and
@@ -2262,7 +2263,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(folio, start, start + copied);
+       block_commit_write(folio, start, start + copied);
 
        return copied;
 }
@@ -2578,13 +2579,6 @@ int cont_write_begin(struct file *file, struct address_space *mapping,
 }
 EXPORT_SYMBOL(cont_write_begin);
 
-void block_commit_write(struct page *page, unsigned from, unsigned to)
-{
-       struct folio *folio = page_folio(page);
-       __block_commit_write(folio, from, to);
-}
-EXPORT_SYMBOL(block_commit_write);
-
 /*
  * block_page_mkwrite() is not allowed to change the file size as it gets
  * called from a page fault handler when a page is first dirtied. Hence we must
@@ -2630,7 +2624,7 @@ int block_page_mkwrite(struct vm_area_struct *vma, struct vm_fault *vmf,
        if (unlikely(ret))
                goto out_unlock;
 
-       __block_commit_write(folio, 0, end);
+       block_commit_write(folio, 0, end);
 
        folio_mark_dirty(folio);
        folio_wait_stable(folio);
index 3536ca7e4fccab77b8d4c8fd4cd14cbaa20e7f83..0af474c8b26068fe5007510bd5201906c8897ace 100644 (file)
@@ -637,7 +637,7 @@ retry:
                goto retry;
 
        if (folio)
-               block_commit_write(&folio->page, from, to);
+               block_commit_write(folio, from, to);
 out:
        if (folio) {
                folio_unlock(folio);
index 898443e98efc9e81d9db67a7d000eea2533d0ad8..48649be64d6a10b6868c01fc63daed723959e663 100644 (file)
@@ -399,7 +399,7 @@ data_copy:
                bh = bh->b_this_page;
        }
 
-       block_commit_write(&folio[0]->page, from, from + replaced_size);
+       block_commit_write(folio[0], from, from + replaced_size);
 
        /* Even in case of data=writeback it is reasonable to pin
         * inode to transaction, to prevent unexpected data loss */
index d303e6c8900cd1eba296b34a94849954b40d46cc..f3904d13cda4da333592bfc2efed0f4f083388d3 100644 (file)
@@ -1484,7 +1484,7 @@ static loff_t iomap_folio_mkwrite_iter(struct iomap_iter *iter,
                                              &iter->iomap);
                if (ret)
                        return ret;
-               block_commit_write(&folio->page, 0, length);
+               block_commit_write(folio, 0, length);
        } else {
                WARN_ON_ONCE(!folio_test_uptodate(folio));
                folio_mark_dirty(folio);
index 5bbeb6fbb1ac014201e549bb4f99b14234c22c21..ee1d92ed950fd23a52832b29e7c7bebd21198a07 100644 (file)
@@ -920,7 +920,7 @@ static void ocfs2_write_failure(struct inode *inode,
                                ocfs2_jbd2_inode_add_write(wc->w_handle, inode,
                                                           user_pos, user_len);
 
-                       block_commit_write(&folio->page, from, to);
+                       block_commit_write(folio, from, to);
                }
        }
 }
@@ -2012,7 +2012,7 @@ int ocfs2_write_end_nolock(struct address_space *mapping, loff_t pos,
                                ocfs2_jbd2_inode_add_write(handle, inode,
                                                           start_byte, length);
                        }
-                       block_commit_write(&folio->page, from, to);
+                       block_commit_write(folio, from, to);
                }
        }
 
index e54f2c4b5a907782267603abf25f0a10cc79515a..2056cf08ac1e896c5d8b3e4285dd6b6fa6793ffe 100644 (file)
@@ -813,7 +813,7 @@ static int ocfs2_write_zero_page(struct inode *inode, u64 abs_from,
 
 
                /* must not update i_size! */
-               block_commit_write(&folio->page, block_start + 1, block_start + 1);
+               block_commit_write(folio, block_start + 1, block_start + 1);
        }
 
        /*
index 412fe7c4d348b9ac4ba8adb85b0a6cd147c11152..0d76c4f37b3e71ffe6a883a8d97a6c3038d2a01d 100644 (file)
@@ -69,7 +69,7 @@ static vm_fault_t udf_page_mkwrite(struct vm_fault *vmf)
                goto out_unlock;
        }
 
-       block_commit_write(&folio->page, 0, end);
+       block_commit_write(folio, 0, end);
 out_dirty:
        folio_mark_dirty(folio);
        folio_wait_stable(folio);
index 932139c5d46f5dea558469d3a972da0322b426a0..6672e1a5031c5e3537d22594798b43fb84a0011e 100644 (file)
@@ -271,7 +271,7 @@ int cont_write_begin(struct file *, struct address_space *, loff_t,
                        unsigned, struct folio **, void **,
                        get_block_t *, loff_t *);
 int generic_cont_expand_simple(struct inode *inode, loff_t size);
-void block_commit_write(struct page *page, unsigned int from, unsigned int to);
+void block_commit_write(struct folio *folio, size_t from, size_t to);
 int block_page_mkwrite(struct vm_area_struct *vma, struct vm_fault *vmf,
                                get_block_t get_block);
 sector_t generic_block_bmap(struct address_space *, sector_t, get_block_t *);