2016-07-05 07:57:10

by Wang Shilong

[permalink] [raw]
Subject: [PATCH] Ext4: fix project quota accounting without quota limits enabled.

From: Wang Shilong <[email protected]>

Steps to reproduce:
#mkfs.ext4 /dev/sda4 -O quota,project
#mount /dev/sda4 /mnt/test
#touch /mnt/test/file
#chattr -p 123 /mnt/test/file
#quota -v -P 123

Problems is we should always transfer quota accounting whatver
quota limits enabled.

Signed-off-by: Wang Shilong <[email protected]>
---
fs/ext4/ioctl.c | 18 ++++++++----------
1 file changed, 8 insertions(+), 10 deletions(-)

diff --git a/fs/ext4/ioctl.c b/fs/ext4/ioctl.c
index 28cc412..b5a39b0 100644
--- a/fs/ext4/ioctl.c
+++ b/fs/ext4/ioctl.c
@@ -308,6 +308,7 @@ static int ext4_ioctl_setproject(struct file *filp, __u32 projid)
kprojid_t kprojid;
struct ext4_iloc iloc;
struct ext4_inode *raw_inode;
+ struct dquot *transfer_to[MAXQUOTAS] = { };

if (!EXT4_HAS_RO_COMPAT_FEATURE(sb,
EXT4_FEATURE_RO_COMPAT_PROJECT)) {
@@ -361,17 +362,14 @@ static int ext4_ioctl_setproject(struct file *filp, __u32 projid)
if (err)
goto out_stop;

- if (sb_has_quota_limits_enabled(sb, PRJQUOTA)) {
- struct dquot *transfer_to[MAXQUOTAS] = { };


2016-07-06 01:34:20

by Theodore Ts'o

[permalink] [raw]
Subject: Re: [PATCH] Ext4: fix project quota accounting without quota limits enabled.

On Tue, Jul 05, 2016 at 03:58:10PM +0900, Wang Shilong wrote:
> From: Wang Shilong <[email protected]>
>
> Steps to reproduce:
> #mkfs.ext4 /dev/sda4 -O quota,project
> #mount /dev/sda4 /mnt/test
> #touch /mnt/test/file
> #chattr -p 123 /mnt/test/file
> #quota -v -P 123
>
> Problems is we should always transfer quota accounting whatver
> quota limits enabled.
>
> Signed-off-by: Wang Shilong <[email protected]>

Thanks, applied.

- Ted