ext4: convert ac_buddy_page to ac_buddy_folio
authorMatthew Wilcox (Oracle) <willy@infradead.org>
Tue, 16 Apr 2024 17:28:58 +0000 (18:28 +0100)
committerTheodore Ts'o <tytso@mit.edu>
Tue, 7 May 2024 19:38:17 +0000 (15:38 -0400)
This just carries around the bd_buddy_folio so should also be a folio.

Signed-off-by: Matthew Wilcox (Oracle) <willy@infradead.org>
Link: https://lore.kernel.org/r/20240416172900.244637-6-willy@infradead.org
Signed-off-by: Theodore Ts'o <tytso@mit.edu>
fs/ext4/mballoc.c
fs/ext4/mballoc.h

index 218480b20058ee98d1844bbdadcf0351a0ea6dff..ac0ee747f4b94dd86e068b87d9352d0bfedf244d 100644 (file)
@@ -2163,8 +2163,8 @@ static void ext4_mb_use_best_found(struct ext4_allocation_context *ac,
         */
        ac->ac_bitmap_folio = e4b->bd_bitmap_folio;
        folio_get(ac->ac_bitmap_folio);
-       ac->ac_buddy_page = &e4b->bd_buddy_folio->page;
-       get_page(ac->ac_buddy_page);
+       ac->ac_buddy_folio = e4b->bd_buddy_folio;
+       folio_get(ac->ac_buddy_folio);
        /* store last allocated for subsequent stream allocation */
        if (ac->ac_flags & EXT4_MB_STREAM_ALLOC) {
                spin_lock(&sbi->s_md_lock);
@@ -6004,8 +6004,8 @@ static void ext4_mb_release_context(struct ext4_allocation_context *ac)
        }
        if (ac->ac_bitmap_folio)
                folio_put(ac->ac_bitmap_folio);
-       if (ac->ac_buddy_page)
-               put_page(ac->ac_buddy_page);
+       if (ac->ac_buddy_folio)
+               folio_put(ac->ac_buddy_folio);
        if (ac->ac_flags & EXT4_MB_HINT_GROUP_ALLOC)
                mutex_unlock(&ac->ac_lg->lg_mutex);
        ext4_mb_collect_stats(ac);
index 469e5516fb77ef469317ca2a00e805ac594aa97a..d8553f1498d3cb7a49c6cce7c3321f8f76268b39 100644 (file)
@@ -205,7 +205,7 @@ struct ext4_allocation_context {
                                 * N > 0, the field stores N, otherwise 0 */
        __u8 ac_op;             /* operation, for history only */
        struct folio *ac_bitmap_folio;
-       struct page *ac_buddy_page;
+       struct folio *ac_buddy_folio;
        struct ext4_prealloc_space *ac_pa;
        struct ext4_locality_group *ac_lg;
 };