函数逻辑报告

Linux Kernel

v5.5.9

Brick Technologies Co., Ltd

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

函数名称:iterate_bdevs

函数原型:void iterate_bdevs(void (*func)(struct block_device *, void *), void *arg)

返回类型:void

参数:

类型参数名称
void (*func
void *arg
2240  struct inode * inode, * old_inode = NULL
2242  加自旋锁
2244  mapping等于i_mapping
2247  加自旋锁
2248  如果Misc 按位与I_FREEING按位或I_WILL_FREE按位或I_NEW的值或nrpages恒等于0则
2250  自旋锁解锁
2251  继续下一循环
2253  __iget(inode)
2254  自旋锁解锁
2255  自旋锁解锁
2264  放置一个索引节点
2265  old_inode等于inode
2266  bdev等于I_BDEV(inode)
2268  mutex_lock( & open/close mutex )
2269  如果bd_openersfunc(bdev, arg)
2271  mutex_unlock - release the mutex*@lock: the mutex to be released* Unlock a mutex that has been locked by this task previously.* This function must not be used in interrupt context. Unlocking* of a not locked mutex is not allowed.
2273  加自旋锁
2275  自旋锁解锁
2276  放置一个索引节点
调用者
名称描述
ksys_syncSync everything. We start by waking flusher threads so that most of* writeback runs on all devices in parallel. Then we sync all inodes reliably* which effectively also waits for all flusher threads to finish doing* writeback
do_sync_work