quota: add missing lock into __dquot_transfer()
Lock dq_dqb_lock around dquot_decr_inodes()
Signed-off-by: Konstantin Khlebnikov <khlebnikov@yandex-team.ru>
Fixes: 7b9ca4c61b
("quota: Reduce contention on dq_data_lock")
Signed-off-by: Jan Kara <jack@suse.cz>
This commit is contained in:
parent
0666f560b7
commit
0a51fb7174
|
@ -1980,7 +1980,9 @@ int __dquot_transfer(struct inode *inode, struct dquot **transfer_to)
|
|||
ret = dquot_add_space(transfer_to[cnt], cur_space, rsv_space, 0,
|
||||
&warn_to[cnt]);
|
||||
if (ret) {
|
||||
spin_lock(&transfer_to[cnt]->dq_dqb_lock);
|
||||
dquot_decr_inodes(transfer_to[cnt], inode_usage);
|
||||
spin_unlock(&transfer_to[cnt]->dq_dqb_lock);
|
||||
goto over_quota;
|
||||
}
|
||||
}
|
||||
|
|
Loading…
Reference in New Issue