Function report |
Source Code:fs\fs-writeback.c |
Create Date:2022-07-28 20:10:54 |
Last Modify:2020-03-12 14:18:49 | Copyright©Brick |
home page | Tree |
Annotation kernel can get tool activity | Download SCCT | Chinese |
Name:__mark_inode_dirty - internal function*@inode: inode to mark*@flags: what kind of dirty (i
Proto:void __mark_inode_dirty(struct inode *inode, int flags)
Type:void
Parameter:
Type | Parameter | Name |
---|---|---|
struct inode * | inode | |
int | flags |
2254 | If flags & (I_DIRTY_INODE | I_DIRTY_TIME) Then |
2257 | If dirty_inode Then dirty_inode(inode, flags) |
2262 | If flags & I_DIRTY_INODE Then flags &= ~I_DIRTY_TIME |
2264 | dirtytime = flags & I_DIRTY_TIME |
2270 | smp_mb() |
2276 | If Value for the false possibility is greater at compile time(Flag that makes the machine dump writes/reads and block dirtyings.) Then block_dump___mark_inode_dirty(inode) |
2279 | spin_lock( & _blocks, i_bytes, maybe i_size ) |
2280 | If dirtytime && Misc & I_DIRTY_INODE Then Go to out_unlock_inode |
2285 | inode_attach_wb(inode, NULL) |
2287 | If flags & I_DIRTY_INODE Then Misc &= ~I_DIRTY_TIME |
2296 | If Misc & Writeback of inode is running Then Go to out_unlock_inode |
2304 | If inode_unhashed(inode) Then Go to out_unlock_inode |
2307 | If Misc & Set when inode is about to be freed but still has dirty pages or buffers attached or the inode itself is still dirty Then Go to out_unlock_inode |
2314 | If Not was_dirty Then |
2317 | bool wakeup_bdi = false |
2319 | wb = locked_inode_to_wb_and_lock_list(inode) |
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 | If dirtytime Then dirtied_time_when = jiffies |
2329 | If Misc & I_DIRTY Then dirty_list = dirty inodes |
2331 | Else dirty_list = ime stamps are dirty |
2337 | spin_unlock( & protects the b_* lists ) |
2346 | If bdi_cap_writeback_dirty(ur parent bdi ) && wakeup_bdi Then This function is used when the first inode for this wb is marked dirty |
2348 | Return |
2351 | out_unlock_inode : |
2352 | spin_unlock( & _blocks, i_bytes, maybe i_size ) |
Name | Describe |
---|---|
__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 | |
mark_inode_dirty | |
mark_inode_dirty_sync | |
__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" |
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 |