函数逻辑报告

Linux Kernel

v5.5.9

Brick Technologies Co., Ltd

Source Code:fs\dax.c Create Date:2022-07-29 10:56:25
Last Modify:2020-03-12 14:18:49 Copyright©Brick
首页 函数Tree
注解内核,赢得工具下载SCCTEnglish

函数名称:Walk all mappings of a given index of a file and writeprotect them

函数原型:static void dax_entry_mkclean(struct address_space *mapping, unsigned long index, unsigned long pfn)

返回类型:void

参数:

类型参数名称
struct address_space *mapping
unsigned longindex
unsigned longpfn
780  pte_t pte, * ptep = NULL
781  pmd_t * pmdp = NULL
784  i_mmap_lock_read(mapping)
789  cond_resched()
791  如果非Flags, see mm.h. 按位与VM_SHARED的值则继续下一循环
794  address等于pgoff_address(index, vma)
801  如果follow_pte_pmd(The address space we belong to. , address, & range, & ptep, & pmdp, & ptl)则继续下一循环
812  如果pmdp
828  自旋锁解锁
829  否则
830  如果pfn不等于pte_pfn( * ptep)则转到:unlock_pte
832  如果非The following only work if pte_present() is true.* Undefined behaviour if not..且非pte_write( * ptep)则转到:unlock_pte
835  flush_cache_page(vma, address, pfn)
836  pte等于ptep_clear_flush(vma, address, ptep)
837  pte等于pte_wrprotect(pte)
838  pte等于pte_mkclean(pte)
839  set_pte_at(The address space we belong to. , address, ptep, pte)
840  unlock_pte :
841  pte_unmap_unlock(ptep, ptl)
844  mmu_notifier_invalidate_range_end( & range)
846  i_mmap_unlock_read(mapping)
调用者
名称描述
dax_writeback_one