Function report |
Source Code:fs\ramfs\file-nommu.c |
Create Date:2022-07-28 20:35:07 |
| Last Modify:2020-03-12 14:18:49 | Copyright©Brick |
| home page | Tree |
| Annotation kernel can get tool activity | Download SCCT | Chinese |
Name:add a contiguous set of pages into a ramfs inode when it's truncated from* size 0 on the assumption that it's going to be used for an mmap of shared* memory
Proto:int ramfs_nommu_expand_for_mapping(struct inode *inode, size_t newsize)
Type:int
Parameter:
| Type | Parameter | Name |
|---|---|---|
| struct inode * | inode | |
| size_t | newsize |
| 69 | gfp = mapping_gfp_mask(i_mapping) |
| 72 | order = get_order - Determine the allocation order of a memory size*@size: The size for which to get the order* Determine the allocation order of a particular sized block of memory |
| 73 | If Value for the false possibility is greater at compile time(order >= Free memory management - zoned buddy allocator. ) Then Return -EFBIG |
| 76 | ret = de_newsize_ok - may this inode be truncated to a given size*@inode: the inode to be truncated*@offset: the new size to assign to the inode* inode_newsize_ok must be called with i_mutex held |
| 84 | pages = alloc_pages(gfp, order) |
| 90 | npages = newsize + PAGE_SIZE - 1 >> PAGE_SHIFT determines the page size |
| 100 | data = page_address(pages) |
| 113 | SetPageDirty(page) |
| 114 | SetPageUptodate(page) |
| 120 | Return 0 |
| 122 | add_error : |
| 124 | __free_page(pages + loop++) |
| 125 | Return ret |
| Name | Describe |
|---|---|
| ramfs_nommu_resize | |
| __shmem_file_setup | mmon code |
| Source code conversion tool public plug-in interface | X |
|---|---|
| Support c/c++/esqlc/java Oracle/Informix/Mysql Plug-in can realize: logical Report Code generation and batch code conversion |