函数逻辑报告 |
Source Code:fs\block_dev.c |
Create Date:2022-07-29 10:46:09 |
Last Modify:2020-03-12 14:18:49 | Copyright©Brick |
首页 | 函数Tree |
注解内核,赢得工具 | 下载SCCT | English |
函数名称:__blkdev_put
函数原型:static void __blkdev_put(struct block_device *bdev, fmode_t mode, int for_part)
返回类型:void
参数:
类型 | 参数 | 名称 |
---|---|---|
struct block_device * | bdev | |
fmode_t | mode | |
int | for_part |
1881 | struct block_device * victim = NULL |
1883 | mutex_lock_nested( & open/close mutex , for_part) |
1887 | 如果非bd_openers先自减则 |
1888 | WARN_ON_ONCE(bd_holders) |
1892 | bdev_write_inode(bdev) |
1894 | 如果bd_contains恒等于bdev则 |
1898 | 如果非bd_openers则 |
1899 | disk_put_part(bd_part) |
1900 | bd_part = NULL |
1901 | bd_disk = NULL |
1902 | 如果bdev不等于bd_contains则victim等于bd_contains |
1904 | bd_contains = NULL |
1906 | put_disk_and_module(disk) |
1910 | 如果victim则__blkdev_put(victim, mode, 1) |
名称 | 描述 |
---|---|
__blkdev_get | d_mutex locking:* mutex_lock(part->bd_mutex)* mutex_lock_nested(whole->bd_mutex, 1) |
__blkdev_put | |
blkdev_put |
源代码转换工具 开放的插件接口 | X |
---|---|
支持:c/c++/esqlc/java Oracle/Informix/Mysql 插件可实现:逻辑报告 代码生成和批量转换代码 |