btrfs Support

Registered by Duncan McGreggor

We need to know what pieces we need, and what isn't done. At the very least, we add support for this with the usual caveats.

Blueprint information

Robbie Williamson
Colin Watson
Needs approval
Surbhi Palande
Series goal:
Accepted for natty
Milestone target:
Started by
Robbie Williamson
Completed by
Robbie Williamson

Related branches



Work items:
[csurbhi] port btrfs filesystem support to grub2 (actually merged upstream branch): DONE
[csurbhi] add compression support to grub2 btrfs module (actually merged upstream branch): DONE
[csurbhi] change the installer so that it creates a system and a home subvolume by default (required for the apt snapshots): DONE
[mvo] investigate integration with the release upgrader (lp:apt-btrfs-snapshot): DONE
[mvo] investigate snapshot integration with apt's dpkg::pre-install-pkgs hook (uploaded to natty as apt-btrfs-snapshot): DONE
[mvo] investigate UI options for easy revert after upgrade (cli only, needs gui in O): DONE
[mvo] provide UI to discard snapshot after upgrade to save space (cli only, need gui in O): DONE
[mvo] automatically revert to snapshot on upgrade error: POSTPONED

Old work items for maverick-alpha-2:
[cjwatson] make grub-probe work with btrfs: DONE
[scott] make ureadahead work with btrfs: DONE
[cjwatson] enable installer support for btrfs: DONE
[mvo] investigate if /home can be excluded from the snapshots via sub-volumes: DONE

(cjwatson: I moved the btrfs/grub2 port to alpha-3 since there is a licensing question hanging over it so I don't think it will actually land in the distribution for alpha-2. csurbhi has sent mail to try to resolve this.)

(robbie.w: I deferred this for completion in Natty, as we won't be able to complete all the remainin work for Maverick.)

This needs to be looked at again next cycle and some refinements are required. Like
- adding the costs of the snapshot to the disk-space required calculation
- the automatic revert on failure (this needs to save the logs first of course)
- adding grub menu entries for booting into old snapshots
- automatic cleanup of old snapshots
- gtk ui/integration with normal update-manger UI and/or computer-janitor

But its not important to do it now "natty -> O" will the first release where we can use this (the FS layout on maverick with btrfs does not allow snapshots the way we want them).


Work Items