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 |