From mboxrd@z Thu Jan 1 00:00:00 1970 From: Al Viro Subject: Re: [PATCH] Introduce freeze_super and thaw_super for the fsfreeze ioctl Date: Tue, 23 Mar 2010 15:12:46 +0000 Message-ID: <20100323151246.GJ30031@ZenIV.linux.org.uk> References: <20100323142200.GA2381@localhost.localdomain> <20100323142843.GG30031@ZenIV.linux.org.uk> <20100323143456.GC2381@localhost.localdomain> <20100323144828.GH30031@ZenIV.linux.org.uk> <20100323150301.GD2381@localhost.localdomain> <20100323150923.GI30031@ZenIV.linux.org.uk> Mime-Version: 1.0 Content-Type: text/plain; charset=us-ascii Cc: linux-fsdevel@vger.kernel.org, linux-kernel@vger.kernel.org, chris.mason@oracle.com, hch@lst.de To: Josef Bacik Return-path: Content-Disposition: inline In-Reply-To: <20100323150923.GI30031@ZenIV.linux.org.uk> Sender: linux-kernel-owner@vger.kernel.org List-Id: linux-fsdevel.vger.kernel.org On Tue, Mar 23, 2010 at 03:09:23PM +0000, Al Viro wrote: > On Tue, Mar 23, 2010 at 11:03:01AM -0400, Josef Bacik wrote: > > > sb is an active reference > > > > > > > I don't understand how this is an active reference? We are talking about > > s_active right? > > It's an opened file, for crying out loud! If there is anything that makes > sure that superblock will stay alive, that is it... > > And lose the "locked" argument, please. The sane solution is to make > get_active_super() return it unlocked and have your freeze_bdev() simply > grab s_umount. Unconditionally. I'll do the first part in #untested in > a minute or so (and make it grab s_umount in the current variant of code in > fs/block_dev.c); then your patch would shift taking s_umount down into > freeze_super(). Done. See the tree on hera (or wait a few until it propagates to git.k.o)