ext4: correctly report "not supported" for {usr,grp}jquota when !CONFIG_QUOTA
authorKaixu Xia <kaixuxia@tencent.com>
Thu, 29 Oct 2020 15:46:36 +0000 (23:46 +0800)
committerTheodore Ts'o <tytso@mit.edu>
Sat, 7 Nov 2020 03:52:35 +0000 (22:52 -0500)
commit174fe5ba2d1ea0d6c5ab2a7d4aa058d6d497ae4d
treed2e7ae81d2e99c7b08142d9a59629424139dbc6b
parent3cea11cd5e3b00d91caf0b4730194039b45c5891
ext4: correctly report "not supported" for {usr,grp}jquota when !CONFIG_QUOTA

The macro MOPT_Q is used to indicates the mount option is related to
quota stuff and is defined to be MOPT_NOSUPPORT when CONFIG_QUOTA is
disabled.  Normally the quota options are handled explicitly, so it
didn't matter that the MOPT_STRING flag was missing, even though the
usrjquota and grpjquota mount options take a string argument.  It's
important that's present in the !CONFIG_QUOTA case, since without
MOPT_STRING, the mount option matcher will match usrjquota= followed
by an integer, and will otherwise skip the table entry, and so "mount
option not supported" error message is never reported.

[ Fixed up the commit description to better explain why the fix
  works. --TYT ]

Fixes: 26092bf52478 ("ext4: use a table-driven handler for mount options")
Signed-off-by: Kaixu Xia <kaixuxia@tencent.com>
Link: https://lore.kernel.org/r/1603986396-28917-1-git-send-email-kaixuxia@tencent.com
Signed-off-by: Theodore Ts'o <tytso@mit.edu>
Cc: stable@kernel.org
fs/ext4/super.c