ocfs2: use a folio in ocfs2_zero_new_buffers()
authorMark Tinguely <mark.tinguely@oracle.com>
Thu, 5 Dec 2024 17:16:32 +0000 (17:16 +0000)
committerAndrew Morton <akpm@linux-foundation.org>
Mon, 13 Jan 2025 04:21:09 +0000 (20:21 -0800)
Convert to the new APIs, saving at least one hidden call to
compound_head().

Link: https://lkml.kernel.org/r/20241205171653.3179945-5-willy@infradead.org
Signed-off-by: Mark Tinguely <mark.tinguely@oracle.com>
Signed-off-by: Matthew Wilcox (Oracle) <willy@infradead.org>
Reviewed-by: Joseph Qi <joseph.qi@linux.alibaba.com>
Cc: Changwei Ge <gechangwei@live.cn>
Cc: Joel Becker <jlbec@evilplan.org>
Cc: Jun Piao <piaojun@huawei.com>
Cc: Junxiao Bi <junxiao.bi@oracle.com>
Cc: Mark Fasheh <mark@fasheh.com>
Signed-off-by: Andrew Morton <akpm@linux-foundation.org>
fs/ocfs2/aops.c

index cbb880ad887afd8a5ae7b552825042439000660a..76400bba5ab57584c5667cf3b9f509f3544b1070 100644 (file)
@@ -869,30 +869,30 @@ static int ocfs2_alloc_write_ctxt(struct ocfs2_write_ctxt **wcp,
  * and dirty so they'll be written out (in order to prevent uninitialised
  * block data from leaking). And clear the new bit.
  */
-static void ocfs2_zero_new_buffers(struct folio *folio, unsigned from, unsigned to)
+static void ocfs2_zero_new_buffers(struct folio *folio, size_t from, size_t to)
 {
-       struct page *page = &folio->page;
        unsigned int block_start, block_end;
        struct buffer_head *head, *bh;
 
-       BUG_ON(!PageLocked(page));
-       if (!page_has_buffers(page))
+       BUG_ON(!folio_test_locked(folio));
+       head = folio_buffers(folio);
+       if (!head)
                return;
 
-       bh = head = page_buffers(page);
+       bh = head;
        block_start = 0;
        do {
                block_end = block_start + bh->b_size;
 
                if (buffer_new(bh)) {
                        if (block_end > from && block_start < to) {
-                               if (!PageUptodate(page)) {
+                               if (!folio_test_uptodate(folio)) {
                                        unsigned start, end;
 
                                        start = max(from, block_start);
                                        end = min(to, block_end);
 
-                                       zero_user_segment(page, start, end);
+                                       folio_zero_segment(folio, start, end);
                                        set_buffer_uptodate(bh);
                                }