On 7/28/21 2:16 PM, 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. Probably because group & project used to be mutually exclusive. I wonder if this is the last remnant of that relic. ;) > 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> Reviewed-by: Eric Sandeen <sandeen@xxxxxxxxxx> > --- > quota/state.c | 3 ++- > 1 file changed, 2 insertions(+), 1 deletion(-) > > > diff --git a/quota/state.c b/quota/state.c > index 19d34ed0..260ef51d 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; > } >