On 10/29/22 19:17, Dawei Li wrote:
diff --git a/include/linux/blkdev.h b/include/linux/blkdev.h index 57ed49f20d2e..7b537afe8b38 100644 --- a/include/linux/blkdev.h +++ b/include/linux/blkdev.h @@ -1349,12 +1349,7 @@ static inline int blk_rq_aligned(struct request_queue *q, unsigned long addr, /* assumes size > 256 */ static inline unsigned int blksize_bits(unsigned int size) { - unsigned int bits = 8; - do { - bits++; - size >>= 1; - } while (size > 256); - return bits; + return order_base_2((size + SECTOR_SIZE - 1) >> SECTOR_SHIFT) + SECTOR_SHIFT; }
Why the rounding ("+ SECTOR_SIZE - 1")? The blksize_bits() argument should be an argument of two.
Thanks, Bart.