Function report

Linux Kernel

v5.5.9

Brick Technologies Co., Ltd

Source Code:fs\iomap\buffered-io.c Create Date:2022-07-28 20:31:55
Last Modify:2020-03-12 14:18:49 Copyright©Brick
home page Tree
Annotation kernel can get tool activityDownload SCCTChinese

Name: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().

Proto:static struct bio *iomap_chain_bio(struct bio *prev)

Type:struct bio

Parameter:

TypeParameterName
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  Return new
Caller
NameDescribe
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.