summaryrefslogtreecommitdiff
path: root/tools/docs/lib/python_version.py
diff options
context:
space:
mode:
authorChaitanya Kulkarni <ckulkarnilinux@gmail.com>2025-12-02 19:58:09 -0800
committerJens Axboe <axboe@kernel.dk>2025-12-04 07:19:26 -0700
commit71075d25ca5cae732fb57da065fbf14aeb3bcfc7 (patch)
tree67e1d4a379eeb83bda78213fbf3239f75eca2e67 /tools/docs/lib/python_version.py
parent3e2cb9ee76c27f57bfdb7b4753b909594d4fa31a (diff)
blk-mq: add blk_rq_nr_bvec() helper
Add a new helper function blk_rq_nr_bvec() that returns the number of bvecs in a request. This count represents the number of iterations rq_for_each_bvec() would perform on a request. Drivers need to pre-allocate bvec arrays before iterating through a request's bvecs. Currently, they manually count bvecs using rq_for_each_bvec() in a loop, which is repetitive. The new helper centralizes this logic. This pattern exists in loop and zloop drivers, where multi-bio requests require copying bvecs into a contiguous array before creating an iov_iter for file operations. Update loop and zloop drivers to use the new helper, eliminating duplicate code. This patch also provides a clear API to avoid any potential misuse of blk_nr_phys_segments() for calculating the bvecs since, one bvec can have more than one segments and use of blk_nr_phys_segments() can lead to extra memory allocation :- [ 6155.673749] nullb_bio: 128K bio as ONE bvec: sector=0, size=131072 [ 6155.673846] null_blk: #### null_handle_data_transfer:1375 [ 6155.673850] null_blk: nr_bvec=1 blk_rq_nr_phys_segments=2 [ 6155.674263] null_blk: #### null_handle_data_transfer:1375 [ 6155.674267] null_blk: nr_bvec=1 blk_rq_nr_phys_segments=1 Reviewed-by: Niklas Cassel <cassel@kernel.org> Signed-off-by: Chaitanya Kulkarni <ckulkarnilinux@gmail.com> Reviewed-by: Christoph Hellwig <hch@lst.de> Signed-off-by: Jens Axboe <axboe@kernel.dk>
Diffstat (limited to 'tools/docs/lib/python_version.py')
0 files changed, 0 insertions, 0 deletions