Messages in this thread | | | From | Ben Hutchings <> | Date | Thu, 14 Apr 2011 04:09:45 +0100 | Subject | Re: [Stable-review] [31/74] quota: Dont write quota info in dquot_commit() |
| |
On Wed, 2011-04-13 at 08:50 -0700, Greg KH wrote: > 2.6.32-longterm review patch. If anyone has any objections, please let us know. > > ------------------ > > From: Jan Kara <jack@suse.cz> > > commit b03f24567ce7caf2420b8be4c6eb74c191d59a91 upstream. > > There's no reason to write quota info in dquot_commit(). The writing is a > relict from the old days when we didn't have dquot_acquire() and > dquot_release() and thus dquot_commit() could have created / removed quota > structures from the file. These days dquot_commit() only updates usage counters > / limits in quota structure and thus there's no need to write quota info. > > This also fixes an issue with journaling filesystem which didn't reserve > enough space in the transaction for write of quota info (it could have been > dirty at the time of dquot_commit() because of a race with other operation > changing it). [...] > @@ -400,15 +400,10 @@ int dquot_commit(struct dquot *dquot) > spin_unlock(&dq_list_lock); > /* Inactive dquot can be only if there was error during read/init > * => we have better not writing it */ > - if (test_bit(DQ_ACTIVE_B, &dquot->dq_flags)) { > + if (test_bit(DQ_ACTIVE_B, &dquot->dq_flags)) > ret = dqopt->ops[dquot->dq_type]->commit_dqblk(dquot); > - if (info_dirty(&dqopt->info[dquot->dq_type])) { > - ret2 = dqopt->ops[dquot->dq_type]->write_file_info( > - dquot->dq_sb, dquot->dq_type); > - } > - if (ret >= 0) > - ret = ret2; > - } > + else > + ret = -EIO; [...]
Why is the return value for the flag-not-set case changed from 0 to -EIO? Is this really part of the same bug fix?
Ben.
-- Ben Hutchings Once a job is fouled up, anything done to improve it makes it worse. [unhandled content-type:application/pgp-signature] | |