函数逻辑报告

Linux Kernel

v5.5.9

Brick Technologies Co., Ltd

Source Code:block\blk-map.c Create Date:2022-07-27 18:40:05
Last Modify:2020-03-12 14:18:49 Copyright©Brick
首页 函数Tree
注解内核,赢得工具下载SCCTEnglish

函数名称:__blk_rq_map_user_iov

函数原型:static int __blk_rq_map_user_iov(struct request *rq, struct rq_map_data *map_data, struct iov_iter *iter, gfp_t gfp_mask, bool copy)

返回类型:int

参数:

类型参数名称
struct request *rq
struct rq_map_data *map_data
struct iov_iter *iter
gfp_tgfp_mask
boolcopy
68  q等于q
72  如果copybio等于_copy_user_iov - copy user data to bio*@q: destination block queue*@map_data: pointer to the rq_map_data holding pages (if necessary)*@iter: iovec iterator*@gfp_mask: memory allocation flags* Prepares and returns a bio for indirect user io, bouncing data
74  否则bio等于_map_user_iov - map user iovec into bio*@q: the struct request_queue for the bio*@iter: iovec iterator*@gfp_mask: memory allocation flags* Map the user space address into a bio suitable for io to a block* device. Returns an error pointer in case of error.
77  如果是错误则返回:错误
80  bottom bits req flags, * top bits REQ_OP. Use * accessors.与等于REQ_OP_MASK的反
81  bottom bits req flags, * top bits REQ_OP. Use * accessors.或等于req_op(rq)
83  orig_bio等于bio
89  ret等于Append a bio to a passthrough request. Only works if the bio can be merged* into the request based on the driver constraints.
90  如果ret
91  __blk_rq_unmap_user(orig_bio)
92  返回:ret
94  get a reference to a bio, so it won't disappear. the intended use is* something like:* bio_get(bio);* submit_bio(rw, bio);* if (bio->bi_flags ...)* do_something* bio_put(bio);* without the bio_get(), it could potentially complete I/O before submit_bio
96  返回:0
调用者
名称描述
blk_rq_map_user_iovlk_rq_map_user_iov - map user data to a request, for passthrough requests*@q: request queue where request should be inserted*@rq: request to map data to*@map_data: pointer to the rq_map_data holding pages (if necessary)*@iter: iovec iterator*@gfp_mask: