函数逻辑报告 |
Source Code:fs\fs-writeback.c |
Create Date:2022-07-29 10:41:33 |
| Last Modify:2020-03-12 14:18:49 | Copyright©Brick |
| 首页 | 函数Tree |
| 注解内核,赢得工具 | 下载SCCT | English |
函数名称:__mark_inode_dirty - internal function*@inode: inode to mark*@flags: what kind of dirty (i
函数原型:void __mark_inode_dirty(struct inode *inode, int flags)
返回类型:void
参数:
| 类型 | 参数 | 名称 |
|---|---|---|
| struct inode * | inode | |
| int | flags |
| 2254 | 如果flags按位与I_DIRTY_INODE按位或I_DIRTY_TIME的值则 |
| 2257 | 如果dirty_inode则dirty_inode(inode, flags) |
| 2262 | 如果flags按位与I_DIRTY_INODE则flags与等于I_DIRTY_TIME的反 |
| 2264 | dirtytime等于flags按位与I_DIRTY_TIME |
| 2270 | smp_mb() |
| 2276 | 如果此条件成立可能性小(为编译器优化)(Flag that makes the machine dump writes/reads and block dirtyings.)则block_dump___mark_inode_dirty(inode) |
| 2279 | 加自旋锁 |
| 2280 | 如果dirtytime且Misc 按位与I_DIRTY_INODE则转到:out_unlock_inode |
| 2285 | inode_attach_wb(inode, NULL) |
| 2287 | 如果flags按位与I_DIRTY_INODE则Misc 与等于I_DIRTY_TIME的反 |
| 2296 | 如果Misc 按位与I_SYNC则转到:out_unlock_inode |
| 2304 | 如果inode_unhashed(inode)则转到:out_unlock_inode |
| 2307 | 如果Misc 按位与I_FREEING则转到:out_unlock_inode |
| 2314 | 如果非was_dirty则 |
| 2317 | bool wakeup_bdi = false |
| 2321 | WARN(bdi_cap_writeback_dirty(ur parent bdi ) && !st_bit - Determine whether a bit is set*@nr: bit number to test*@addr: Address to start counting from, "bdi-%s not registered\n", name) |
| 2325 | jiffies of first dirtying 等于jiffies |
| 2326 | 如果dirtytime则dirtied_time_when等于jiffies |
| 2329 | 如果Misc 按位与I_DIRTY则dirty_list等于dirty inodes |
| 2331 | 否则dirty_list等于ime stamps are dirty |
| 2337 | 自旋锁解锁 |
| 2346 | 如果bdi_cap_writeback_dirty(ur parent bdi )且wakeup_bdi则This function is used when the first inode for this wb is marked dirty |
| 2348 | 返回 |
| 2351 | out_unlock_inode : |
| 2352 | 自旋锁解锁 |
| 名称 | 描述 |
|---|---|
| __set_page_dirty_buffers | Add a page to the dirty page list.* It is a sad fact of life that this function is called from several places* deeply under spinlocking. It may not sleep.* If the page has buffers, the uptodate buffers are set dirty, to preserve |
| mark_buffer_dirty | mark_buffer_dirty - mark a buffer_head as needing writeout*@bh: the buffer_head to mark dirty* mark_buffer_dirty() will set the dirty bit against the buffer, then set* its backing page dirty, then tag the page as dirty in the page cache* and then attach |
| dax_insert_entry | By this point grab_mapping_entry() has ensured that we have a locked entry* of the appropriate size so we don't have to worry about downgrading PMDs to* PTEs |
| iomap_set_page_dirty | |
| __set_page_dirty_nobuffers | For address_spaces which do not use buffers. Just tag the page as dirty in* the xarray.* This is also used when a single buffer is being dirtied: we want to set the* page dirty in that case, but not all the buffers. This is a "bottom-up" |
| mark_inode_dirty | |
| mark_inode_dirty_sync |
| 源代码转换工具 开放的插件接口 | X |
|---|---|
| 支持:c/c++/esqlc/java Oracle/Informix/Mysql 插件可实现:逻辑报告 代码生成和批量转换代码 |