mirror of
https://github.com/BobTheBlinker/android_kernel_motorola_sm6375.git
synced 2026-10-30 19:51:31 -04:00
quota: Acquire dqio_sem for reading in vfs_load_quota_inode()
vfs_load_quota_inode() needs dqio_sem only for reading. In fact dqio_sem is not needed there at all since the function can be called only during quota on when quota file cannot be modified but let's leave the protection there since it is logical and the path is in no way performance critical. Reviewed-by: Andreas Dilger <[email protected]> Signed-off-by: Jan Kara <[email protected]>
This commit is contained in:
parent
0cff9151d3
commit
d6ab366102
2 changed files with 6 additions and 6 deletions
|
|
@ -2331,15 +2331,15 @@ static int vfs_load_quota_inode(struct inode *inode, int type, int format_id,
|
|||
dqopt->info[type].dqi_format = fmt;
|
||||
dqopt->info[type].dqi_fmt_id = format_id;
|
||||
INIT_LIST_HEAD(&dqopt->info[type].dqi_dirty_list);
|
||||
down_write(&dqopt->dqio_sem);
|
||||
down_read(&dqopt->dqio_sem);
|
||||
error = dqopt->ops[type]->read_file_info(sb, type);
|
||||
if (error < 0) {
|
||||
up_write(&dqopt->dqio_sem);
|
||||
up_read(&dqopt->dqio_sem);
|
||||
goto out_file_init;
|
||||
}
|
||||
if (dqopt->flags & DQUOT_QUOTA_SYS_FILE)
|
||||
dqopt->info[type].dqi_flags |= DQF_SYS_FILE;
|
||||
up_write(&dqopt->dqio_sem);
|
||||
up_read(&dqopt->dqio_sem);
|
||||
spin_lock(&dq_state_lock);
|
||||
dqopt->flags |= dquot_state_flag(flags, type);
|
||||
spin_unlock(&dq_state_lock);
|
||||
|
|
|
|||
Loading…
Reference in a new issue