Details
-
Bug
-
Resolution: Fixed
-
Minor
-
None
-
None
-
3
-
9223372036854775807
Description
Set setgid flag on the directory and set inode hard quota for the gruop. # cd /lustre # mkdir aaa # chown test1:tes1 aaa # chmod g+s aaa # lfs setquota -g test1 -I 4096 /lustre With test1 group, create many files until quota exceeded occur. # su - test1 $ for i in `seq -w 0001 4096`; do touch ${i} ; done $ exit Then, with root user, create a directory. It returns quota exceeded error. # mkdir bbb mkdir: cannot create directory ‘bbb’: Disk quota exceeded
reason is Lustre try to check quota for file owner uid, gid and it will skip quota type check if this
quota type id is 0.
For setgid, even root user try touch a file, the file's group id will still inherit from its parents.
So quota check will ignore user quota, but still enforce group quota for the file.
The idea should be Like GPFS or ext4, that we pass CAP_SYS_RESOURCE down and use this
to check whether we should skip quota.
Landed for 2.12