函数逻辑报告 |
Source Code:fs\dax.c |
Create Date:2022-07-29 10:56:22 |
| Last Modify:2020-03-12 14:18:49 | Copyright©Brick |
| 首页 | 函数Tree |
| 注解内核,赢得工具 | 下载SCCT | English |
函数名称:Find page cache entry at given index. If it is a DAX entry, return it* with the entry locked. If the page cache doesn't contain an entry at* that index, add a locked empty entry.* When requesting an entry with size DAX_PMD, grab_mapping_entry() will
函数原型:static void *grab_mapping_entry(struct xa_state *xas, struct address_space *mapping, unsigned int order)
返回类型:void
参数:
| 类型 | 参数 | 名称 |
|---|---|---|
| struct xa_state * | xas | |
| struct address_space * | mapping | |
| unsigned int | order |
| 480 | bool pmd_downgrade = false |
| 483 | retry : |
| 484 | xas_lock_irq(xas) |
| 487 | 如果entry则 |
| 488 | 如果rue if the entry that was found is of a smaller order than the entry* we were looking for则转到:fallback |
| 492 | 转到:out_unlock |
| 495 | 如果order恒等于0则 |
| 496 | 如果dax_is_pmd_entry(entry)且dax_is_zero_entry(entry)或dax_is_empty_entry(entry)的值则 |
| 499 | pmd_downgrade = true |
| 504 | 如果pmd_downgrade则 |
| 516 | 如果dax_is_zero_entry(entry)则 |
| 517 | xas_unlock_irq(xas) |
| 522 | xas_lock_irq(xas) |
| 525 | dax_disassociate_entry(entry, mapping, false) |
| 528 | nrexceptional自减 |
| 529 | entry = NULL |
| 533 | 如果entry则 |
| 535 | 否则 |
| 540 | entry等于dax_make_entry(a default pfn to pfn_t conversion assumes that @pfn is pfn_valid() , flags) |
| 542 | 如果xas_error() - Return an errno stored in the xa_state.*@xas: XArray operation state.* Return: 0 if no error has been noted. A negative errno if one has.则转到:out_unlock |
| 544 | nrexceptional自加 |
| 547 | out_unlock : |
| 548 | xas_unlock_irq(xas) |
| 555 | 返回:entry |
| 556 | fallback : |
| 557 | xas_unlock_irq(xas) |
| 名称 | 描述 |
|---|---|
| dax_iomap_pte_fault |
| 源代码转换工具 开放的插件接口 | X |
|---|---|
| 支持:c/c++/esqlc/java Oracle/Informix/Mysql 插件可实现:逻辑报告 代码生成和批量转换代码 |