On Wed, Jul 28, 2021 at 01:02:08PM -0700, Darrick J. Wong wrote: > From: Darrick J. Wong <djwong@xxxxxxxxxx> > > 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 <djwong@xxxxxxxxxx> Looks good. Reviewed-by: Carlos Maiolino <cmaiolino@xxxxxxxxxx> > --- > quota/state.c | 3 ++- > 1 file changed, 2 insertions(+), 1 deletion(-) > > diff --git a/quota/state.c b/quota/state.c > index 3ffb2c88..43fb700f 100644 > --- a/quota/state.c > +++ b/quota/state.c > @@ -463,7 +463,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; > } > -- Carlos