函数逻辑报告 |
Source Code:fs\buffer.c |
Create Date:2022-07-29 10:45:11 |
| Last Modify:2020-03-18 10:38:29 | Copyright©Brick |
| 首页 | 函数Tree |
| 注解内核,赢得工具 | 下载SCCT | English |
函数名称:Create the page-cache page that contains the requested block.* This is used purely for blockdev mappings.
函数原型:static int grow_dev_page(struct block_device *bdev, sector_t block, unsigned long index, int size, int sizebits, gfp_t gfp)
返回类型:int
参数:
| 类型 | 参数 | 名称 |
|---|---|---|
| struct block_device * | bdev | |
| sector_t | block | |
| unsigned long | index | |
| int | size | |
| int | sizebits | |
| gfp_t | gfp |
| 976 | ret等于0 |
| 987 | gfp_mask或等于__GFP_NOFAIL |
| 991 | BUG_ON(!PageLocked(page)) |
| 993 | 如果page_has_buffers(page)则 |
| 995 | 如果 size of mapping 恒等于size则 |
| 1001 | 如果非try_to_free_buffers(page)则转到:failed |
| 1008 | bh等于Create the appropriate buffers when given a page for data area and* the size of each buffer |
| 1015 | 加自旋锁 |
| 1016 | link_dev_buffers(page, bh) |
| 1019 | 自旋锁解锁 |
| 1020 | done : |
| 1022 | failed : |
| 1025 | 返回:ret |
| 名称 | 描述 |
|---|---|
| grow_buffers | Create buffers for the specified block device block's page. If* that page was dirty, the buffers are set dirty also. |
| 源代码转换工具 开放的插件接口 | X |
|---|---|
| 支持:c/c++/esqlc/java Oracle/Informix/Mysql 插件可实现:逻辑报告 代码生成和批量转换代码 |