Re: [PATCH] quota: Move down dqptr_sem read after initializing default warn[] type at __dquot_alloc_space().
From: Jan Kara <jack@suse.cz>
Date: 2012-08-14 13:26:37
From: Jan Kara <jack@suse.cz>
Date: 2012-08-14 13:26:37
Hello, On Wed 18-07-12 12:12:41, Jeff Liu wrote:
sb->s_dqout->dqptr_sem is used to serialize ops using quota_info for pointers from inode to dquots. But for __dquot_alloc_space(), it could be safely moved down after the default warn[] array got initialized IMHO.
Yes, you are right. Although practically the difference will be rather minimal... Thanks for the patch. I've added it to my tree. Honza
Thanks, -Jeff Signed-off-by: Jie Liu <redacted> --- fs/quota/dquot.c | 2 +- 1 files changed, 1 insertions(+), 1 deletions(-)diff --git a/fs/quota/dquot.c b/fs/quota/dquot.c index 10cbe84..510ae87 100644 --- a/fs/quota/dquot.c +++ b/fs/quota/dquot.c@@ -1571,10 +1571,10 @@ int __dquot_alloc_space(struct inode *inode, qsize_t number, int flags) goto out; } - down_read(&sb_dqopt(inode->i_sb)->dqptr_sem); for (cnt = 0; cnt < MAXQUOTAS; cnt++) warn[cnt].w_type = QUOTA_NL_NOWARN; + down_read(&sb_dqopt(inode->i_sb)->dqptr_sem); spin_lock(&dq_data_lock); for (cnt = 0; cnt < MAXQUOTAS; cnt++) { if (!dquots[cnt])-- 1.7.4.1
-- Jan Kara [off-list ref] SUSE Labs, CR