函数逻辑报告

Linux Kernel

v5.5.9

Brick Technologies Co., Ltd

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

函数名称:__dax_invalidate_entry

函数原型:static int __dax_invalidate_entry(struct address_space *mapping, unsigned long index, bool trunc)

返回类型:int

参数:

类型参数名称
struct address_space *mapping
unsigned longindex
booltrunc
633  XA_STATE() - Declare an XArray operation state.*@name: Name of this operation state (usually xas).*@array: Array to operate on.*@index: Initial index of interest.* Declare and initialise an xa_state on the stack.(xas, & i_pages, index)
634  ret等于0
637  xas_lock_irq( & xas)
638  entry等于Look up entry in page cache, wait for it to become unlocked if it* is a DAX entry and return it. The caller must subsequently call* put_unlocked_entry() if it did not lock the entry or dax_unlock_entry()* if it did
639  如果非entryWARN_ON_ONCE(!xa_is_value() - Determine if an entry is a value.*@entry: XArray entry.* Context: Any context.* Return: True if the entry is a value, false if it is a pointer.)则转到:out
641  如果非truncxas_get_mark() - Returns the state of this mark.*@xas: XArray operation state.*@mark: Mark number.* Return: true if the mark is set, false if the mark is clear or @xas* is in an error state.xas_get_mark() - Returns the state of this mark.*@xas: XArray operation state.*@mark: Mark number.* Return: true if the mark is set, false if the mark is clear or @xas* is in an error state.的值则转到:out
645  dax_disassociate_entry(entry, mapping, trunc)
646  xas_store() - Store this entry in the XArray
647  nrexceptional自减
648  ret等于1
649  out :
650  put_unlocked_entry( & xas, entry)
651  xas_unlock_irq( & xas)
652  返回:ret
调用者
名称描述
dax_delete_mapping_entryDelete DAX entry at @index from @mapping. Wait for it* to be unlocked before deleting it.
dax_invalidate_mapping_entry_syncInvalidate DAX entry if it is clean.