函数逻辑报告

Linux Kernel

v5.5.9

Brick Technologies Co., Ltd

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

函数名称:Turn quota off on a device. type == -1 ==> quotaoff for all types (umount)

函数原型:int dquot_disable(struct super_block *sb, int type, unsigned int flags)

返回类型:int

参数:

类型参数名称
struct super_block *sb
inttype
unsigned intflags
2187  dqopt等于sb_dqopt(sb)
2190  如果WARN_ON_ONCE(rylock for reading -- returns 1 if successful, 0 if contention)则lease a read lock
2195  如果flags按位与DQUOT_USAGE_ENABLED且非flags按位与DQUOT_LIMITS_ENABLED的值或flags按位与DQUOT_SUSPENDEDflags按位与DQUOT_LIMITS_ENABLED按位或DQUOT_USAGE_ENABLED的值则返回:负EINVAL
2205  如果非sb_any_quota_loaded(sb)则返回:0
2208 cnt小于MAXQUOTAS循环
2209  如果type不等于负1且cnt不等于type则继续下一循环
2211  如果非Does kernel know about any quota information for given sb + type? 则继续下一循环
2214  如果flags按位与DQUOT_SUSPENDED
2215  加自旋锁
2219  否则
2220  加自旋锁
2235  如果Does kernel know about any quota information for given sb + type? 且非flags按位与DQUOT_SUSPENDED的值则继续下一循环
2239  Gather all references from inodes and drop them
2240  Invalidate all dquots on the list
2245  如果info_dirty( & Information for each quota type [cnt])则write_info(sb, cnt)
2247  如果free_file_infofree_file_info(sb, cnt)
2249  put_quota_format(dqi_format)
2250  DFQ_ flags [dq_data_lock] 等于0
2251  Inode grace time [dq_data_lock] 等于0
2252  Space grace time [dq_data_lock] 等于0
2253  Operations for each type [cnt] = NULL
2257  如果 Flags for diskquotas on this device 按位与DQUOT_QUOTA_SYS_FILE则转到:put_inodes
2262  如果sync_fssync_fs(sb, 1)
2264  Write out and wait upon all the dirty data associated with a block* device via its mapping. Does not take the superblock lock.
2270 cnt小于MAXQUOTAS循环如果非Does kernel know about any quota information for given sb + type? inodes of quotafiles [cnt]则
2272  inode_lock( inodes of quotafiles [cnt])
2273  runcate_inode_pages - truncate *all* the pages from an offset*@mapping: mapping to truncate*@lstart: offset from which to truncate* Called under (and serialised by) inode->i_mutex.* Note: When this function returns, there can be a page in the process of
2274  inode_unlock( inodes of quotafiles [cnt])
2276  如果s_bdevInvalidate clean unused buffers and pagecache.
2278  put_inodes :
2280  如果flags按位与DQUOT_SUSPENDED则返回:0
2283 cnt小于MAXQUOTAS循环如果非Does kernel know about any quota information for given sb + type?
2285  vfs_cleanup_quota_inode(sb, cnt)
2286  返回:0
调用者
名称描述
dquot_quota_off
dquot_load_quota_sb
dquot_quota_enable
dquot_quota_disable
dquot_suspendSuspend quotas on remount RO