From mboxrd@z Thu Jan 1 00:00:00 1970 From: "John Stoffel" Subject: Re: filesystem transactions API Date: Tue, 26 Apr 2005 11:01:54 -0400 Message-ID: <17006.22498.394169.98413@smtp.charter.net> References: <20050424211942.GN13052@parcelfarce.linux.theplanet.co.uk> <20050426134629.GU16169@viasys.com> <20050426141426.GC10833@mail.shareable.org> <426E4EBD.6070104@oktetlabs.ru> <20050426143247.GF10833@mail.shareable.org> Mime-Version: 1.0 Content-Type: text/plain; charset=us-ascii Content-Transfer-Encoding: 7bit Cc: "Artem B. Bityuckiy" , Ville Herva , linux-fsdevel@vger.kernel.org, linux-kernel@vger.kernel.org Return-path: Received: from mxsf28.cluster1.charter.net ([209.225.28.228]:9370 "EHLO mxsf28.cluster1.charter.net") by vger.kernel.org with ESMTP id S261555AbVDZPB4 (ORCPT ); Tue, 26 Apr 2005 11:01:56 -0400 To: Jamie Lokier In-Reply-To: <20050426143247.GF10833@mail.shareable.org> Sender: linux-fsdevel-owner@vger.kernel.org List-Id: linux-fsdevel.vger.kernel.org >>>>> "Jamie" == Jamie Lokier writes: Jamie> No. A transaction means that _all_ processes will see the Jamie> whole transaction or not. This is really hard. How do you handle the case where process X starts a transaction modifies files a, b & c, but process Y has file b open for writing, and never lets it go? Or the file gets unlinked? Jamie> For example, you can use transactions for distro package Jamie> management: a whole update of a package would be a single Jamie> transaction, so that at no time does any program see an Jamie> inconsistent set of files. See why _every_ process in the Jamie> system must have the same view? What about programs that are already open and running? It might be doable in some sense, but I can see that details are really hard to get right. Esp without breaking existing Unix semantics. But then again, I could be smoking something good (or bad :-) here, so take what I say with a grain of salt. John