Re: no quota output if no usage?

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



On 11/26/14 3:21 PM, Dave Chinner wrote:
> On Wed, Nov 26, 2014 at 01:26:55PM -0600, Eric Sandeen wrote:
>> This seems a bit weird:
>>
>> # xfs_quota -x -c 'quota -p project1' /mnt/test
>> #
>>
>> Huh, did it work?
>>
>> # xfs_quota -x -c 'quota -pv project1' /mnt/test
>> Disk quotas for Project project1 (1)
>> Filesystem              Blocks      Quota      Limit  Warn/Time      Mounted on
>> /dev/sdc2                    0    1024000    1228800   00 [--------] /mnt/test
>> #
>>
>> Oh, ok!
>>
>> I don't know why reporting limits should depend on the verbose flag, but it
>> has been that way since 2005 in quota_mount() :
>>
>>         if (!(flags & VERBOSE_FLAG)) {
>>                 count = 0;
>>                 if ((form & XFS_BLOCK_QUOTA) && d.d_bcount)
>>                         count++;
>>                 if ((form & XFS_INODE_QUOTA) && d.d_icount)
>>                         count++;
>>                 if ((form & XFS_RTBLOCK_QUOTA) && d.d_rtbcount)
>>                         count++;
>>                 if (!count)
>>                         return 0;
>>         }
>>
>> I'm inclined to change it, but is it OK to change the output of this - might old
>> scripts be relying on this (odd) silent behavior?  I think it can certainly cause
>> confusion (as evidenced by at least one bug I'm looking at ...)
> 
> It's done that way because the quota lookup can find dquots that are
> completely empty because there are no uid/gid/prid found in the
> filesystem, but the dquot is allocated because it's within a block
> that has in use dquots in it. I'd guess that if you queried a
> non-existent project quota (e.g. prid 2) you'd get the same
> result....

if I ask for something that doesn't exist by name, it tells me:

# xfs_quota -x -c 'quota -pv project4' /mnt/test
xfs_quota: cannot find project project4

or if I ask by prid, I get nothing with or without -v :(

# xfs_quota -x -c 'quota -pv 4' /mnt/test
#

> i.e. you've got to have inodes or blocks accounted to have a dquot
> "created" for the uid/gid/prid in normal conditions, hence dquots
> with zero counts are ignored by default as they are effectively
> the same as unallocated dquots....

That's all well and good, but with -v it is able to tell me what
the set limits are, and that I have no blocks allocated within those limits.

So the information we might expect seems available; it's just not
shown, because the code short-circuits it w/o -v.

Or am I missing something ...

-Eric
 
> Cheers,
> 
> Dave.
> 

_______________________________________________
xfs mailing list
xfs@xxxxxxxxxxx
http://oss.sgi.com/mailman/listinfo/xfs




[Index of Archives]     [Linux XFS Devel]     [Linux Filesystem Development]     [Filesystem Testing]     [Linux USB Devel]     [Linux Audio Users]     [Yosemite News]     [Linux Kernel]     [Linux SCSI]

  Powered by Linux