From 610ec2951ece36ec7e072b442e9fd0bb5be3d18a Mon Sep 17 00:00:00 2001 From: "Darrick J. Wong" Date: Wed, 28 Jul 2021 19:05:51 -0400 Subject: [PATCH] xfs_quota: allow users to truncate group and project quota files In commit 79ac1ae4, I /think/ xfsprogs gained the ability to deal with project or group quotas. For some reason, the quota remove command was structured so that if the user passes both -g and -p, it will only ask the kernel truncate the group quota file. This is a strange behavior since -ug results in truncation requests for both user and group quota files, and the kernel is smart enough to return 0 if asked to truncate a quota file that doesn't exist. In other words, this is a seemingly arbitrary limitation of the command. It's an unexpected behavior since we don't do any sort of parameter validation to warn users when -p is silently ignored. Modern V5 filesystems support both group and project quotas, so it's all the more surprising that you can't do group and project all at once. Remove this pointless restriction. Found while triaging xfs/007 regressions. Fixes: 79ac1ae4 ("Fix xfs_quota disable, enable, off and remove commands Merge of master-melb:xfs-cmds:29395a by kenmcd.") Signed-off-by: Darrick J. Wong Reviewed-by: Eric Sandeen Signed-off-by: Eric Sandeen --- quota/state.c | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/quota/state.c b/quota/state.c index 19d34ed05..260ef51db 100644 --- a/quota/state.c +++ b/quota/state.c @@ -462,7 +462,8 @@ remove_extents( if (type & XFS_GROUP_QUOTA) { if (remove_qtype_extents(dir, XFS_GROUP_QUOTA) < 0) return; - } else if (type & XFS_PROJ_QUOTA) { + } + if (type & XFS_PROJ_QUOTA) { if (remove_qtype_extents(dir, XFS_PROJ_QUOTA) < 0) return; } -- 2.47.2