| 函数逻辑报告 | 
| Source Code: mm\page_io.c | Create Date:2022-07-27 16:44:06 | 
| Last Modify:2020-03-12 14:18:49 | Copyright©Brick | 
| 首页 | 函数Tree | 
| 注解内核,赢得工具 | 下载SCCT | English | 
函数名称:__swap_writepage
函数原型:int __swap_writepage(struct page *page, struct writeback_control *wbc, bio_end_io_t end_write_func)
返回类型:int
参数:
| 类型 | 参数 | 名称 | 
|---|---|---|
| struct page * | page | |
| struct writeback_control * | wbc | |
| bio_end_io_t | end_write_func | 
| 283 | sis等于page_swap_info(page) | 
| 285 | VM_BUG_ON_PAGE(!PageSwapCache(page), page) | 
| 286 | 如果SWP_USED etc: see above 按位与SWP_FS则 | 
| 297 | iov_iter_bvec( & from, WRITE, & bv, 1, PAGE_SIZE) | 
| 298 | init_sync_kiocb( & kiocb, swap_file) | 
| 299 | 文件偏移等于page_file_offset(page) | 
| 301 | set_page_writeback(page) | 
| 305 | Disable counters | 
| 306 | ret等于0 | 
| 307 | 否则 | 
| 318 | Dirty a page | 
| 320 | pr_err_ratelimited("Write error on dio swapfile (%llu)\n", page_file_offset(page)) | 
| 324 | 返回:ret | 
| 328 | 如果非ret则 | 
| 330 | 返回:0 | 
| 333 | ret等于0 | 
| 334 | bio等于get_swap_bio(GFP_NOIO, page, end_write_func) | 
| 335 | 如果(bio == NULL)则 | 
| 336 | Dirty a page | 
| 339 | 转到:out | 
| 341 | bottom bits req flags, * top bits REQ_OP. Use * accessors.等于REQ_OP_WRITE按位或REQ_SWAP按位或wbc_to_write_flags(wbc) | 
| 344 | set_page_writeback(page) | 
| 346 | submit_bio(bio) | 
| 347 | out : | 
| 348 | 返回:ret | 
| 名称 | 描述 | 
|---|---|
| swap_writepage | We may have stale swap cache pages in memory: notice* them here and get rid of the unnecessary final write. | 
| zswap_writeback_entry | 
| 源代码转换工具 开放的插件接口 | X | 
|---|---|
| 支持:c/c++/esqlc/java Oracle/Informix/Mysql 插件可实现:逻辑报告 代码生成和批量转换代码 |