Function report |
Source Code:fs\quota\dquot.c |
Create Date:2022-07-28 20:32:54 |
| Last Modify:2020-03-12 14:18:49 | Copyright©Brick |
| home page | Tree |
| Annotation kernel can get tool activity | Download SCCT | Chinese |
Name:This operation can block, but only after everything is updated
Proto:void __dquot_free_space(struct inode *inode, qsize_t number, int flags)
Type:void
Parameter:
| Type | Parameter | Name |
|---|---|---|
| struct inode * | inode | |
| qsize_t | number | |
| int | flags |
| 1853 | reserve = flags & DQUOT_SPACE_RESERVE |
| 1855 | If Not dquot_active(inode) Then |
| 1856 | If reserve Then |
| 1857 | spin_lock( & _blocks, i_bytes, maybe i_size ) |
| 1858 | de_reserved_space is managed internally by quota, and protected by* i_lock similar to i_blocks+i_bytes. -= number |
| 1859 | spin_unlock( & _blocks, i_bytes, maybe i_size ) |
| 1860 | Else |
| 1861 | inode_sub_bytes(inode, number) |
| 1863 | Return |
| 1868 | spin_lock( & _blocks, i_bytes, maybe i_size ) |
| 1875 | spin_lock( & Lock protecting dq_dqb changes ) |
| 1876 | wtype = info_bdq_free(dquots[cnt], number) |
| 1877 | If wtype != Definitions for quota netlink interface Then prepare_warning( & warn[cnt], dquots[cnt], wtype) |
| 1879 | If reserve Then dquot_free_reserved_space(dquots[cnt], number) |
| 1881 | Else dquot_decr_space(dquots[cnt], number) |
| 1883 | spin_unlock( & Lock protecting dq_dqb changes ) |
| 1885 | If reserve Then de_reserved_space is managed internally by quota, and protected by* i_lock similar to i_blocks+i_bytes. -= number |
| 1887 | Else __inode_sub_bytes(inode, number) |
| 1889 | spin_unlock( & _blocks, i_bytes, maybe i_size ) |
| 1891 | If reserve Then Go to out_unlock |
| 1894 | out_unlock : |
| Name | Describe |
|---|---|
| dquot_free_space_nodirty | |
| dquot_release_reservation_block |
| 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 |