From mboxrd@z Thu Jan 1 00:00:00 1970 From: Fernando Luis Vazquez Cao Subject: Re: [RFC 0/9 v3] fsfreeze: miscellaneous fixes and cleanups Date: Fri, 14 Sep 2012 11:48:56 +0900 Message-ID: <50529B18.6090504@lab.ntt.co.jp> References: <1347533862.5646.2.camel@nexus.lab.ntt.co.jp> <20120914005700.GP11511@dastard> <50529479.1040503@lab.ntt.co.jp> <5052977D.7000305@redhat.com> Mime-Version: 1.0 Content-Type: text/plain; charset=UTF-8; format=flowed Content-Transfer-Encoding: QUOTED-PRINTABLE Cc: Dave Chinner , Al Viro , Josef Bacik , Dave Chinner , Christoph Hellwig , Jan Kara , linux-fsdevel@vger.kernel.org To: Eric Sandeen Return-path: Received: from tama50.ecl.ntt.co.jp ([129.60.39.147]:59766 "EHLO tama50.ecl.ntt.co.jp" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S1753268Ab2INCtO (ORCPT ); Thu, 13 Sep 2012 22:49:14 -0400 In-Reply-To: <5052977D.7000305@redhat.com> Sender: linux-fsdevel-owner@vger.kernel.org List-ID: On 2012=E5=B9=B409=E6=9C=8814=E6=97=A5 11:33, Eric Sandeen wrote: > On 9/13/12 9:20 PM, Fernando Luis Vazquez Cao wrote: >> On 2012/09/14 09:57, Dave Chinner wrote: >>> On Thu, Sep 13, 2012 at 07:57:42PM +0900, Fernando Luis V=C3=A1zque= z Cao wrote: >>>> This patch set is to address long standing issues in the filesytem= freeze code >>>> and to fill some functionality gaps in the API. Some minor code re= arrangements >>>> are included too. >>>> >>>> The following patches are included: >>>> >>>> --- >>>> [1/9] vfs: add __iterate_supers() helper >>>> [2/9] fsfreeze: add unlocked version of thaw_super >>>> >>>> Preparatory patches to fix s_umount lockup of emergency thaw code. >>>> >>>> [3/9] fsfreeze: Prevent emergency thaw from looping infinitely >>>> >>>> Fix thaw_bdev so that it propagates the error code properly to the= caller. >>>> This bug caused emergency thaw to loop infinitely. This is a forwa= rd port of >>>> a previous patch by Dave Chinner. >>>> >>>> [4/9] fsfreeze: emergency thaw will deadlock on s_umount >>>> >>>> Avoid emergency thaw deadlock on s_umount by using unlocked versio= n of >>>> thaw_super() and __iterate_supers()i (introduced in patches 2 and = 1 >>>> respectively). >>> Given the problems with emergency thaw, this interface has never >>> really worked. In the absence of any obvious need for the >>> functionality (i.e. nobody has reported that it is broken since it >>> was introduced), why don't we simply remove it? >>> >>> IIRC, the emergency thaw code was only added to alleviate >>> fear-mongering about systems getting stuck with unfreezable ext4 >>> filesystems (after the "freeze w/ timeout" extensions were knocked >>> back), and time has indicated those fears were unfounded. >>> >>> So, rather than trying to fix the emergency thaw mess, I say we >>> nuke it from orbit.... >> As I commented to Eric, In virtualization environments it comes in >> handy sometimes. For example, in an emergency case where a guest >> agent dies leaving one or more filesystems frozen emergency thaw >> is useful. > Except it hasn't actually worked for 2 years, so it really probably > hasn't been handy at all, in practice. That is why we have been fixing it locally for our systems. :-) >> Hopefully my fix is correct and we can keep this feature. > The fix comes at a cost of quite a lot of complexity and rewriting, t= hough. Hopefully my fix is not too complex... > We can always write more and more complex code, for weird administrat= ive > corner cases, but is it worth it? I'm not quite convinced yet. Another case where emergency thaw comes in handy is when one freezes / by mistake which can lead to "funny" situations... -- To unsubscribe from this list: send the line "unsubscribe linux-fsdevel= " in the body of a message to majordomo@vger.kernel.org More majordomo info at http://vger.kernel.org/majordomo-info.html