diff options
-rw-r--r-- | fs/buffer.c | 11 |
1 files changed, 3 insertions, 8 deletions
diff --git a/fs/buffer.c b/fs/buffer.c index d61073143127..565fe88773c2 100644 --- a/fs/buffer.c +++ b/fs/buffer.c @@ -1122,14 +1122,9 @@ __getblk_slow(struct block_device *bdev, sector_t block, { bool blocking = gfpflags_allow_blocking(gfp); - if (unlikely(size & (bdev_logical_block_size(bdev) - 1) || - (size < 512 || size > PAGE_SIZE))) { - printk(KERN_ERR "getblk(): invalid block size %d requested\n", - size); - printk(KERN_ERR "logical block size: %d\n", - bdev_logical_block_size(bdev)); - - dump_stack(); + if (WARN_ON_ONCE(!IS_ALIGNED(size, bdev_logical_block_size(bdev)))) { + printk(KERN_ERR "getblk(): block size %d not aligned to logical block size %d\n", + size, bdev_logical_block_size(bdev)); return NULL; } |