quota: Check presence of quota operation structures instead of ->quota_read and ->quota_write callbacks

Currently we check whether superblock has ->quota_read and ->quota_write
operations to check whether filesystem supports quotas. However for
example for shmfs we will not read or write dquots so check whether
quota operations are set in the superblock instead.

Signed-off-by: Jan Kara <jack@suse.cz>
Reviewed-by: Carlos Maiolino <cmaiolino@redhat.com>
Message-Id: <20230725144510.253763-4-cem@kernel.org>
Signed-off-by: Christian Brauner <brauner@kernel.org>
This commit is contained in:
Jan Kara 2023-07-25 16:45:06 +02:00 committed by Christian Brauner
parent 71480663b7
commit 86be6b8bd8

View File

@ -2367,7 +2367,7 @@ int dquot_load_quota_sb(struct super_block *sb, int type, int format_id,
if (!fmt) if (!fmt)
return -ESRCH; return -ESRCH;
if (!sb->s_op->quota_write || !sb->s_op->quota_read || if (!sb->dq_op || !sb->s_qcop ||
(type == PRJQUOTA && sb->dq_op->get_projid == NULL)) { (type == PRJQUOTA && sb->dq_op->get_projid == NULL)) {
error = -EINVAL; error = -EINVAL;
goto out_fmt; goto out_fmt;