fs: drop GFP_NOFAIL mode from alloc_page_buffers
authorMichal Hocko <mhocko@suse.com>
Thu, 29 Aug 2024 13:06:40 +0000 (15:06 +0200)
committerChristian Brauner <brauner@kernel.org>
Fri, 30 Aug 2024 12:54:03 +0000 (14:54 +0200)
There is only one called of alloc_page_buffers and it doesn't require
__GFP_NOFAIL so drop this allocation mode.

Signed-off-by: Michal Hocko <mhocko@suse.com>
Link: https://lore.kernel.org/r/20240829130640.1397970-1-mhocko@kernel.org
Acked-by: Song Liu <song@kernel.org>
Reviewed-by: Jan Kara <jack@suse.cz>
Signed-off-by: Christian Brauner <brauner@kernel.org>
drivers/md/md-bitmap.c
fs/buffer.c
include/linux/buffer_head.h

index 08232d8dc815eed7a76091caf86d7b9382b6370d..db5330d9734878fbee0036980ef668838e8c0ec8 100644 (file)
@@ -360,7 +360,7 @@ static int read_file_page(struct file *file, unsigned long index,
        pr_debug("read bitmap file (%dB @ %llu)\n", (int)PAGE_SIZE,
                 (unsigned long long)index << PAGE_SHIFT);
 
-       bh = alloc_page_buffers(page, blocksize, false);
+       bh = alloc_page_buffers(page, blocksize);
        if (!bh) {
                ret = -ENOMEM;
                goto out;
index 31a9062cad7ed5f236cb02ffcb477ed7ed36ab7e..74f4eb5c70871d7136c0d00a7226eada1f36f7ec 100644 (file)
@@ -957,12 +957,9 @@ no_grow:
 }
 EXPORT_SYMBOL_GPL(folio_alloc_buffers);
 
-struct buffer_head *alloc_page_buffers(struct page *page, unsigned long size,
-                                      bool retry)
+struct buffer_head *alloc_page_buffers(struct page *page, unsigned long size)
 {
        gfp_t gfp = GFP_NOFS | __GFP_ACCOUNT;
-       if (retry)
-               gfp |= __GFP_NOFAIL;
 
        return folio_alloc_buffers(page_folio(page), size, gfp);
 }
index 14acf1bbe0ce699236fd58406b1f96e1c7fac6b0..7e903457967afa44855cc9919c333b4856a770b6 100644 (file)
@@ -199,8 +199,7 @@ void folio_set_bh(struct buffer_head *bh, struct folio *folio,
                  unsigned long offset);
 struct buffer_head *folio_alloc_buffers(struct folio *folio, unsigned long size,
                                        gfp_t gfp);
-struct buffer_head *alloc_page_buffers(struct page *page, unsigned long size,
-               bool retry);
+struct buffer_head *alloc_page_buffers(struct page *page, unsigned long size);
 struct buffer_head *create_empty_buffers(struct folio *folio,
                unsigned long blocksize, unsigned long b_state);
 void end_buffer_read_sync(struct buffer_head *bh, int uptodate);