quota: Push dqio_sem down to ->get_next_id()
Push down acquisition of dqio_sem into ->get_next_id() callback. Mostly for consistency with other operations. Reviewed-by: Andreas Dilger <adilger@dilger.ca> Signed-off-by: Jan Kara <jack@suse.cz>
This commit is contained in:
parent
b9a1a7f4b6
commit
f14618c682
|
@ -2067,16 +2067,12 @@ EXPORT_SYMBOL(dquot_commit_info);
|
|||
int dquot_get_next_id(struct super_block *sb, struct kqid *qid)
|
||||
{
|
||||
struct quota_info *dqopt = sb_dqopt(sb);
|
||||
int err;
|
||||
|
||||
if (!sb_has_quota_active(sb, qid->type))
|
||||
return -ESRCH;
|
||||
if (!dqopt->ops[qid->type]->get_next_id)
|
||||
return -ENOSYS;
|
||||
down_read(&dqopt->dqio_sem);
|
||||
err = dqopt->ops[qid->type]->get_next_id(sb, qid);
|
||||
up_read(&dqopt->dqio_sem);
|
||||
return err;
|
||||
return dqopt->ops[qid->type]->get_next_id(sb, qid);
|
||||
}
|
||||
EXPORT_SYMBOL(dquot_get_next_id);
|
||||
|
||||
|
|
|
@ -340,7 +340,13 @@ static int v2_free_file_info(struct super_block *sb, int type)
|
|||
|
||||
static int v2_get_next_id(struct super_block *sb, struct kqid *qid)
|
||||
{
|
||||
return qtree_get_next_id(sb_dqinfo(sb, qid->type)->dqi_priv, qid);
|
||||
struct quota_info *dqopt = sb_dqopt(sb);
|
||||
int ret;
|
||||
|
||||
down_read(&dqopt->dqio_sem);
|
||||
ret = qtree_get_next_id(sb_dqinfo(sb, qid->type)->dqi_priv, qid);
|
||||
up_read(&dqopt->dqio_sem);
|
||||
return ret;
|
||||
}
|
||||
|
||||
static const struct quota_format_ops v2_format_ops = {
|
||||
|
|
Loading…
Reference in New Issue