Function report

Linux Kernel

v5.5.9

Brick Technologies Co., Ltd

Source Code:block\blk-core.c Create Date:2022-07-28 17:00:08
Last Modify:2020-03-12 14:18:49 Copyright©Brick
home page Tree
Annotation kernel can get tool activityDownload SCCTChinese

Name:generic_make_request - hand a buffer to its device driver for I/O*@bio: The bio describing the location in memory and on the device.* generic_make_request() is used to make I/O requests of block* devices

Proto:blk_qc_t generic_make_request(struct bio *bio)

Type:blk_qc_t

Parameter:

TypeParameterName
struct bio *bio
1021  ret = BLK_QC_T_NONE
1023  If Not generic_make_request_checks(bio) Then Go to out
1036  If bio_list Then
1037  bio_list_add( & bio_list[0], bio)
1038  Go to out
1055  BUG_ON( request queue link )
1056  bio_list_init( & bio_list_on_stack[0])
1057  bio_list = bio_list_on_stack
1058  Do
1059  q = queue
1060  flags = If bottom bits req flags, * top bits REQ_OP. Use * accessors. & REQ_NOWAIT Then BLK_MQ_REQ_NOWAIT Else 0
1069  ret = make_request_fn(q, bio)
1071  blk_queue_exit(q)
1076  bio_list_init( & lower)
1077  bio_list_init( & same)
1078  When ((bio = bio_list_pop( & bio_list_on_stack[0])) != NULL) cycle
1079  If q == queue Then bio_list_add( & same, bio)
1081  Else bio_list_add( & lower, bio)
1087  Else
1091  Else bio_io_error(bio)
1094  bio = bio_list_pop( & bio_list_on_stack[0])
1095  When bio cycle
1096  bio_list = NULL
1098  out :
1099  Return ret
Caller
NameDescribe
submit_biosubmit_bio - submit a bio to the block device layer for I/O*@bio: The &struct bio which describes the I/O* submit_bio() is very similar in purpose to generic_make_request(), and* uses that function to do most of the work. Both are fairly rough
__blk_queue_split__blk_queue_split - split a bio and submit the second half*@q: [in] request queue pointer*@bio: [in, out] bio to be split*@nr_segs: [out] number of segments in the first bio* Split a bio into two bios, chain the two bios, submit the second half and
__blk_queue_bounce
blk_throtl_dispatch_work_fnlk_throtl_dispatch_work_fn - work function for throtl_data->dispatch_work*@work: work item being executed* This function is queued for execution when bio's reach the bio_lists[]* of throtl_data->service_queue. Those bio's are ready and issued by this
blk_throtl_drainlk_throtl_drain - drain throttled bios*@q: request_queue to drain throttled bios for* Dispatch all currently throttled bios on @q through ->make_request_fn().