diff options
author | Mingming Cao <cmm@us.ibm.com> | 2009-01-22 12:13:05 -0500 |
---|---|---|
committer | Jan Kara <jack@suse.cz> | 2009-03-25 21:18:34 -0400 |
commit | 60e58e0f30e723464c2a7d34b71b8675566c572d (patch) | |
tree | 2797ae1bccdad12d53c989a6dccea1c8ffd2bce3 /fs/ext4/super.c | |
parent | 643d00ccc311664188c8209bf8b596a30e139c3a (diff) |
ext4: quota reservation for delayed allocation
Uses quota reservation/claim/release to handle quota properly for delayed
allocation in the three steps: 1) quotas are reserved when data being copied
to cache when block allocation is defered 2) when new blocks are allocated.
reserved quotas are converted to the real allocated quota, 2) over-booked
quotas for metadata blocks are released back.
Signed-off-by: Mingming Cao <cmm@us.ibm.com>
Acked-by: "Theodore Ts'o" <tytso@mit.edu>
Signed-off-by: Jan Kara <jack@suse.cz>
Diffstat (limited to 'fs/ext4/super.c')
-rw-r--r-- | fs/ext4/super.c | 4 |
1 files changed, 4 insertions, 0 deletions
diff --git a/fs/ext4/super.c b/fs/ext4/super.c index 41f879497f9..5a238e9c71c 100644 --- a/fs/ext4/super.c +++ b/fs/ext4/super.c | |||
@@ -943,6 +943,10 @@ static struct dquot_operations ext4_quota_operations = { | |||
943 | .initialize = dquot_initialize, | 943 | .initialize = dquot_initialize, |
944 | .drop = dquot_drop, | 944 | .drop = dquot_drop, |
945 | .alloc_space = dquot_alloc_space, | 945 | .alloc_space = dquot_alloc_space, |
946 | .reserve_space = dquot_reserve_space, | ||
947 | .claim_space = dquot_claim_space, | ||
948 | .release_rsv = dquot_release_reserved_space, | ||
949 | .get_reserved_space = ext4_get_reserved_space, | ||
946 | .alloc_inode = dquot_alloc_inode, | 950 | .alloc_inode = dquot_alloc_inode, |
947 | .free_space = dquot_free_space, | 951 | .free_space = dquot_free_space, |
948 | .free_inode = dquot_free_inode, | 952 | .free_inode = dquot_free_inode, |