Linux kernel mirror (for testing) git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git
kernel os linux

fs: drop GFP_NOFAIL mode from alloc_page_buffers

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>

authored by

Michal Hocko and committed by
Christian Brauner
5c40e050 459ca85a

+3 -7
+1 -1
drivers/md/md-bitmap.c
··· 360 360 pr_debug("read bitmap file (%dB @ %llu)\n", (int)PAGE_SIZE, 361 361 (unsigned long long)index << PAGE_SHIFT); 362 362 363 - bh = alloc_page_buffers(page, blocksize, false); 363 + bh = alloc_page_buffers(page, blocksize); 364 364 if (!bh) { 365 365 ret = -ENOMEM; 366 366 goto out;
+1 -4
fs/buffer.c
··· 957 957 } 958 958 EXPORT_SYMBOL_GPL(folio_alloc_buffers); 959 959 960 - struct buffer_head *alloc_page_buffers(struct page *page, unsigned long size, 961 - bool retry) 960 + struct buffer_head *alloc_page_buffers(struct page *page, unsigned long size) 962 961 { 963 962 gfp_t gfp = GFP_NOFS | __GFP_ACCOUNT; 964 - if (retry) 965 - gfp |= __GFP_NOFAIL; 966 963 967 964 return folio_alloc_buffers(page_folio(page), size, gfp); 968 965 }
+1 -2
include/linux/buffer_head.h
··· 199 199 unsigned long offset); 200 200 struct buffer_head *folio_alloc_buffers(struct folio *folio, unsigned long size, 201 201 gfp_t gfp); 202 - struct buffer_head *alloc_page_buffers(struct page *page, unsigned long size, 203 - bool retry); 202 + struct buffer_head *alloc_page_buffers(struct page *page, unsigned long size); 204 203 struct buffer_head *create_empty_buffers(struct folio *folio, 205 204 unsigned long blocksize, unsigned long b_state); 206 205 void end_buffer_read_sync(struct buffer_head *bh, int uptodate);