Donate to e Foundation | Murena handsets with /e/OS | Own a part of Murena! Learn more

Commit 955ac6e5 authored by Sheng Yong's avatar Sheng Yong Committed by Jaegeuk Kim
Browse files

f2fs: quota: decrease the lock granularity of statfs_project



According to fs/quota/dquot.c, `dq_data_lock' protects mem_dqinfo
structures and modifications of dquot pointers in the inode, and
`dquot->dq_dqb_lock' protects data from dq_dqb.

We should use dquot->dq_dqb_lock in statfs_project instead of
dq_dat_lock.

Signed-off-by: default avatarSheng Yong <shengyong1@huawei.com>
Reviewed-by: default avatarChao Yu <yuchao0@huawei.com>
Signed-off-by: default avatarJaegeuk Kim <jaegeuk@kernel.org>
parent 970e348d
Loading
Loading
Loading
Loading
+2 −2
Original line number Diff line number Diff line
@@ -1117,7 +1117,7 @@ static int f2fs_statfs_project(struct super_block *sb,
	dquot = dqget(sb, qid);
	if (IS_ERR(dquot))
		return PTR_ERR(dquot);
	spin_lock(&dq_data_lock);
	spin_lock(&dquot->dq_dqb_lock);

	limit = (dquot->dq_dqb.dqb_bsoftlimit ?
		 dquot->dq_dqb.dqb_bsoftlimit :
@@ -1140,7 +1140,7 @@ static int f2fs_statfs_project(struct super_block *sb,
			 (buf->f_files - dquot->dq_dqb.dqb_curinodes) : 0;
	}

	spin_unlock(&dq_data_lock);
	spin_unlock(&dquot->dq_dqb_lock);
	dqput(dquot);
	return 0;
}