From mboxrd@z Thu Jan 1 00:00:00 1970 From: Trond Myklebust Subject: Re: filesystem transactions API Date: Tue, 26 Apr 2005 11:19:42 -0400 Message-ID: <1114528782.13568.8.camel@lade.trondhjem.org> 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> <17006.22498.394169.98413@smtp.charter.net> Mime-Version: 1.0 Content-Type: text/plain Content-Transfer-Encoding: 7bit Cc: Jamie Lokier , "Artem B. Bityuckiy" , Ville Herva , Linux Filesystem Development , linux-kernel@vger.kernel.org Return-path: Received: from pat.uio.no ([129.240.130.16]:45793 "EHLO pat.uio.no") by vger.kernel.org with ESMTP id S261577AbVDZPUH (ORCPT ); Tue, 26 Apr 2005 11:20:07 -0400 To: John Stoffel In-Reply-To: <17006.22498.394169.98413@smtp.charter.net> Sender: linux-fsdevel-owner@vger.kernel.org List-Id: linux-fsdevel.vger.kernel.org ty den 26.04.2005 Klokka 11:01 (-0400) skreiv John Stoffel: > >>>>> "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? That is why implementing it as a form of lock makes sense. > 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. Wrong. Cheers, Trond -- Trond Myklebust