hi,
On Sat, Jul 21, 2001 at 09:54:38AM +1000, Matthew Geier wrote:
> ...
> I did notice one problem with Samba on XFS systems. Quota support
> doesn't work. After a look in smbd/quota.c, I see the quota's don't work
> as XFS doesn't fill out the standard linux quota data structure, you
> have to use XFS specfic structures.
>
Hmm - I had no idea samba had knowledge of quota.
> NetAtalk also has linux quota code that has exactly the same problem.
>
> Any particular reason why XFS doesn't fill out the 'standard' quota
> data structure.
Yes, there are a number of reasons - the most important being that XFS
use 64 bit numbers for a number of the key fields in a dquot, and that
XFS logs all dquot changes (dquots are XFS metadata) which has fairly
far reaching ramifications - bear in mind that dquot changes come in
across the syscall interface as well.
It is not so much that XFS has a different data structure, but more
that XFS has a completely different implementation of quota.
There is also no 'standard' quota data structure - as you'll see if you
look through that file. In fact, having just looked through that file,
I see the IRIX quota system call interface is recognised (which is quite
similar to the Linux/XFS interface), so someone should be able to join
the dots here and make this code work for Linux/XFS.
> As it stands any linux application that checks quota's
> wont see XFS file system quotas with out modification. If you run
That is correct - and in 2.5 timeframe I expect that all of these
programs will simply stop working, and start getting EINVAL back
from quotactl, when Jan's changes to the quota subsystem go in.
> multiple file systems the quota code then needs to know the file system
> type...
>
It is actually even more involved that that. Jan has an entirely
new implementation of quota (in the -ac series of kernels) which
also has a different syscall interface. So, not only will they need
to know what filesystem type, but also which kernel implementation.
The quota-3.01 userspace package has all the changes needed to work
with all three forms of quota transparently, so it shouldn't be too
difficult for these affected packages' authors to to take that code
and make the changes needed to their own code.
cheers.
--
Nathan
|