函数逻辑报告 |
Source Code:block\bounce.c |
Create Date:2022-07-27 19:08:54 |
Last Modify:2020-03-12 14:18:49 | Copyright©Brick |
首页 | 函数Tree |
注解内核,赢得工具 | 下载SCCT | English |
函数名称:__blk_queue_bounce
函数原型:static void __blk_queue_bounce(struct request_queue *q, struct bio **bio_orig, mempool_t *pool)
返回类型:void
参数:
类型 | 参数 | 名称 |
---|---|---|
struct request_queue * | q | |
struct bio ** | bio_orig | |
mempool_t * | pool |
293 | i等于0 |
294 | bool bounce = false |
295 | sectors等于0 |
296 | passthrough等于bio_is_passthrough( * bio_orig) |
298 | bio_for_each_segment(from, * bio_orig, iter) |
299 | 如果i自加小于BIO_MAX_PAGES则sectors加等于bv_len右移9位 |
301 | 如果page_to_pfn(bv_page)大于bounce_pfn则bounce = true |
304 | 如果非bounce则返回 |
307 | 如果非passthrough且sectors小于bio_sectors( * bio_orig)则 |
313 | bio等于bounce_clone_bio( * bio_orig, GFP_NOIO, passthrough ? NULL : & bounce_bio_set) |
321 | 以i小于 how many bio_vec's 循环 |
324 | 如果page_to_pfn(page)小于等于bounce_pfn则继续下一循环 |
344 | status, etc and bvec pool number 或等于1左移BIO_BOUNCED位 |
350 | 否则 |
356 | bi_private等于bio_orig |
名称 | 描述 |
---|---|
blk_queue_bounce |
源代码转换工具 开放的插件接口 | X |
---|---|
支持:c/c++/esqlc/java Oracle/Informix/Mysql 插件可实现:逻辑报告 代码生成和批量转换代码 |