diff options
author | Christoph Hellwig <hch@infradead.org> | 2010-03-03 09:05:00 -0500 |
---|---|---|
committer | Jan Kara <jack@suse.cz> | 2010-03-04 18:20:28 -0500 |
commit | 5dd4056db84387975140ff2568eaa0406f07985e (patch) | |
tree | 03c26d7f6e3367b167bfeeb1a01654c6619573f4 /fs/jfs/xattr.c | |
parent | 49792c806d0bfd53afc789dcdf50dc9bed2c5b83 (diff) |
dquot: cleanup space allocation / freeing routines
Get rid of the alloc_space, free_space, reserve_space, claim_space and
release_rsv dquot operations - they are always called from the filesystem
and if a filesystem really needs their own (which none currently does)
it can just call into it's own routine directly.
Move shared logic into the common __dquot_alloc_space,
dquot_claim_space_nodirty and __dquot_free_space low-level methods,
and rationalize the wrappers around it to move as much as possible
code into the common block for CONFIG_QUOTA vs not. Also rename
all these helpers to be named dquot_* instead of vfs_dq_*.
Signed-off-by: Christoph Hellwig <hch@lst.de>
Signed-off-by: Jan Kara <jack@suse.cz>
Diffstat (limited to 'fs/jfs/xattr.c')
-rw-r--r-- | fs/jfs/xattr.c | 17 |
1 files changed, 9 insertions, 8 deletions
diff --git a/fs/jfs/xattr.c b/fs/jfs/xattr.c index fad364548bc9..1f594ab21895 100644 --- a/fs/jfs/xattr.c +++ b/fs/jfs/xattr.c | |||
@@ -260,14 +260,14 @@ static int ea_write(struct inode *ip, struct jfs_ea_list *ealist, int size, | |||
260 | nblocks = (size + (sb->s_blocksize - 1)) >> sb->s_blocksize_bits; | 260 | nblocks = (size + (sb->s_blocksize - 1)) >> sb->s_blocksize_bits; |
261 | 261 | ||
262 | /* Allocate new blocks to quota. */ | 262 | /* Allocate new blocks to quota. */ |
263 | if (vfs_dq_alloc_block(ip, nblocks)) { | 263 | rc = dquot_alloc_block(ip, nblocks); |
264 | return -EDQUOT; | 264 | if (rc) |
265 | } | 265 | return rc; |
266 | 266 | ||
267 | rc = dbAlloc(ip, INOHINT(ip), nblocks, &blkno); | 267 | rc = dbAlloc(ip, INOHINT(ip), nblocks, &blkno); |
268 | if (rc) { | 268 | if (rc) { |
269 | /*Rollback quota allocation. */ | 269 | /*Rollback quota allocation. */ |
270 | vfs_dq_free_block(ip, nblocks); | 270 | dquot_free_block(ip, nblocks); |
271 | return rc; | 271 | return rc; |
272 | } | 272 | } |
273 | 273 | ||
@@ -332,7 +332,7 @@ static int ea_write(struct inode *ip, struct jfs_ea_list *ealist, int size, | |||
332 | 332 | ||
333 | failed: | 333 | failed: |
334 | /* Rollback quota allocation. */ | 334 | /* Rollback quota allocation. */ |
335 | vfs_dq_free_block(ip, nblocks); | 335 | dquot_free_block(ip, nblocks); |
336 | 336 | ||
337 | dbFree(ip, blkno, nblocks); | 337 | dbFree(ip, blkno, nblocks); |
338 | return rc; | 338 | return rc; |
@@ -538,7 +538,8 @@ static int ea_get(struct inode *inode, struct ea_buffer *ea_buf, int min_size) | |||
538 | 538 | ||
539 | if (blocks_needed > current_blocks) { | 539 | if (blocks_needed > current_blocks) { |
540 | /* Allocate new blocks to quota. */ | 540 | /* Allocate new blocks to quota. */ |
541 | if (vfs_dq_alloc_block(inode, blocks_needed)) | 541 | rc = dquot_alloc_block(inode, blocks_needed); |
542 | if (rc) | ||
542 | return -EDQUOT; | 543 | return -EDQUOT; |
543 | 544 | ||
544 | quota_allocation = blocks_needed; | 545 | quota_allocation = blocks_needed; |
@@ -602,7 +603,7 @@ static int ea_get(struct inode *inode, struct ea_buffer *ea_buf, int min_size) | |||
602 | clean_up: | 603 | clean_up: |
603 | /* Rollback quota allocation */ | 604 | /* Rollback quota allocation */ |
604 | if (quota_allocation) | 605 | if (quota_allocation) |
605 | vfs_dq_free_block(inode, quota_allocation); | 606 | dquot_free_block(inode, quota_allocation); |
606 | 607 | ||
607 | return (rc); | 608 | return (rc); |
608 | } | 609 | } |
@@ -677,7 +678,7 @@ static int ea_put(tid_t tid, struct inode *inode, struct ea_buffer *ea_buf, | |||
677 | 678 | ||
678 | /* If old blocks exist, they must be removed from quota allocation. */ | 679 | /* If old blocks exist, they must be removed from quota allocation. */ |
679 | if (old_blocks) | 680 | if (old_blocks) |
680 | vfs_dq_free_block(inode, old_blocks); | 681 | dquot_free_block(inode, old_blocks); |
681 | 682 | ||
682 | inode->i_ctime = CURRENT_TIME; | 683 | inode->i_ctime = CURRENT_TIME; |
683 | 684 | ||