Messages in this thread | | | Subject | Re: [PATCH] ovl: do not ignore disk quota if current task is not privileged | From | Konstantin Khlebnikov <> | Date | Tue, 10 Jan 2017 19:44:27 +0300 |
| |
On 10.01.2017 19:35, Vivek Goyal wrote: > On Tue, Jan 10, 2017 at 11:06:47AM -0500, Vivek Goyal wrote: >> On Tue, Jan 10, 2017 at 02:26:48PM +0300, Konstantin Khlebnikov wrote: >>> If overlay was mounted by root then quota set for upper layer does not work >>> because overlay now always use mounter's credentials for operations. >>> >> >> Hi Konstantin, >> >> So CAP_SYS_RESOURCE bypasses the quota checks? >> >> I just created dir upper on xfs filesystem and defined quota of 1G and >> as root user (with cap_sys_resoureces), I am not able to create file >> bigger than 1g in that dir. So looks like xfs quota took affect even >> for privileged user with CAP_SYS_RESOURCE set. >> >> What am I missing? > > As root user, I set limit of 1G on work/ and upper/ dir and created > a file of 4G in lower/ dir and mounted overlay on "merged" dir and > did "touch zerofile", and go error message. > > touch: cannot touch 'zerofile': No space left on device > > So looks like I am doing something wrong and not be able to reproduce > the issue to begin with. >
I'm using ext4 project quota around upper/work directories. ext4 use generic quota implementation: it ignores hard limits if CAP_SYS_RESOURCE is set.
It seems XFS ignores CAP_SYS_RESOURCE for any kind of quota. But I've found special meaning for CAP_FOWNER - chown() can ignore user/group quota if caller have this capability.
-- Konstantin
| |