Function report

Linux Kernel

v5.5.9

Brick Technologies Co., Ltd

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

Name:bio_attempt_front_merge

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

Type:bool

Parameter:

TypeParameterName
struct request *req
struct bio *bio
unsigned intnr_segs
627  ff = bottom bits req flags, * top bits REQ_OP. Use * accessors. & REQ_FAILFAST_MASK
629  If Not ll_front_merge_fn(req, bio, nr_segs) Then Return false
632  lock_bio_frontmerge - merging block operation to the beginning of an existing operation*@q: queue holding operation*@rq: request bio is being merged into*@bio: new block operation to merge* Merging block IO operation @bio to the beginning of an existing
633  rq_qos_merge(q, req, bio)
635  If ( op and common flags & REQ_FAILFAST_MASK) != ff Then blk_rq_set_mixed_merge(req)
638  request queue link = bio
639  bio = bio
641  sector cursor = device address in 512 byte sectors
642  total data len += residual I/O count
644  blk_account_io_start(req, false)
645  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.