Bug 1270245

Summary: xfs quota report does not show user(s)
Product: Red Hat Enterprise Linux 7 Reporter: lejeczek <peljasz>
Component: xfsprogsAssignee: Eric Sandeen <esandeen>
Status: CLOSED DUPLICATE QA Contact: Filesystem QE <fs-qe>
Severity: urgent Docs Contact:
Priority: unspecified    
Version: 7.1   
Target Milestone: rc   
Target Release: ---   
Hardware: x86_64   
OS: Linux   
Whiteboard:
Fixed In Version: Doc Type: Bug Fix
Doc Text:
Story Points: ---
Clone Of: Environment:
Last Closed: 2015-10-09 19:57:47 UTC Type: Bug
Regression: --- Mount Type: ---
Documentation: --- CRM:
Verified Versions: Category: ---
oVirt Team: --- RHEL 7.3 requirements from Atomic Host:
Cloudforms Team: --- Target Upstream Version:
Embargoed:

Description lejeczek 2015-10-09 11:38:39 UTC
Description of problem:

I have quota set for a user, that user cannot add new data, sees: ...Disk quota exceeded.
 xfs_quota -xc 'quot -pu' $_mount
shows data is there that belongs to that user, yet!? no report shows record for that user, it's not there.

I unmounted, remounted, synced FS and even rebooted the system but cannot get xfs_quota to show/report that user.

I'm not even sure what other useful info I could put here.

Version-Release number of selected component (if applicable):

xfsprogs-3.2.1-6.el7.x86_64

How reproducible:


Steps to Reproduce:
1.
2.
3.

Actual results:


Expected results:


Additional info:

Comment 2 Eric Sandeen 2015-10-09 13:45:50 UTC
> I'm not even sure what other useful info I could put here.

Can you provide information such as:

* What does the report command show you - do you see this or other users?
 - xfs_quota -xc "report -u -bi" $_mount
 - xfs_quota -xc "report -g -bi" $_mount

* What does the "quota" command show related to this user and/or group?
 - xfs_quota -c "quota -u -bi $user" $_mount
 - xfs_quota -c "quota -g -bi $user_group" $_mount

* Is this user unable to create a new inode (touch) or, new blocks (cp), or neither?

* How did you set quota for this user (or group?)  Inode and/or block limits?

* Are project quotas in use?

Comment 3 lejeczek 2015-10-09 14:37:24 UTC
$ xfs_quota -xc "report -u -bi" /__.aLocalStorages/0
User ID          Used       Soft       Hard    Warn/Grace           Used       Soft       Hard    Warn/ Grace     
---------- -------------------------------------------------- -------------------------------------------------- 
root        333228000          0          0     00 [--------]        853          0          0     00 [--------]
qemu         18874752          0          0     00 [--------]          5          0          0     00 [--------]

$ xfs_quota -xc "report -g -bi" /__.aLocalStorages/0
(no output, no quotas for groups)


]$ xfs_quota -xc "quota -u -bi pe243" /__.aLocalStorages/0
Disk quotas for User $user (1177)
Filesystem              Blocks      Quota      Limit  Warn/Time            Files      Quota      Limit  Warn/Time      Mounted on
/dev/mapper/h200HotSwapFront-0
                     127295212    1048576    2097152   00 [--none--]       84661          0          0   00 [--------] /__.aLocalStorages/0

The user cannot "bir",
yes, project quotas are used.
$ xfs_quota -xc path
      Filesystem          Pathname
[000] /                   /dev/mapper/SL-root
 001  /__.aLocalStorages/0 /dev/mapper/h200HotSwapFront-0 (uquota, pquota)
 002  /__.aLocalStorages/0/home /dev/mapper/h200HotSwapFront-0 (project 10, userHome)


Quota I set like here:
xfs_quota -x -c "limit -u bsoft=1G bhard=2G $user" /__.aLocalStorages/

Comment 4 Eric Sandeen 2015-10-09 16:09:11 UTC
> $ xfs_quota -xc "quota -u -bi pe243" /__.aLocalStorages/0
> Disk quotas for User $user (1177)
> Filesystem              Blocks      Quota      Limit  Warn/Time      Mounted on
> /dev/mapper/h200HotSwapFront-0
>                      127295212    1048576    2097152   00 [--none--] /__.aLocalStorages/0

So this is showing the quota for the user in question (pe243/1177?) as clearly over quota, but "report" doesn't show it?  Is that the root of the problem?

how are users kept, is this something like LDAP, or is it all local /etc/passwd entries?

Assuming that the user in question has uid 1177, what if you do:

# xfs_quota -xc "report -u -bi -L 1177 -U 1177" /__.aLocalStorages/0

Comment 5 lejeczek 2015-10-09 19:39:57 UTC
it seems like it might be ldap backend of users base.

$ xfs_quota -xc "report -up -L0 -U10000" /__.aLocalStorages/0$ 
User ID          Used       Soft       Hard    Warn/Grace     
---------- -------------------------------------------------- 
#0          333228000          0          0     00 [--------]
#107         18874752          0          0     00 [--------]
#1177       127295212    1048576    2097152     00 [--none--]

Project quota on /__.aLocalStorages/0 (/dev/mapper/h200HotSwapFront-0)
                               Blocks                     
Project ID       Used       Soft       Hard    Warn/Grace     
---------- -------------------------------------------------- 
#0          479397964          0          0     00 [--------]
#10                 0  629145600 1073741824     00 [--------]

Comment 6 lejeczek 2015-10-09 19:44:45 UTC
sssd is being used on that problematic system, other system uses nslcd and does not fail this way.

Comment 7 Eric Sandeen 2015-10-09 19:57:47 UTC
Yes, this has to do with the ability (or not) to query via iteration over all users.

The UID range is the workaround for now; I hope to teach the quota interface to support a "return all quotas" call, rather than iterating over all users on the system...

There's actually a bug open on that, I hope to get to it reasonably soon, but this is work that needs to be done upstream.

*** This bug has been marked as a duplicate of bug 1164652 ***

Comment 8 Eric Sandeen 2015-10-09 19:59:05 UTC
I'm curious, though - can you confirm whether the non-xfs repquota command exhibits the same problem?

Comment 9 lejeczek 2015-10-12 08:36:17 UTC
ext4 repquota reports UIDs, with -C user names, but they are there.