Function report

Linux Kernel

v5.5.9

Brick Technologies Co., Ltd

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

Name:bio_attempt_back_merge

Proto:bool bio_attempt_back_merge(struct request *req, struct bio *bio, unsigned int nr_segs)

Type:bool

Parameter:

TypeParameterName
struct request *req
struct bio *bio
unsigned intnr_segs
605  ff = bottom bits req flags, * top bits REQ_OP. Use * accessors. & REQ_FAILFAST_MASK
607  If Not ll_back_merge_fn(req, bio, nr_segs) Then Return false
610  lock_bio_backmerge - merging block operation to the end of an existing operation*@q: queue holding operation*@rq: request bio is being merged into*@bio: new block operation to merge* Merging block request @bio to the end of an existing block request
611  rq_qos_merge(q, req, bio)
613  If ( op and common flags & REQ_FAILFAST_MASK) != ff Then blk_rq_set_mixed_merge(req)
616  request queue link = bio
617  biotail = bio
618  total data len += residual I/O count
620  blk_account_io_start(req, false)
621  Return true
Caller
NameDescribe
blk_attempt_plug_mergelk_attempt_plug_merge - try to merge with %current's plugged list*@q: request_queue new bio is being queued at*@bio: new bio being queued*@nr_segs: number of segments in @bio*@same_queue_rq: pointer to &struct request that gets filled in when* another
blk_mq_sched_try_merge
blk_mq_bio_list_mergeIterate list of requests and see if we can merge this bio with any* of them.