Boston Linux & Unix (BLU) Home | Calendar | Mail Lists | List Archives | Desktop SIG | Hardware Hacking SIG
Wiki | Flickr | PicasaWeb | Video | Maps & Directions | Installfests | Keysignings
Linux Cafe | Meeting Notes | Blog | Linux Links | Bling | About BLU

BLU Discuss list archive


[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

[Discuss] Versioning File Systems



Other operating systems in existence at the time Unix was being designed 
required you to call different system calls depending on what device you 
were trying to do I/O to.  And some operating systems knew about file 
types and defined the complete set of file types you could deal with - 
e.g. source code, object files, linked executable, etc.  If you wanted a 
new file type, you had to get the people who provided the operating 
system (usually the hardware vendor) to add it in the next rev of the 
OS.  This created all sorts of problems.

To try to solve those problems, Thompson, Ritchie, etc. settled on the 
philosophy that, to the greatest extent possible, all Unix I/O would be 
treated as nothing more than a stream of bytes, with no structure 
imposed on it by the operating system.  So, device drivers in the kernel 
try to make files in the filesystem and devices that can only do output 
(e.g. a printer), etc., look the same to code in the application layer.  
The philosophy that only applications should impose structure on the 
data, and that the kernel should always present I/O as an 
undifferentiated byte stream is one of the things that made Unix such a 
success.  Versioning filesystems run very much counter to the 
traditional Unix design philosophy.

    Mark Rosenthal


On 5/3/2012 10:09 PM, Shankar Viswanathan wrote:
> On Thu, May 3, 2012 at 2:33 PM, Richard Pieri<richard.pieri at gmail.com>  wrote:
>> Snapshots aren't at all close to versioning.  A versioning file system keeps
>> (or can keep; one can usually configure how many versions to keep) every
>> version of a file saved.  File system snapshots get the file system state
>> when the snapshots are made.
>>
>> For example: create a ZFS snapshot.  Create a file.  Edit it and save it.
>>   Repeat nine more times.  Create another snapshot.  How many versions of the
>> file do you have?  You would have just one on ZFS.  You would have all
>> eleven on a versioning file system.
> Talking about versioning filesystems, why haven't they been popular on
> Unix/Linux? I know RSX-11 and VMS implemented versioning filesystems
> which were used quite extensively in development environments. I am
> aware of VFS implementations for Linux such as ext3cow and NILFS but
> haven't actually seen them used anywhere. I have always wondered why
> we don't see more uses of this idea.
>
> I know ClearCase implements a virtual filesystem to create a "view" of
> the versioned object, but I don't believe the versioning is handled
> natively in the filesystem -- the versioning I think is handled by a
> separate database.
>
> -Shankar
> _______________________________________________
> Discuss mailing list
> Discuss at blu.org
> http://lists.blu.org/mailman/listinfo/discuss
>
>



BLU is a member of BostonUserGroups
BLU is a member of BostonUserGroups
We also thank MIT for the use of their facilities.

Valid HTML 4.01! Valid CSS!



Boston Linux & Unix / webmaster@blu.org