函数逻辑报告 | 
Source Code:mm\page-writeback.c | 
Create Date:2022-07-27 15:34:37 | 
| Last Modify:2022-05-23 13:25:58 | Copyright©Brick | 
| 首页 | 函数Tree | 
| 注解内核,赢得工具 | 下载SCCT | English | 
函数名称:write_cache_pages - walk the list of dirty pages of the given address space and write all of them
函数原型:int write_cache_pages(struct address_space *mapping, struct writeback_control *wbc, writepage_t writepage, void *data)
返回类型:int
参数:
| 类型 | 参数 | 名称 | 
|---|---|---|
| struct address_space * | mapping | |
| struct writeback_control * | wbc | |
| writepage_t | writepage | |
| void * | data | 
| 2162 | ret等于0 | 
| 2163 | done等于0 | 
| 2171 | range_whole等于0 | 
| 2174 | pagevec_init( & pvec) | 
| 2175 | 如果ange_start is cyclic 则 | 
| 2179 | 否则 | 
| 2191 | done_index等于index | 
| 2216 | continue_unlock : | 
| 2218 | 继续下一循环 | 
| 2223 | 转到:continue_unlock | 
| 2229 | 否则转到:continue_unlock | 
| 2233 | BUG_ON(Only test-and-set exist for PG_writeback. The unconditional operators are* risky: they bypass page accounting.) | 
| 2237 | trace_wbc_writepage(wbc, inode_to_bdi(host)) | 
| 2239 | 如果此条件成立可能性小(为编译器优化)(error)则 | 
| 2271 | 如果Write this many pages, and decrementthis for each page written 先自减小于等于0且sync_mode恒等于WB_SYNC_NONE则 | 
| 2277 | pagevec_release( & pvec) | 
| 2278 | cond_resched() | 
| 2286 | 如果ange_start is cyclic 且非done则done_index等于0 | 
| 2288 | 如果ange_start is cyclic 或range_whole且Write this many pages, and decrementthis for each page written 大于0则writeback_index等于done_index | 
| 2291 | 返回:ret | 
| 名称 | 描述 | 
|---|---|
| generic_writepages | generic_writepages - walk the list of dirty pages of the given address space and writepage() all of them | 
| iomap_writepages | |
| mpage_writepages | mpage_writepages - walk the list of dirty pages of the given address space & writepage() all of them*@mapping: address space structure to write*@wbc: subtract the number of written pages from *@wbc->nr_to_write | 
| 源代码转换工具 开放的插件接口  | X | 
|---|---|
| 支持:c/c++/esqlc/java Oracle/Informix/Mysql 插件可实现:逻辑报告 代码生成和批量转换代码  |