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 /Documentation/filesystems | |
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 'Documentation/filesystems')
-rw-r--r-- | Documentation/filesystems/Locking | 6 |
1 files changed, 1 insertions, 5 deletions
diff --git a/Documentation/filesystems/Locking b/Documentation/filesystems/Locking index 18b9d0ca0630..1192fde11638 100644 --- a/Documentation/filesystems/Locking +++ b/Documentation/filesystems/Locking | |||
@@ -462,9 +462,7 @@ in sys_read() and friends. | |||
462 | prototypes: | 462 | prototypes: |
463 | int (*initialize) (struct inode *, int); | 463 | int (*initialize) (struct inode *, int); |
464 | int (*drop) (struct inode *); | 464 | int (*drop) (struct inode *); |
465 | int (*alloc_space) (struct inode *, qsize_t, int); | ||
466 | int (*alloc_inode) (const struct inode *, unsigned long); | 465 | int (*alloc_inode) (const struct inode *, unsigned long); |
467 | int (*free_space) (struct inode *, qsize_t); | ||
468 | int (*free_inode) (const struct inode *, unsigned long); | 466 | int (*free_inode) (const struct inode *, unsigned long); |
469 | int (*transfer) (struct inode *, struct iattr *); | 467 | int (*transfer) (struct inode *, struct iattr *); |
470 | int (*write_dquot) (struct dquot *); | 468 | int (*write_dquot) (struct dquot *); |
@@ -481,9 +479,7 @@ What filesystem should expect from the generic quota functions: | |||
481 | FS recursion Held locks when called | 479 | FS recursion Held locks when called |
482 | initialize: yes maybe dqonoff_sem | 480 | initialize: yes maybe dqonoff_sem |
483 | drop: yes - | 481 | drop: yes - |
484 | alloc_space: ->mark_dirty() - | ||
485 | alloc_inode: ->mark_dirty() - | 482 | alloc_inode: ->mark_dirty() - |
486 | free_space: ->mark_dirty() - | ||
487 | free_inode: ->mark_dirty() - | 483 | free_inode: ->mark_dirty() - |
488 | transfer: yes - | 484 | transfer: yes - |
489 | write_dquot: yes dqonoff_sem or dqptr_sem | 485 | write_dquot: yes dqonoff_sem or dqptr_sem |
@@ -495,7 +491,7 @@ write_info: yes dqonoff_sem | |||
495 | FS recursion means calling ->quota_read() and ->quota_write() from superblock | 491 | FS recursion means calling ->quota_read() and ->quota_write() from superblock |
496 | operations. | 492 | operations. |
497 | 493 | ||
498 | ->alloc_space(), ->alloc_inode(), ->free_space(), ->free_inode() are called | 494 | ->alloc_inode(), ->free_inode() are called |
499 | only directly by the filesystem and do not call any fs functions only | 495 | only directly by the filesystem and do not call any fs functions only |
500 | the ->mark_dirty() operation. | 496 | the ->mark_dirty() operation. |
501 | 497 | ||