Quota mods needed for journaled quota

From: Stephen C. Tweedie (sct@redhat.com)
Date: Wed Oct 25 2000 - 12:42:39 EST


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/



This archive was generated by hypermail 2b29 : Tue Oct 31 2000 - 21:00:16 EST