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

Configure Feed

Select the types of activity you want to include in your feed.

fs/buffer: remove the min and max limit checks in __getblk_slow()

All filesystems will already check the max and min value of their block
size during their initialization. __getblk_slow() is a very low-level
function to have these checks. Remove them and only check for logical
block size alignment.

As this check with logical block size alignment might never trigger, add
WARN_ON_ONCE() to the check. As WARN_ON_ONCE() will already print the
stack, remove the call to dump_stack().

Suggested-by: Matthew Wilcox <willy@infradead.org>
Reviewed-by: Jan Kara <jack@suse.cz>
Signed-off-by: Pankaj Raghav <p.raghav@samsung.com>
Link: https://lore.kernel.org/20250626113223.181399-1-p.raghav@samsung.com
Reviewed-by: Baokun Li <libaokun1@huawei.com>
Signed-off-by: Christian Brauner <brauner@kernel.org>

authored by

Pankaj Raghav and committed by
Christian Brauner
77eb6443 04a2c4b4

+3 -8
+3 -8
fs/buffer.c
··· 1122 1122 { 1123 1123 bool blocking = gfpflags_allow_blocking(gfp); 1124 1124 1125 - if (unlikely(size & (bdev_logical_block_size(bdev) - 1) || 1126 - (size < 512 || size > PAGE_SIZE))) { 1127 - printk(KERN_ERR "getblk(): invalid block size %d requested\n", 1128 - size); 1129 - printk(KERN_ERR "logical block size: %d\n", 1130 - bdev_logical_block_size(bdev)); 1131 - 1132 - dump_stack(); 1125 + if (WARN_ON_ONCE(!IS_ALIGNED(size, bdev_logical_block_size(bdev)))) { 1126 + printk(KERN_ERR "getblk(): block size %d not aligned to logical block size %d\n", 1127 + size, bdev_logical_block_size(bdev)); 1133 1128 return NULL; 1134 1129 } 1135 1130