From mboxrd@z Thu Jan 1 00:00:00 1970 From: Jan Kara Subject: Re: [PATCH] quota: Move down dqptr_sem read after initializing default warn[] type at __dquot_alloc_space(). Date: Tue, 14 Aug 2012 15:26:35 +0200 Message-ID: <20120814132635.GC7122@quack.suse.cz> References: <500637B9.7050808@oracle.com> Mime-Version: 1.0 Content-Type: text/plain; charset=us-ascii Cc: "linux-fsdevel@vger.kernel.org" , Jan Kara To: Jeff Liu Return-path: Received: from cantor2.suse.de ([195.135.220.15]:36478 "EHLO mx2.suse.de" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S1751095Ab2HNN0h (ORCPT ); Tue, 14 Aug 2012 09:26:37 -0400 Content-Disposition: inline In-Reply-To: <500637B9.7050808@oracle.com> Sender: linux-fsdevel-owner@vger.kernel.org List-ID: 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 > > --- > 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 SUSE Labs, CR