On Fri 08-07-16 01:02:28, Ted Tso wrote: > On Thu, Jul 07, 2016 at 10:19:27PM -0500, Eric Sandeen wrote: > > I don't know how we got to the point where we have 2 parallel > > quota infrastructures, it's an unfortunate mess IMHO. :( > > Actually, I've been staring at the quotatools source code and it's > even more complicated than that. There are newer quotactl > subcommands, such as Q_XGETQSTAT and Q_XGETQSTATV, which currently > quotatools only tries using if it thinks the quota format (which in > this sense seems to be system API, not the actual quota file format > --- these two concepts seem to have been overloaded at some point) is > "xfs". quota-tools currently assume that certain quotactl(8) calls are fine only for certain quota formats. And this has been long true - since its beginning, XFS and VFS quota stacks were pretty independent including supported quotactl calls. Only recently (about year and half ago) I have added necessary plumbing so that "XFS quotactls" and "VFS quotactls" can be used independently of the underlying filesystem. The distinction still remained in quota-tools because there was no real need in unifying them and we still have to keep knowing about the distinction so that quota-tools can work with older kernels. > Currently quotatools only assumes the "xfs" quota format should be > used for "xfs" and "gfs" --- but it works for other file systems, > including ext4 as well. As a result, there's certain information, > such as whether ext4 is doing limits enforcement as well as quota > tracking, which is *not* being exposed to the user. I suspect one of > the reasons for this is the tests in quotatools for which kernel > interfaces are present are fairly primitive, and in fact there are > some comments in quotasys.c which makes references to behaviours of > certain specific Red Hat kernel versions to decide which interfaces > are available. :-( No, the reason is that until recently there was no kernel interface to convey this information to userspace for VFS based quotas and nobody complained :). If there is some functionality you miss in quota-tools, then I can have a look at implementing it. E.g. reporting whether only tracking or also enforcement is enabled is relatively simple to add. > And if we just did the simple thing to enable use of the "new" (aka > "xfs", although this is ***massive*** misnomer) quota format in > quotatools, it would break if the latest quota tools were ever > compiled on older Enterprise Linux systems. What would you like to achieve with this? There is 'QF_META' format which is different from 'QF_XFS' format basically only in the set of quotactls used. As I said above it might be nice to separate kernel-api from the underlying-quota-format but in reality these two were bound together in older kernels so they are not really independent. Honza -- Jan Kara <jack@xxxxxxxx> SUSE Labs, CR -- To unsubscribe from this list: send the line "unsubscribe linux-ext4" in the body of a message to majordomo@xxxxxxxxxxxxxxx More majordomo info at http://vger.kernel.org/majordomo-info.html