函数逻辑报告

Linux Kernel

v5.5.9

Brick Technologies Co., Ltd

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

函数名称:This operation can block, but only after everything is updated

函数原型:void __dquot_free_space(struct inode *inode, qsize_t number, int flags)

返回类型:void

参数:

类型参数名称
struct inode *inode
qsize_tnumber
intflags
1853  reserve等于flags按位与DQUOT_SPACE_RESERVE
1855  如果非dquot_active(inode)则
1856  如果reserve
1857  加自旋锁
1860  否则
1863  返回
1866  dquots等于i_dquot(inode)
1867  index等于srcu_read_lock - register a new reader for an SRCU-protected structure
1868  加自旋锁
1869 cnt小于MAXQUOTAS循环
1872  w_type等于Definitions for quota netlink interface
1873  如果非dquots[cnt]则继续下一循环
1875  加自旋锁
1876  wtype等于info_bdq_free(dquots[cnt], number)
1877  如果wtype不等于Definitions for quota netlink interfaceprepare_warning( & warn[cnt], dquots[cnt], wtype)
1879  如果reservedquot_free_reserved_space(dquots[cnt], number)
1881  否则dquot_decr_space(dquots[cnt], number)
1883  自旋锁解锁
1885  如果reservede_reserved_space is managed internally by quota, and protected by* i_lock similar to i_blocks+i_bytes.减等于number
1887  否则__inode_sub_bytes(inode, number)
1889  自旋锁解锁
1891  如果reserve则转到:out_unlock
1893  Dirtify all the dquots - this can block when journalling
1894  out_unlock :
1895  注销过期读锁
1896  Write warnings to the console and send warning messages over netlink.* Note that this function can call into tty and networking code.
调用者
名称描述
dquot_free_space_nodirty
dquot_release_reservation_block