LiveCDUnionFS

Summary

We want to be able to optionally use UnionFS on the LiveCD (instead of devmapper with Copy-On-Write snapshots) as it's more flexible and faster. As it works on the file system level, removing files added to the writable part of the file system will reduce the size, not add further to it (as it will with devmapper-based copy-on-write snapshots). Also, unionfs allows us to stack more file systems on top of each other, which could be useful from the user's point of view.

Rationale

  • Pros:
    • Faster than devmapper with copy-on-write
    • More flexible since it allows multiple levels of mounts
    • Works on the file system level which means removing files from the snapshot reduces memory usage.
  • Cons:
    • Requires patching a new FS into our kernel.
    • Has a bad history stability wise.

Due to the history of instability and the fact that instability in UnionFS will take down the box, we want to make the LiveCD's use of UnionFS optional, and leave the current devmapper + COW solution available as a fall back option.

Implementation

  • The unionfs driver needs to be added back to the kernel for Dapper: http://bugzilla.ubuntu.com/show_bug.cgi?id=9757 . This is going to happen with the first kernel upload for dapper.

  • Merge tollef.fog.heen@canonical.com/casper--unionfs--0 with the current casper. This is an implementation which add conditional support for unionfs. It has been lightly tested and should work, but would require more testing to make sure it's solid.

  • Test according to FormalTestPlans

  • While bugs are still present: fix bugs and retest
  • Release
  • Profit

BoF agenda and discussion

  • There are FUSE UnionFS drivers which can be used without patching in a UnionFS file system. These include FunionFS and UnionFsFuse. --JohnMoser


CategorySpec

LiveCDUnionFS (last edited 2008-08-06 16:35:07 by localhost)