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

Eric Sandeen
2020-11-23T18:36:35Z

On 11/23/20 3:38 AM, 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.

I'm failing to see the difference in the logic here. Under the current
code, what combination of flags yields the wrong string, and what does
this patch change in that respect?

Thanks,
-Eric

>
> Signed-off-by: Kaixu Xia <kaixuxia@tencent.com>
> ---
> 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)
>