函数逻辑报告 |
Source Code:fs\buffer.c |
Create Date:2022-07-29 10:45:17 |
| Last Modify:2020-03-18 10:38:29 | Copyright©Brick |
| 首页 | 函数Tree |
| 注解内核,赢得工具 | 下载SCCT | English |
函数名称:__block_write_begin_int
函数原型:int __block_write_begin_int(struct page *page, loff_t pos, unsigned len, get_block_t *get_block, struct iomap *iomap)
返回类型:int
参数:
| 类型 | 参数 | 名称 |
|---|---|---|
| struct page * | page | |
| loff_t | pos | |
| unsigned | len | |
| get_block_t * | get_block | |
| struct iomap * | iomap |
| 1978 | err等于0 |
| 1980 | wait_bh等于wait |
| 1982 | BUG_ON(!PageLocked(page)) |
| 1987 | head等于create_page_buffers(page, inode, 0) |
| 1988 | blocksize等于 size of mapping |
| 1993 | 以bh不等于head或非block_start循环 |
| 1995 | block_end等于block_start加blocksize |
| 1996 | 如果block_end小于等于from或block_start大于等于to则 |
| 1997 | 如果PageUptodate(page)则 |
| 2001 | 继续下一循环 |
| 2003 | 如果buffer_new(bh)则clear_buffer_new(bh) |
| 2005 | 如果非buffer_mapped(bh)则 |
| 2006 | WARN_ON( size of mapping != blocksize) |
| 2007 | 如果get_block则 |
| 2011 | 否则 |
| 2012 | iomap_to_bh(inode, block, bh, iomap) |
| 2015 | 如果buffer_new(bh)则 |
| 2016 | clean_bdev_bh_alias(bh) |
| 2017 | 如果PageUptodate(page)则 |
| 2018 | clear_buffer_new(bh) |
| 2021 | 继续下一循环 |
| 2023 | 如果block_end大于to或block_start小于from则zero_user_segments(page, to, block_end, block_start, from) |
| 2027 | 继续下一循环 |
| 2030 | 如果PageUptodate(page)则 |
| 2033 | 继续下一循环 |
| 2046 | wait_on_buffer( * --wait_bh) |
| 2052 | 返回:err |
| 源代码转换工具 开放的插件接口 | X |
|---|---|
| 支持:c/c++/esqlc/java Oracle/Informix/Mysql 插件可实现:逻辑报告 代码生成和批量转换代码 |