函数逻辑报告 |
Source Code:fs\buffer.c |
Create Date:2022-07-29 10:45:10 |
Last Modify:2020-03-18 10:38:29 | Copyright©Brick |
首页 | 函数Tree |
注解内核,赢得工具 | 下载SCCT | English |
函数名称:Create the appropriate buffers when given a page for data area and* the size of each buffer
函数原型:struct buffer_head *alloc_page_buffers(struct page *page, unsigned long size, bool retry)
返回类型:struct buffer_head
参数:
类型 | 参数 | 名称 |
---|---|---|
struct page * | page | |
unsigned long | size | |
bool | retry |
858 | gfp等于GFP_NOFS按位或__GFP_ACCOUNT |
862 | 如果retry则gfp或等于__GFP_NOFAIL |
868 | head = NULL |
871 | bh等于alloc_buffer_head(gfp) |
876 | start block number 等于负1 |
879 | size of mapping 等于size |
882 | set_bh_page(bh, page, offset) |
884 | out : |
886 | mem_cgroup_put(memcg) |
887 | 返回:head |
891 | no_grow : |
892 | 如果head则 |
900 | 转到:out |
名称 | 描述 |
---|---|
grow_dev_page | Create the page-cache page that contains the requested block.* This is used purely for blockdev mappings. |
create_empty_buffers | We attach and possibly dirty the buffers atomically wrt* __set_page_dirty_buffers() via private_lock. try_to_free_buffers* is already excluded via the page lock. |
nobh_write_begin | On entry, the page is fully not uptodate.* On exit the page is fully uptodate in the areas outside (from,to)* The filesystem needs to handle block truncation upon failure. |
源代码转换工具 开放的插件接口 | X |
---|---|
支持:c/c++/esqlc/java Oracle/Informix/Mysql 插件可实现:逻辑报告 代码生成和批量转换代码 |