Filesystem Independence
Filesystem Independence
Posted Jun 8, 2010 22:35 UTC (Tue) by BrucePerens (guest, #2510)Parent article: The Next3 filesystem
Why do this at the filesystem level? It's possible to do a copy-on-write image as a block device. Then you'd have filesystem independence. It would be sensitive to changes in filesystem metadata: time stamps, free block lists, inodes, etc., but I'm not convinced this would be a tremendous overhead unless you compact the filesystem or do something else that causes all blocks to be written.
Posted Jun 8, 2010 22:45 UTC (Tue)
by dlang (guest, #313)
[Link] (2 responses)
some things could be implemented as a journal ('timestamp on this file changed from X at time T' is much shorter than duplicating the entire block)
the filesystem can also be smarter about the location of blocks when it's accessing a block device more directly. One problem with doing snapshots at the block level is that you very quickly end up with a lot of seeking. The filesystem can be smarter about this.
in practice it may or may not matter, but there are enough places where it could matter that it's worth exploring.
Posted Jun 8, 2010 23:02 UTC (Tue)
by BrucePerens (guest, #2510)
[Link] (1 responses)
Yes, of course. At the filesystem level, you can ignore everything except for the data content of directories, files, and symlinks, and some of the metadata that would be returned by stat.
What I don't have so far is proof that being smarter is really smart this time. There is a cost per filesystem format, is it more than 10% greater than the cost of doing this at the block image level? 10% seems like a low cost compared to dealing with Ted, Linus, etc. And if you get filesystem independence too, it's a deal!
Posted Jun 8, 2010 23:05 UTC (Tue)
by BrucePerens (guest, #2510)
[Link]
Filesystem Independence
Filesystem Independence
one possible reason (and I don't know if it's true in this case) would be that by doing this at the filesystem level they can be smarter than something at the block level could be.
Oops, I mean is the cost of doing this at the block level more than 10% greater than doing it at the filesystem level. I wrote the reverse.
Filesystem Independence