From: Jan Kara Date: Thu, 8 Jun 2017 13:05:08 +0000 (+0200) Subject: quota: Acquire dqio_sem for reading in dquot_get_next_id() X-Git-Tag: v4.14-rc1~103^2~25 X-Git-Url: http://git.ipfire.org/cgi-bin/gitweb.cgi?a=commitdiff_plain;h=0cff9151d3fa27574c2201377a080e1b9b87b8ba;p=thirdparty%2Flinux.git quota: Acquire dqio_sem for reading in dquot_get_next_id() dquot_get_next_id() needs dqio_sem only for reading to protect against racing with modification of quota file structure. Reviewed-by: Andreas Dilger Signed-off-by: Jan Kara --- diff --git a/fs/quota/dquot.c b/fs/quota/dquot.c index 21358f31923d8..8d5ccad3bf3ea 100644 --- a/fs/quota/dquot.c +++ b/fs/quota/dquot.c @@ -2079,9 +2079,9 @@ int dquot_get_next_id(struct super_block *sb, struct kqid *qid) return -ESRCH; if (!dqopt->ops[qid->type]->get_next_id) return -ENOSYS; - down_write(&dqopt->dqio_sem); + down_read(&dqopt->dqio_sem); err = dqopt->ops[qid->type]->get_next_id(sb, qid); - up_write(&dqopt->dqio_sem); + up_read(&dqopt->dqio_sem); return err; } EXPORT_SYMBOL(dquot_get_next_id);