| From 570b1cac477643cbf01a45fa5d018430a1fddbce Mon Sep 17 00:00:00 2001 |
| From: Xie Yongji <xieyongji@bytedance.com> |
| Date: Tue, 26 Oct 2021 22:40:12 +0800 |
| Subject: block: Add a helper to validate the block size |
| |
| From: Xie Yongji <xieyongji@bytedance.com> |
| |
| commit 570b1cac477643cbf01a45fa5d018430a1fddbce upstream. |
| |
| There are some duplicated codes to validate the block |
| size in block drivers. This limitation actually comes |
| from block layer, so this patch tries to add a new block |
| layer helper for that. |
| |
| Signed-off-by: Xie Yongji <xieyongji@bytedance.com> |
| Link: https://lore.kernel.org/r/20211026144015.188-2-xieyongji@bytedance.com |
| Signed-off-by: Jens Axboe <axboe@kernel.dk> |
| Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org> |
| --- |
| include/linux/blkdev.h | 8 ++++++++ |
| 1 file changed, 8 insertions(+) |
| |
| --- a/include/linux/blkdev.h |
| +++ b/include/linux/blkdev.h |
| @@ -240,6 +240,14 @@ struct request { |
| void *end_io_data; |
| }; |
| |
| +static inline int blk_validate_block_size(unsigned int bsize) |
| +{ |
| + if (bsize < 512 || bsize > PAGE_SIZE || !is_power_of_2(bsize)) |
| + return -EINVAL; |
| + |
| + return 0; |
| +} |
| + |
| static inline bool blk_op_is_passthrough(unsigned int op) |
| { |
| op &= REQ_OP_MASK; |