函数逻辑报告 |
Source Code:fs\ioctl.c |
Create Date:2022-07-29 10:36:17 |
Last Modify:2020-03-12 14:18:49 | Copyright©Brick |
首页 | 函数Tree |
注解内核,赢得工具 | 下载SCCT | English |
函数名称:__generic_block_fiemap - FIEMAP for block based inodes (no locking)*@inode: the inode to map*@fieinfo: the fiemap info struct that will be passed back to userspace*@start: where to start mapping in the inode*@len: how much space to map*@get_block: the
函数原型:int __generic_block_fiemap(struct inode *inode, struct fiemap_extent_info *fieinfo, loff_t start, loff_t len, get_block_t *get_block)
返回类型:int
参数:
类型 | 参数 | 名称 |
---|---|---|
struct inode * | inode | |
struct fiemap_extent_info * | fieinfo | |
loff_t | start | |
loff_t | len | |
get_block_t * | get_block |
299 | bool past_eof = TSC's on different sockets may be reset asynchronously.* This may cause the TSC ADJUST value on socket 0 to be NOT 0., whole_file = false |
300 | ret等于0 |
312 | whole_file = true |
320 | 如果logical_to_blk(inode, len)恒等于0则len等于blk_to_logical(inode, 1) |
323 | start_blk等于logical_to_blk(inode, start) |
324 | last_blk等于logical_to_blk(inode, start + len - 1) |
326 | 循环 |
331 | memset( & map_bh, 0, sizeof(structbuffer_head)) |
332 | size of mapping 等于len |
339 | 如果非buffer_mapped( & map_bh)则 |
340 | start_blk自加 |
362 | 否则如果size则 |
371 | 否则 |
387 | 如果start_blk大于last_blk且非whole_file则 |
398 | 如果size则 |
406 | logical等于blk_to_logical(inode, start_blk) |
407 | phys等于blk_to_logical(inode, start block number ) |
408 | size等于 size of mapping |
411 | start_blk加等于logical_to_blk(inode, size) |
421 | cond_resched() |
422 | 如果fatal_signal_pending(当前进程)则 |
427 | 当1循环 |
433 | 返回:ret |
名称 | 描述 |
---|---|
generic_block_fiemap | generic_block_fiemap - FIEMAP for block based inodes*@inode: The inode to map*@fieinfo: The mapping information*@start: The initial block to map*@len: The length of the extect to attempt to map*@get_block: The block mapping function for the fs* Calls |
源代码转换工具 开放的插件接口 | X |
---|---|
支持:c/c++/esqlc/java Oracle/Informix/Mysql 插件可实现:逻辑报告 代码生成和批量转换代码 |