函数逻辑报告

Linux Kernel

v5.5.9

Brick Technologies Co., Ltd

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

函数名称:dio_bio_complete

函数原型:static blk_status_t dio_bio_complete(struct dio *dio, struct bio *bio)

返回类型:blk_status_t

参数:

类型参数名称
struct dio *dio
struct bio *bio
521  err等于bi_status
522  should_dirty等于op恒等于REQ_OP_READ pages should be dirtied
524  如果err
525  如果err恒等于BLK_STS_AGAIN bottom bits req flags, * top bits REQ_OP. Use * accessors.按位与REQ_NOWAITIO error in completion path 等于负EAGAIN
527  否则IO error in completion path 等于负EIO
531  如果s IO async ? should_dirty
532  bio_check_pages_dirty(bio)
533  否则
534  bio_release_pages(bio, should_dirty)
535  bio_put(bio)
537  返回:err
调用者
名称描述
dio_bio_end_aioAsynchronous IO callback.
dio_await_completionWait on and process all in-flight BIOs
dio_bio_reapA really large O_DIRECT read or write can generate a lot of BIOs. So* to keep the memory consumption sane we periodically reap any completed BIOs* during the BIO generation phase.* This also helps to limit the peak amount of pinned userspace memory.