From mboxrd@z Thu Jan 1 00:00:00 1970 From: Jan Harkes Subject: Re: srfs - a new file system. Date: Fri, 24 Oct 2003 10:38:29 -0400 Sender: linux-fsdevel-owner@vger.kernel.org Message-ID: <20031024143829.GB11277@delft.aura.cs.cmu.edu> References: <1066939945.11997.38.camel@patehci2> Mime-Version: 1.0 Content-Type: text/plain; charset=us-ascii Cc: Pat LaVarre , bulb@ucw.cz, jaharkes@cs.cmu.edu, linux-fsdevel@vger.kernel.org Return-path: Received: from DELFT.AURA.CS.CMU.EDU ([128.2.206.88]:39046 "EHLO delft.aura.cs.cmu.edu") by vger.kernel.org with ESMTP id S262224AbTJXOiw (ORCPT ); Fri, 24 Oct 2003 10:38:52 -0400 To: Nir Tzachar Content-Disposition: inline In-Reply-To: List-Id: linux-fsdevel.vger.kernel.org On Fri, Oct 24, 2003 at 11:21:38AM +0200, Nir Tzachar wrote: > i think ur right, but even when u do succeed, lets take a more byzantine > approach: what if the time service is down? sabotaged? damaged? maybe it > lies through its teeth(ports) ?? maybe ur vector time is corrupted? maybe > a user deliberately changed his vector time - he will bring havoc upon > ur system . Ever heard of lamport clocks? A version vector is incremented on updates. So it doesn't matter whether I changed the file on Saturday and you changed it on Sunday, when we both return on Monday the system _will_ detect that both of us have a new version of the same original file and considers it a conflict. It is just another way of detecting version differences. If a server has been off-line for a while, the version on it's files are lower than those of files that were updated on the on-line servers. So we see that it simply has an older version and we can (trivially) resolve the conflict by forcing the new versions to the restored server. This even works if the broken server had to be rebuilt from scratch and has no data (i.e. all 'versions-vectors' are all zeros). But we don't need to have a majority of the servers available to perform successfull writes. It is just a different solution from yours, with it's own unique limitations (limited length of the version vector limits maximal replication factor). Jan