函数逻辑报告

Linux Kernel

v5.5.9

Brick Technologies Co., Ltd

Source Code:fs\iomap\buffered-io.c Create Date:2022-07-29 11:07:29
Last Modify:2020-03-12 14:18:49 Copyright©Brick
首页 函数Tree
注解内核,赢得工具下载SCCTEnglish

函数名称:Allocate a new bio, and chain the old bio to the new one.* Note that we have to do perform the chaining in this unintuitive order* so that the bi_private linkage is set up in the right direction for the* traversal in iomap_finish_ioend().

函数原型:static struct bio *iomap_chain_bio(struct bio *prev)

返回类型:struct bio

参数:

类型参数名称
struct bio *prev
1330  new等于bio_alloc(GFP_NOFS, BIO_MAX_PAGES)
1331  bio_copy_dev(new, prev)
1332  device address in 512 byte sectors 等于bio_end_sector(prev)
1333  bottom bits req flags, * top bits REQ_OP. Use * accessors.等于 bottom bits req flags, * top bits REQ_OP. Use * accessors.
1334  bi_write_hint等于bi_write_hint
1336  bio_chain(prev, new)
1337  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
1338  submit_bio(prev)
1339  返回:new
调用者
名称描述
iomap_add_to_ioendTest to see if we have an existing ioend structure that we could append to* first, otherwise finish off the current ioend and start another.