| Function report | 
| Source Code: fs\quota\dquot.c | Create Date:2022-07-28 20:32:55 | 
| Last Modify:2020-03-12 14:18:49 | Copyright©Brick | 
| home page | Tree | 
| Annotation kernel can get tool activity | Download SCCT | Chinese | 
Name:Turn quota off on a device. type == -1 ==> quotaoff for all types (umount)
Proto:int dquot_disable(struct super_block *sb, int type, unsigned int flags)
Type:int
Parameter:
| Type | Parameter | Name | 
|---|---|---|
| struct super_block * | sb | |
| int | type | |
| unsigned int | flags | 
| 2190 | If WARN_ON_ONCE(rylock for reading -- returns 1 if successful, 0 if contention) Then lease a read lock | 
| 2195 | If flags & DQUOT_USAGE_ENABLED && Not (flags & DQUOT_LIMITS_ENABLED) || flags & DQUOT_SUSPENDED && flags & (DQUOT_LIMITS_ENABLED | DQUOT_USAGE_ENABLED) Then Return -EINVAL | 
| 2205 | If Not sb_any_quota_loaded(sb) Then Return 0 | 
| 2211 | If Not Does kernel know about any quota information for given sb + type? Then Continue | 
| 2214 | If flags & DQUOT_SUSPENDED Then | 
| 2215 | spin_lock( & dq_state_lock) | 
| 2218 | spin_unlock( & dq_state_lock) | 
| 2219 | Else | 
| 2220 | spin_lock( & dq_state_lock) | 
| 2223 | If Not Does kernel know about any quota information for given sb + type? && sb_has_quota_suspended(sb, cnt) Then | 
| 2231 | spin_unlock( & dq_state_lock) | 
| 2235 | If Does kernel know about any quota information for given sb + type? && Not (flags & DQUOT_SUSPENDED) Then Continue | 
| 2245 | If info_dirty( & Information for each quota type [cnt]) Then write_info(sb, cnt) | 
| 2247 | If free_file_info Then free_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 | If Flags for diskquotas on this device & DQUOT_QUOTA_SYS_FILE Then Go to put_inodes | 
| 2270 | When cnt < MAXQUOTAS cycle If Not Does kernel know about any quota information for given sb + type? && inodes of quotafiles [cnt] Then | 
| 2272 | inode_lock( inodes of quotafiles [cnt]) | 
| 2274 | inode_unlock( inodes of quotafiles [cnt]) | 
| 2276 | If s_bdev Then Invalidate clean unused buffers and pagecache. | 
| 2278 | put_inodes : | 
| 2280 | If flags & DQUOT_SUSPENDED Then Return 0 | 
| 2283 | When cnt < MAXQUOTAS cycle If Not Does kernel know about any quota information for given sb + type? Then | 
| 2285 | vfs_cleanup_quota_inode(sb, cnt) | 
| 2286 | Return 0 | 
| Name | Describe | 
|---|---|
| dquot_quota_off | |
| dquot_load_quota_sb | |
| dquot_quota_enable | |
| dquot_quota_disable | |
| dquot_suspend | Suspend quotas on remount RO | 
| Source code conversion tool public plug-in interface | X | 
|---|---|
| Support c/c++/esqlc/java Oracle/Informix/Mysql Plug-in can realize: logical Report Code generation and batch code conversion |