Re: [PATCH] xfs: show the proper user quota options

Darrick J. Wong
2020-12-06T23:13:41Z

On Mon, Nov 23, 2020 at 05:38:52PM +0800, xiakaixu1987@gmail.com wrote:
> From: Kaixu Xia <kaixuxia@tencent.com>
>
> The quota option 'usrquota' should be shown if both the XFS_UQUOTA_ACCT
> and XFS_UQUOTA_ENFD flags are set. The option 'uqnoenforce' should be
> shown when only the XFS_UQUOTA_ACCT flag is set. The current code logic
> seems wrong, Fix it and show proper options.
>
> Signed-off-by: Kaixu Xia <kaixuxia@tencent.com>

FWIW this causes a regression in xfs/513 since mount option uqnoenforce
no longer causes 'usrquota' to be emitted in /proc/mounts. Do you have
a patch to fix fstests?

--D

> ---
> fs/xfs/xfs_super.c | 10 ++++++----
> 1 file changed, 6 insertions(+), 4 deletions(-)
>
> diff --git a/fs/xfs/xfs_super.c b/fs/xfs/xfs_super.c
> index e3e229e52512..5ebd6cdc44a7 100644
> --- a/fs/xfs/xfs_super.c
> +++ b/fs/xfs/xfs_super.c
> @@ -199,10 +199,12 @@ xfs_fs_show_options(
> seq_printf(m, ",swidth=%d",
> (int)XFS_FSB_TO_BB(mp, mp->m_swidth));
>
> - if (mp->m_qflags & (XFS_UQUOTA_ACCT|XFS_UQUOTA_ENFD))
> - seq_puts(m, ",usrquota");
> - else if (mp->m_qflags & XFS_UQUOTA_ACCT)
> - seq_puts(m, ",uqnoenforce");
> + if (mp->m_qflags & XFS_UQUOTA_ACCT) {
> + if (mp->m_qflags & XFS_UQUOTA_ENFD)
> + seq_puts(m, ",usrquota");
> + else
> + seq_puts(m, ",uqnoenforce");
> + }
>
> if (mp->m_qflags & XFS_PQUOTA_ACCT) {
> if (mp->m_qflags & XFS_PQUOTA_ENFD)
> --
> 2.20.0
>