Messages in this thread |  | | Date | Wed, 25 Oct 2000 18:42:39 +0100 | From | "Stephen C. Tweedie" <> | Subject | Quota mods needed for journaled quota |
| |
Hi,
There are a few problems in the Linux quota code which make it impossible to perform quota updates transactionally when using a journaled filesystem.
Basically we have the following problems:
* The underlying filesystem does not know which files are the quota files, so cannot tell when to apply journaling consistency guarantees to data writes
* "chown" is not transactional: the filesystem is given no opportunity to wrap the quota transfer and the owner-attribute notify-change call into a single transaction.
All of these could be fixed very easily (at least for ext3) if it were possible for ext3 to install its own version of the superblock->dq_ops quota operations (which would just be simple wrappers around the existing quota calls). However, the current sys_quotactl installs the default quota_ops into the superblock on quota_on without any chance for the filesystem to override it.
The addition of an "init_quota" method to the super_operations struct, with quota_on calling this and defaulting to installing the default quota_ops if the method is NULL, ought to be sufficient to let ext3 get quotas right in all cases as far as I can see.
Comments?
--Stephen - To unsubscribe from this list: send the line "unsubscribe linux-kernel" in the body of a message to majordomo@vger.kernel.org Please read the FAQ at http://www.tux.org/lkml/
|  |