summaryrefslogtreecommitdiffstats
path: root/fs/quota
diff options
context:
space:
mode:
authorJan Kara <jack@suse.cz>2019-11-04 11:18:17 +0100
committerJan Kara <jack@suse.cz>2019-11-04 11:21:40 +0100
commita0828b6ccbdfd46afbbaa9f28df359081c29109b (patch)
tree7d1bdc90c7651e204cf334e1dcafc3f0193fd599 /fs/quota
parentquota: Make dquot_disable() work without quota inodes (diff)
downloadlinux-a0828b6ccbdfd46afbbaa9f28df359081c29109b.tar.xz
linux-a0828b6ccbdfd46afbbaa9f28df359081c29109b.zip
quota: Handle quotas without quota inodes in dquot_get_state()
Make dquot_get_state() gracefully handle a situation when there are no quota files present even though quotas are enabled. Signed-off-by: Jan Kara <jack@suse.cz>
Diffstat (limited to 'fs/quota')
-rw-r--r--fs/quota/dquot.c6
1 files changed, 4 insertions, 2 deletions
diff --git a/fs/quota/dquot.c b/fs/quota/dquot.c
index 4c3da4ea31bc..a69a657209a6 100644
--- a/fs/quota/dquot.c
+++ b/fs/quota/dquot.c
@@ -2787,8 +2787,10 @@ int dquot_get_state(struct super_block *sb, struct qc_state *state)
tstate->flags |= QCI_LIMITS_ENFORCED;
tstate->spc_timelimit = mi->dqi_bgrace;
tstate->ino_timelimit = mi->dqi_igrace;
- tstate->ino = dqopt->files[type]->i_ino;
- tstate->blocks = dqopt->files[type]->i_blocks;
+ if (dqopt->files[type]) {
+ tstate->ino = dqopt->files[type]->i_ino;
+ tstate->blocks = dqopt->files[type]->i_blocks;
+ }
tstate->nextents = 1; /* We don't know... */
spin_unlock(&dq_data_lock);
}