diff options
| -rw-r--r-- | fs/quota/dquot.c | 13 |
1 files changed, 4 insertions, 9 deletions
diff --git a/fs/quota/dquot.c b/fs/quota/dquot.c index a2a622e079f0..b59ee61f4b9a 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; |
