Donate to e Foundation | Murena handsets with /e/OS | Own a part of Murena! Learn more

Commit 17e8a893 authored by Jan Kara's avatar Jan Kara
Browse files

quota: Handle Q_GETNEXTQUOTA when quota is disabled



Currently we oopsed when Q_GETNEXTQUOTA got called when quota was
disabled. Properly check whether quota is enabled for the filesystem
before calling into quota format handler.

Reported-by: default avatarTed Tso <tytso@mit.edu>
Signed-off-by: default avatarJan Kara <jack@suse.cz>
parent 1993b176
Loading
Loading
Loading
Loading
+11 −2
Original line number Diff line number Diff line
@@ -2047,11 +2047,20 @@ int dquot_get_next_id(struct super_block *sb, struct kqid *qid)
	struct quota_info *dqopt = sb_dqopt(sb);
	int err;

	if (!dqopt->ops[qid->type]->get_next_id)
		return -ENOSYS;
	mutex_lock(&dqopt->dqonoff_mutex);
	if (!sb_has_quota_active(sb, qid->type)) {
		err = -ESRCH;
		goto out;
	}
	if (!dqopt->ops[qid->type]->get_next_id) {
		err = -ENOSYS;
		goto out;
	}
	mutex_lock(&dqopt->dqio_mutex);
	err = dqopt->ops[qid->type]->get_next_id(sb, qid);
	mutex_unlock(&dqopt->dqio_mutex);
out:
	mutex_unlock(&dqopt->dqonoff_mutex);

	return err;
}