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 | 46cb27372ba07543986148340bedfdb9adfc23cc (patch) | |
tree | ff4f940eca6a27fce399f22b56907e8885b832ff /morphlib/writeexts.py | |
parent | 12d5377995f736caac630c85749cec81be6a419c (diff) | |
download | morph-46cb27372ba07543986148340bedfdb9adfc23cc.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.
Diffstat (limited to 'morphlib/writeexts.py')
-rwxr-xr-x | morphlib/writeexts.py | 11 |
1 files changed, 11 insertions, 0 deletions
diff --git a/morphlib/writeexts.py b/morphlib/writeexts.py index cb47f63d..49cd89dd 100755 --- a/morphlib/writeexts.py +++ b/morphlib/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.''' |