diff options
author | Jonathan Maw <jonathan.maw@codethink.co.uk> | 2013-05-10 16:44:51 +0000 |
---|---|---|
committer | Jonathan Maw <jonathan.maw@codethink.co.uk> | 2013-05-13 10:14:59 +0100 |
commit | 4025d614bbb9faac17a53672c4bd19e69c74cb4b (patch) | |
tree | 75e30ea9a1f5834f4f2c6b679f0a4f2195f986ae | |
parent | 302f6ca1eb5e90704b645b186d97a22d44d9f938 (diff) | |
download | definitions-4025d614bbb9faac17a53672c4bd19e69c74cb4b.tar.gz |
Add 'state' dirs as btrfs subvolumes
These subvolumes exist in state/{home,opt,srv}
of the disk's root. They are not mounted by
default.
-rwxr-xr-x | writeexts.py | 11 |
1 files changed, 11 insertions, 0 deletions
diff --git a/writeexts.py b/writeexts.py index cb47f63d..49cd89dd 100755 --- a/writeexts.py +++ b/writeexts.py @@ -65,6 +65,7 @@ class WriteExtension(cliapp.Application): version_label = 'version1' version_root = os.path.join(mp, 'systems', version_label) os.makedirs(version_root) + self.create_state(mp) self.create_orig(version_root, temp_root) self.create_fstab(version_root) self.create_run(version_root) @@ -117,6 +118,16 @@ class WriteExtension(cliapp.Application): '''Parse RAM size from environment.''' return self._parse_size_from_environment('RAM_SIZE', '1G') + def create_state(self, real_root): + '''Create the state subvolumes that are shared between versions''' + + self.status(msg='Creating state subvolumes') + os.mkdir(os.path.join(real_root, 'state')) + statedirs = ['home', 'opt', 'srv'] + for statedir in statedirs: + dirpath = os.path.join(real_root, 'state', statedir) + cliapp.runcmd(['btrfs', 'subvolume', 'create', dirpath]) + def create_raw_disk_image(self, filename, size): '''Create a raw disk image.''' |