diff options
author | Linus Torvalds <torvalds@linux-foundation.org> | 2010-05-27 13:26:37 -0400 |
---|---|---|
committer | Linus Torvalds <torvalds@linux-foundation.org> | 2010-05-27 13:26:37 -0400 |
commit | e4ce30f3779c2ddaa7dfaa4042209e5dbacbada5 (patch) | |
tree | cc64c1dcd16b5dbf71ebc8338b339e6fb04abaee /fs/quota | |
parent | b899ebeb05da4287ce845976727e3e83dadd25d5 (diff) | |
parent | 14ece1028b3ed53ffec1b1213ffc6acaf79ad77c (diff) |
Merge branch 'for_linus' of git://git.kernel.org/pub/scm/linux/kernel/git/tytso/ext4
* 'for_linus' of git://git.kernel.org/pub/scm/linux/kernel/git/tytso/ext4: (40 commits)
ext4: Make fsync sync new parent directories in no-journal mode
ext4: Drop whitespace at end of lines
ext4: Fix compat EXT4_IOC_ADD_GROUP
ext4: Conditionally define compat ioctl numbers
tracing: Convert more ext4 events to DEFINE_EVENT
ext4: Add new tracepoints to track mballoc's buddy bitmap loads
ext4: Add a missing trace hook
ext4: restart ext4_ext_remove_space() after transaction restart
ext4: Clear the EXT4_EOFBLOCKS_FL flag only when warranted
ext4: Avoid crashing on NULL ptr dereference on a filesystem error
ext4: Use bitops to read/modify i_flags in struct ext4_inode_info
ext4: Convert calls of ext4_error() to EXT4_ERROR_INODE()
ext4: Convert callers of ext4_get_blocks() to use ext4_map_blocks()
ext4: Add new abstraction ext4_map_blocks() underneath ext4_get_blocks()
ext4: Use our own write_cache_pages()
ext4: Show journal_checksum option
ext4: Fix for ext4_mb_collect_stats()
ext4: check for a good block group before loading buddy pages
ext4: Prevent creation of files larger than RLIMIT_FSIZE using fallocate
ext4: Remove extraneous newlines in ext4_msg() calls
...
Fixed up trivial conflict in fs/ext4/fsync.c
Diffstat (limited to 'fs/quota')
-rw-r--r-- | fs/quota/dquot.c | 11 |
1 files changed, 7 insertions, 4 deletions
diff --git a/fs/quota/dquot.c b/fs/quota/dquot.c index 655a4c52b8c3..1ad8bf076cfc 100644 --- a/fs/quota/dquot.c +++ b/fs/quota/dquot.c | |||
@@ -1514,11 +1514,13 @@ static void inode_decr_space(struct inode *inode, qsize_t number, int reserve) | |||
1514 | /* | 1514 | /* |
1515 | * This operation can block, but only after everything is updated | 1515 | * This operation can block, but only after everything is updated |
1516 | */ | 1516 | */ |
1517 | int __dquot_alloc_space(struct inode *inode, qsize_t number, | 1517 | int __dquot_alloc_space(struct inode *inode, qsize_t number, int flags) |
1518 | int warn, int reserve) | ||
1519 | { | 1518 | { |
1520 | int cnt, ret = 0; | 1519 | int cnt, ret = 0; |
1521 | char warntype[MAXQUOTAS]; | 1520 | char warntype[MAXQUOTAS]; |
1521 | int warn = flags & DQUOT_SPACE_WARN; | ||
1522 | int reserve = flags & DQUOT_SPACE_RESERVE; | ||
1523 | int nofail = flags & DQUOT_SPACE_NOFAIL; | ||
1522 | 1524 | ||
1523 | /* | 1525 | /* |
1524 | * First test before acquiring mutex - solves deadlocks when we | 1526 | * First test before acquiring mutex - solves deadlocks when we |
@@ -1539,7 +1541,7 @@ int __dquot_alloc_space(struct inode *inode, qsize_t number, | |||
1539 | continue; | 1541 | continue; |
1540 | ret = check_bdq(inode->i_dquot[cnt], number, !warn, | 1542 | ret = check_bdq(inode->i_dquot[cnt], number, !warn, |
1541 | warntype+cnt); | 1543 | warntype+cnt); |
1542 | if (ret) { | 1544 | if (ret && !nofail) { |
1543 | spin_unlock(&dq_data_lock); | 1545 | spin_unlock(&dq_data_lock); |
1544 | goto out_flush_warn; | 1546 | goto out_flush_warn; |
1545 | } | 1547 | } |
@@ -1638,10 +1640,11 @@ EXPORT_SYMBOL(dquot_claim_space_nodirty); | |||
1638 | /* | 1640 | /* |
1639 | * This operation can block, but only after everything is updated | 1641 | * This operation can block, but only after everything is updated |
1640 | */ | 1642 | */ |
1641 | void __dquot_free_space(struct inode *inode, qsize_t number, int reserve) | 1643 | void __dquot_free_space(struct inode *inode, qsize_t number, int flags) |
1642 | { | 1644 | { |
1643 | unsigned int cnt; | 1645 | unsigned int cnt; |
1644 | char warntype[MAXQUOTAS]; | 1646 | char warntype[MAXQUOTAS]; |
1647 | int reserve = flags & DQUOT_SPACE_RESERVE; | ||
1645 | 1648 | ||
1646 | /* First test before acquiring mutex - solves deadlocks when we | 1649 | /* First test before acquiring mutex - solves deadlocks when we |
1647 | * re-enter the quota code and are already holding the mutex */ | 1650 | * re-enter the quota code and are already holding the mutex */ |