[PATCH 2/7] Fix test whether kernel supports quotas

Jan Kara jack at suse.cz
Thu May 20 11:53:29 CDT 2010


On Thu 20-05-10 11:05:55, Christoph Hellwig wrote:
> On Thu, May 20, 2010 at 02:49:02PM +0200, Jan Kara wrote:
> > On Wed 19-05-10 14:42:25, Christoph Hellwig wrote:
> > > On Wed, May 19, 2010 at 03:38:04PM +0200, Jan Kara wrote:
> > > > For all 2.6 kernels presence of quota support in kernel can be detected by
> > > > checking /proc/sys/fs/quota. This is actually more reliable than trying to
> > > > mount a filesystem with quota options (for example because SCRATCH_DEV does
> > > > not have to contain a filesystem type we are going to test).
> > > 
> > > It's not actually correct.  /proc/sys/fs/quota only gets registered by
> > > fs/quota/dquot.c, which means it's not avaiable in a kernel that only
> > > has XFS quotas.
> >   Ah, I was convinced that _require_quota() should check whether VFS
> > quotas are enabled but apparently it should work also for XFS. So would
> > test like below be OK?
> > 
> > if [ $FSTYP = "xfs" ]; then
> >     [ -f /proc/fs/xfs/xqmstat ] || _notrun "Installed kernel does not support XFS quota"
> > else
> >     [ -d /proc/sys/fs/quota ] || _notrun "Installed kernel does not support quota"
> > fi
> 
> That would still fail for GFS2.
  OK, still easy to fix ;)
if [ $FSTYP = "xfs" ]; then
    [ -f /proc/fs/xfs/xqmstat ] || _notrun "Installed kernel does not support XFS quota"
elif [ $FSTYP != "gfs2" ]; then
    [ -d /proc/sys/fs/quota ] || _notrun "Installed kernel does not support quota"
fi

  Anything else? This filesystem type testing isn't too nice but the only
other way of fixing the old check is by running _scratch_mkfs before it and
that takes long...

								Honza
-- 
Jan Kara <jack at suse.cz>
SUSE Labs, CR




More information about the xfs mailing list