函数逻辑报告 |
Source Code:fs\dax.c |
Create Date:2022-07-29 10:56:26 |
Last Modify:2020-03-12 14:18:49 | Copyright©Brick |
首页 | 函数Tree |
注解内核,赢得工具 | 下载SCCT | English |
函数名称:dax_writeback_one
函数原型:static int dax_writeback_one(struct xa_state *xas, struct dax_device *dax_dev, struct address_space *mapping, void *entry)
返回类型:int
参数:
类型 | 参数 | 名称 |
---|---|---|
struct xa_state * | xas | |
struct dax_device * | dax_dev | |
struct address_space * | mapping | |
void * | entry |
853 | ret等于0 |
859 | 如果WARN_ON(!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.)则返回:负EIO |
862 | 如果此条件成立可能性小(为编译器优化)(dax_is_locked(entry))则 |
875 | 如果dax_to_pfn(old_entry)不等于dax_to_pfn(entry)则转到:put_unlocked |
877 | 如果WARN_ON_ONCE(dax_is_empty_entry(entry) || dax_is_zero_entry(entry))则 |
880 | 转到:put_unlocked |
899 | xas_unlock_irq(xas) |
908 | pfn等于dax_to_pfn(entry) |
909 | count等于1UL左移dax_entry_order(entry)位 |
913 | dax_flush(dax_dev, page_address(pfn_to_page(pfn)), count * PAGE_SIZE) |
921 | xas_lock_irq(xas) |
926 | trace_dax_writeback_one(host, index, count) |
927 | 返回:ret |
929 | put_unlocked : |
930 | put_unlocked_entry(xas, entry) |
931 | 返回:ret |
名称 | 描述 |
---|---|
dax_writeback_mapping_range | Flush the mapping to the persistent domain within the byte range of [start,* end]. This is required by data integrity operations to ensure file data is* on persistent storage prior to completion of the operation. |
源代码转换工具 开放的插件接口 | X |
---|---|
支持:c/c++/esqlc/java Oracle/Informix/Mysql 插件可实现:逻辑报告 代码生成和批量转换代码 |