mirror of
				https://github.com/torvalds/linux.git
				synced 2025-11-04 10:40:15 +02:00 
			
		
		
		
	ext4: call bdev_getblk() from sb_getblk_gfp()
Most of the callers of sb_getblk_gfp() already assumed that they were passing the entire GFP flags to use. Fix up the two callers that didn't, and remove the __GFP_NOFAIL from them since they both appear to correctly handle failure. Link: https://lkml.kernel.org/r/20230914150011.843330-8-willy@infradead.org Signed-off-by: Matthew Wilcox (Oracle) <willy@infradead.org> Cc: Hui Zhu <teawater@antgroup.com> Signed-off-by: Andrew Morton <akpm@linux-foundation.org>
This commit is contained in:
		
							parent
							
								
									4b9c8b1919
								
							
						
					
					
						commit
						8a83ac5494
					
				
					 2 changed files with 11 additions and 5 deletions
				
			
		| 
						 | 
					@ -244,13 +244,19 @@ static struct buffer_head *__ext4_sb_bread_gfp(struct super_block *sb,
 | 
				
			||||||
struct buffer_head *ext4_sb_bread(struct super_block *sb, sector_t block,
 | 
					struct buffer_head *ext4_sb_bread(struct super_block *sb, sector_t block,
 | 
				
			||||||
				   blk_opf_t op_flags)
 | 
									   blk_opf_t op_flags)
 | 
				
			||||||
{
 | 
					{
 | 
				
			||||||
	return __ext4_sb_bread_gfp(sb, block, op_flags, __GFP_MOVABLE);
 | 
						gfp_t gfp = mapping_gfp_constraint(sb->s_bdev->bd_inode->i_mapping,
 | 
				
			||||||
 | 
								~__GFP_FS) | __GFP_MOVABLE;
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
						return __ext4_sb_bread_gfp(sb, block, op_flags, gfp);
 | 
				
			||||||
}
 | 
					}
 | 
				
			||||||
 | 
					
 | 
				
			||||||
struct buffer_head *ext4_sb_bread_unmovable(struct super_block *sb,
 | 
					struct buffer_head *ext4_sb_bread_unmovable(struct super_block *sb,
 | 
				
			||||||
					    sector_t block)
 | 
										    sector_t block)
 | 
				
			||||||
{
 | 
					{
 | 
				
			||||||
	return __ext4_sb_bread_gfp(sb, block, 0, 0);
 | 
						gfp_t gfp = mapping_gfp_constraint(sb->s_bdev->bd_inode->i_mapping,
 | 
				
			||||||
 | 
								~__GFP_FS);
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
						return __ext4_sb_bread_gfp(sb, block, 0, gfp);
 | 
				
			||||||
}
 | 
					}
 | 
				
			||||||
 | 
					
 | 
				
			||||||
void ext4_sb_breadahead_unmovable(struct super_block *sb, sector_t block)
 | 
					void ext4_sb_breadahead_unmovable(struct super_block *sb, sector_t block)
 | 
				
			||||||
| 
						 | 
					
 | 
				
			||||||
| 
						 | 
					@ -368,10 +368,10 @@ static inline struct buffer_head *sb_getblk(struct super_block *sb,
 | 
				
			||||||
	return __getblk(sb->s_bdev, block, sb->s_blocksize);
 | 
						return __getblk(sb->s_bdev, block, sb->s_blocksize);
 | 
				
			||||||
}
 | 
					}
 | 
				
			||||||
 | 
					
 | 
				
			||||||
static inline struct buffer_head *
 | 
					static inline struct buffer_head *sb_getblk_gfp(struct super_block *sb,
 | 
				
			||||||
sb_getblk_gfp(struct super_block *sb, sector_t block, gfp_t gfp)
 | 
							sector_t block, gfp_t gfp)
 | 
				
			||||||
{
 | 
					{
 | 
				
			||||||
	return __getblk_gfp(sb->s_bdev, block, sb->s_blocksize, gfp);
 | 
						return bdev_getblk(sb->s_bdev, block, sb->s_blocksize, gfp);
 | 
				
			||||||
}
 | 
					}
 | 
				
			||||||
 | 
					
 | 
				
			||||||
static inline struct buffer_head *
 | 
					static inline struct buffer_head *
 | 
				
			||||||
| 
						 | 
					
 | 
				
			||||||
		Loading…
	
		Reference in a new issue