Re: Bugs in quota code (long) (new)

Jan Kara (jack@atrey.karlin.mff.cuni.cz)
Mon, 26 Apr 1999 13:35:48 +0200


--dj2RfSjLxBAspz70
Content-Type: text/plain; charset=us-ascii

Hello.

So I hopefully fixed all bugs I knew about. Now there are only "thing good
to do" about quotas on my todo list. I'm sending gzip of the diff. The changes
are:
* reset_quota_ptrs() now traverse through inode lists so there should be no
more unfreed quotas in i-cache.
* add_inode_ref() restarts after each blocking operation so it should be
immune against filp list changing under it.
* added lock so that quota_off() and quota_on() are serialized per device
(I don't know anyone who would run more than one quota_off() or quota_off()
and quota_on() at the same time but...). Parallel quota_off() could
result in nasty things...
* maybe something else I can't find in my TODO file ;-)

Test and report ;-).

Bye Honza.

--dj2RfSjLxBAspz70
Content-Type: application/x-gunzip
Content-Transfer-Encoding: base64
Content-Disposition: attachment; filename="quota_fix.diff.gz"

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
8y/abQAA

--dj2RfSjLxBAspz70--

-
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@vger.rutgers.edu
Please read the FAQ at http://www.tux.org/lkml/