Page 1 of 1
File systems with revision control
Posted: Sat Nov 30, 2013 10:56 am
by Antti
If using traditional file systems and we write one new byte at the beginning of a file, it is likely that all the file content is shifted one byte forward. There is a huge overhead if the file is big because everything changes. If we stored only the change information, it would not be necessary to change the existing written data. It would be like a revision control system. I have not studied all file systems so I cannot say whether this is already implemented or not. Do you know a file system that does this?
Re: File systems with revision control
Posted: Sat Nov 30, 2013 11:21 am
by bluemoon
Re: File systems with revision control
Posted: Sat Nov 30, 2013 12:23 pm
by Antti
If looking at a file system like FAT, there could be a simple fix. Now the file content starts at the beginning of a cluster. What if there was an offset that says from where the actual file content starts. In the case of writing one new byte at the beginning, all existing data could be left as they are. Quite nice!
Re: File systems with revision control
Posted: Sat Nov 30, 2013 12:44 pm
by bluemoon
In that one byte case, you optimized for the write operation, however every time you read that data back you wasted disk IO time for reading junk along with that one byte.
Normal OS assume write once, read many.
Re: File systems with revision control
Posted: Sat Nov 30, 2013 1:29 pm
by bwat
bluemoon wrote:Normal OS assume write once, read many.
Yep, the law of slow creation says that we humans read more than we write and computers are built in our image so to speak.
ClearCase is a version control system that works like a file system, well it looks like a normal file system as far as the user is concerned.
I suppose a versioning file system like VMS along with diff would work quite well.
Re: File systems with revision control
Posted: Sat Nov 30, 2013 10:25 pm
by Thomas
Antti wrote:If using traditional file systems and we write one new byte at the beginning of a file, it is likely that all the file content is shifted one byte forward. There is a huge overhead if the file is big because everything changes. If we stored only the change information, it would not be necessary to change the existing written data. It would be like a revision control system. I have not studied all file systems so I cannot say whether this is already implemented or not. Do you know a file system that does this?
VMS implemented versioning decades ago , VMS FTW ! ( wikipedia link bluemoon post has all info ) . But OpenVMS creates a new file with a different version number , But it is one of the most fantastically designed Operating Systems in the planet , too bad it is getting phased out gradually .
--Thomas