diff options
| author | Linus Torvalds <torvalds@linux-foundation.org> | 2011-04-08 10:35:17 -0400 |
|---|---|---|
| committer | Linus Torvalds <torvalds@linux-foundation.org> | 2011-04-08 10:35:17 -0400 |
| commit | 3d762ca1cdf38b5fb7d1774734176d1d4d56bbb7 (patch) | |
| tree | 2fed11327a86c05ec945c31aa6e1307fbca527c9 | |
| parent | 0c3efe54d0165cecf0698b468e253577b555dde6 (diff) | |
| parent | b03f24567ce7caf2420b8be4c6eb74c191d59a91 (diff) | |
Merge branch 'for_linus' of git://git.kernel.org/pub/scm/linux/kernel/git/jack/linux-fs-2.6
* 'for_linus' of git://git.kernel.org/pub/scm/linux/kernel/git/jack/linux-fs-2.6:
quota: Don't write quota info in dquot_commit()
ext3: Fix writepage credits computation for ordered mode
| -rw-r--r-- | fs/ext3/inode.c | 2 | ||||
| -rw-r--r-- | fs/quota/dquot.c | 13 |
2 files changed, 5 insertions, 10 deletions
diff --git a/fs/ext3/inode.c b/fs/ext3/inode.c index b5c2f3c97d71..68b2e43d7c35 100644 --- a/fs/ext3/inode.c +++ b/fs/ext3/inode.c | |||
| @@ -3291,7 +3291,7 @@ static int ext3_writepage_trans_blocks(struct inode *inode) | |||
| 3291 | if (ext3_should_journal_data(inode)) | 3291 | if (ext3_should_journal_data(inode)) |
| 3292 | ret = 3 * (bpp + indirects) + 2; | 3292 | ret = 3 * (bpp + indirects) + 2; |
| 3293 | else | 3293 | else |
| 3294 | ret = 2 * (bpp + indirects) + 2; | 3294 | ret = 2 * (bpp + indirects) + indirects + 2; |
| 3295 | 3295 | ||
| 3296 | #ifdef CONFIG_QUOTA | 3296 | #ifdef CONFIG_QUOTA |
| 3297 | /* We know that structure was already allocated during dquot_initialize so | 3297 | /* We know that structure was already allocated during dquot_initialize so |
diff --git a/fs/quota/dquot.c b/fs/quota/dquot.c index a925bf205497..d3c032f5fa0a 100644 --- a/fs/quota/dquot.c +++ b/fs/quota/dquot.c | |||
| @@ -442,7 +442,7 @@ EXPORT_SYMBOL(dquot_acquire); | |||
| 442 | */ | 442 | */ |
| 443 | int dquot_commit(struct dquot *dquot) | 443 | int dquot_commit(struct dquot *dquot) |
| 444 | { | 444 | { |
| 445 | int ret = 0, ret2 = 0; | 445 | int ret = 0; |
| 446 | struct quota_info *dqopt = sb_dqopt(dquot->dq_sb); | 446 | struct quota_info *dqopt = sb_dqopt(dquot->dq_sb); |
| 447 | 447 | ||
| 448 | mutex_lock(&dqopt->dqio_mutex); | 448 | mutex_lock(&dqopt->dqio_mutex); |
| @@ -454,15 +454,10 @@ int dquot_commit(struct dquot *dquot) | |||
| 454 | spin_unlock(&dq_list_lock); | 454 | spin_unlock(&dq_list_lock); |
| 455 | /* Inactive dquot can be only if there was error during read/init | 455 | /* Inactive dquot can be only if there was error during read/init |
| 456 | * => we have better not writing it */ | 456 | * => we have better not writing it */ |
| 457 | if (test_bit(DQ_ACTIVE_B, &dquot->dq_flags)) { | 457 | if (test_bit(DQ_ACTIVE_B, &dquot->dq_flags)) |
| 458 | ret = dqopt->ops[dquot->dq_type]->commit_dqblk(dquot); | 458 | ret = dqopt->ops[dquot->dq_type]->commit_dqblk(dquot); |
| 459 | if (info_dirty(&dqopt->info[dquot->dq_type])) { | 459 | else |
| 460 | ret2 = dqopt->ops[dquot->dq_type]->write_file_info( | 460 | ret = -EIO; |
| 461 | dquot->dq_sb, dquot->dq_type); | ||
| 462 | } | ||
| 463 | if (ret >= 0) | ||
| 464 | ret = ret2; | ||
| 465 | } | ||
| 466 | out_sem: | 461 | out_sem: |
| 467 | mutex_unlock(&dqopt->dqio_mutex); | 462 | mutex_unlock(&dqopt->dqio_mutex); |
| 468 | return ret; | 463 | return ret; |
