函数逻辑报告

Linux Kernel

v5.5.9

Brick Technologies Co., Ltd

Source Code:fs\buffer.c Create Date:2022-07-29 10:45:09
Last Modify:2020-03-18 10:38:29 Copyright©Brick
首页 函数Tree
注解内核,赢得工具下载SCCTEnglish

函数名称: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

函数原型:int __set_page_dirty_buffers(struct page *page)

返回类型:int

参数:

类型参数名称
struct page *page
659  mapping等于page_mapping(page)
661  如果此条件成立可能性小(为编译器优化)(!mapping)则返回:非TestSetPageDirty(page)
664  加自旋锁
665  如果page_has_buffers(page)则
666  head等于If we *know* page->private refers to buffer_heads (page)
667  bh等于head
669  循环
672 bh不等于head循环
678  lock_page_memcg - lock a page->mem_cgroup binding*@page: the page* This function protects unlocked LRU pages from being moved to* another cgroup
679  newly_dirty等于非TestSetPageDirty(page)
680  自旋锁解锁
682  如果newly_dirtyMark the page dirty, and set it dirty in the page cache, and mark the inode* dirty.* If warn is true, then emit a warning if the page is not uptodate and has* not been truncated.* The caller must hold lock_page_memcg().
685  lock_page_memcg - unlock a page->mem_cgroup binding*@page: the page
687  如果newly_dirty__mark_inode_dirty - internal function*@inode: inode to mark*@flags: what kind of dirty (i
690  返回:newly_dirty