From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S1754045Ab0DNIAY (ORCPT ); Wed, 14 Apr 2010 04:00:24 -0400 Received: from cantor.suse.de ([195.135.220.2]:37891 "EHLO mx1.suse.de" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S1753134Ab0DNIAX (ORCPT ); Wed, 14 Apr 2010 04:00:23 -0400 Date: Wed, 14 Apr 2010 10:00:19 +0200 From: Jan Blunck To: Jaswinder Singh Rajput Cc: Jan Kara , tytso@mit.edu, Linux-Kernel Mailinglist , linux-ext4@vger.kernel.org, Frederic Weisbecker , Arnd Bergmann , Andi Kleen , OGAWA Hirofumi Subject: Re: [PATCH 5/5] ext2: Add ext2_sb_info s_lock spinlock Message-ID: <20100414080019.GQ10776@bolzano.suse.de> References: <1271104905-8804-1-git-send-email-jblunck@suse.de> <1271104905-8804-6-git-send-email-jblunck@suse.de> Mime-Version: 1.0 Content-Type: text/plain; charset=iso-8859-1 Content-Disposition: inline Content-Transfer-Encoding: 8bit In-Reply-To: Organization: SUSE LINUX Products GmbH, GF Markus Rex, HRB 16746 (AG Nuernberg) User-Agent: Mutt/1.5.9i Sender: linux-kernel-owner@vger.kernel.org List-ID: X-Mailing-List: linux-kernel@vger.kernel.org On Wed, Apr 14, Jaswinder Singh Rajput wrote: > Hello, > > On Tue, Apr 13, 2010 at 2:11 AM, Jan Blunck wrote: > > Add a spinlock that protects against concurrent modifications of > > s_mount_state, s_blocks_last, s_overhead_last and the content of the > > superblock's buffer pointed to by sbi->s_es. This is a preparation patch > > for removing the BKL from ext2 in the next patch. > > > > Signed-off-by: Jan Blunck > > Cc: Andi Kleen > > Cc: Jan Kara > > Cc: OGAWA Hirofumi > > --- > >  fs/ext2/inode.c            |    2 ++ > >  fs/ext2/super.c            |   31 +++++++++++++++++++++++++++++-- > >  include/linux/ext2_fs_sb.h |    6 ++++++ > >  3 files changed, 37 insertions(+), 2 deletions(-) > > > > diff --git a/fs/ext2/inode.c b/fs/ext2/inode.c > > index fc13cc1..5d15442 100644 > > --- a/fs/ext2/inode.c > > +++ b/fs/ext2/inode.c > > @@ -1407,9 +1407,11 @@ static int __ext2_write_inode(struct inode *inode, int do_sync) > >                                * created, add a flag to the superblock. > >                                */ > >                                lock_kernel(); > > +                               spin_lock(&EXT2_SB(sb)->s_lock); > >                                ext2_update_dynamic_rev(sb); > >                                EXT2_SET_RO_COMPAT_FEATURE(sb, > >                                        EXT2_FEATURE_RO_COMPAT_LARGE_FILE); > > +                               spin_unlock(&EXT2_SB(sb)->s_lock); > >                                unlock_kernel(); > >                                ext2_write_super(sb); > > Do we need both locks (kernel lock and spin lock) > The BKL is removed in a separate patch. First I though it should get merged through Frederic's tree but since the removal does not depend on the pushdown from do_new_mount() I guess it is safe to add here. Thanks, Jan