buffer: convert init_page_buffers() to folio_init_buffers()
authorMatthew Wilcox (Oracle) <willy@infradead.org>
Mon, 12 Jun 2023 21:01:38 +0000 (22:01 +0100)
committerAndrew Morton <akpm@linux-foundation.org>
Mon, 19 Jun 2023 23:19:32 +0000 (16:19 -0700)
Use the folio API and pass the folio from both callers.  Saves a hidden
call to compound_head().

Link: https://lkml.kernel.org/r/20230612210141.730128-12-willy@infradead.org
Signed-off-by: Matthew Wilcox (Oracle) <willy@infradead.org>
Cc: Andreas Gruenbacher <agruenba@redhat.com>
Cc: Bob Peterson <rpeterso@redhat.com>
Cc: Hannes Reinecke <hare@suse.com>
Cc: Luis Chamberlain <mcgrof@kernel.org>
Signed-off-by: Andrew Morton <akpm@linux-foundation.org>
fs/buffer.c

index 06d031e28beee44c9903641a484e1547dfa29024..9b9dee41746702781086ced6218f6e8a044b3b3e 100644 (file)
@@ -934,15 +934,14 @@ static sector_t blkdev_max_block(struct block_device *bdev, unsigned int size)
 }
 
 /*
- * Initialise the state of a blockdev page's buffers.
+ * Initialise the state of a blockdev folio's buffers.
  */ 
-static sector_t
-init_page_buffers(struct page *page, struct block_device *bdev,
-                       sector_t block, int size)
+static sector_t folio_init_buffers(struct folio *folio,
+               struct block_device *bdev, sector_t block, int size)
 {
-       struct buffer_head *head = page_buffers(page);
+       struct buffer_head *head = folio_buffers(folio);
        struct buffer_head *bh = head;
-       int uptodate = PageUptodate(page);
+       bool uptodate = folio_test_uptodate(folio);
        sector_t end_block = blkdev_max_block(bdev, size);
 
        do {
@@ -998,9 +997,8 @@ grow_dev_page(struct block_device *bdev, sector_t block,
        bh = folio_buffers(folio);
        if (bh) {
                if (bh->b_size == size) {
-                       end_block = init_page_buffers(&folio->page, bdev,
-                                               (sector_t)index << sizebits,
-                                               size);
+                       end_block = folio_init_buffers(folio, bdev,
+                                       (sector_t)index << sizebits, size);
                        goto done;
                }
                if (!try_to_free_buffers(folio))
@@ -1016,7 +1014,7 @@ grow_dev_page(struct block_device *bdev, sector_t block,
         */
        spin_lock(&inode->i_mapping->private_lock);
        link_dev_buffers(&folio->page, bh);
-       end_block = init_page_buffers(&folio->page, bdev,
+       end_block = folio_init_buffers(folio, bdev,
                        (sector_t)index << sizebits, size);
        spin_unlock(&inode->i_mapping->private_lock);
 done: