summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorPedro Alvarez <pedro.alvarez@codethink.co.uk>2014-11-05 10:24:07 +0000
committerPedro Alvarez <pedro.alvarez@codethink.co.uk>2014-11-05 16:16:41 +0000
commit711c908c8cb1d00fb7ec2128165991801baaf144 (patch)
treef37c9338b6c09d420da15bf9abbf0b308c8f32ec
parentfe6faba9be01eb1277780a076eb15608829d3798 (diff)
downloaddefinitions-711c908c8cb1d00fb7ec2128165991801baaf144.tar.gz
Use the default symlink when creating the orig subvolume.
This patch solves the issue caused by upgrading a system without a factory version. Currently we are only using the factory version to snapshot its orig subvolume to make faster the transfer of the new content (rsync won't have to send everything). The default symlink may not be present, but it can't be deleted easily using system-version-manager. This is a quick fix, but in the future we may want to not harcode the path from where we snapshot the orig subvolume. Or improve system-version-manager to make sure that the default symlink is always present.
-rwxr-xr-xrawdisk.write2
-rwxr-xr-xssh-rsync.write4
2 files changed, 3 insertions, 3 deletions
diff --git a/rawdisk.write b/rawdisk.write
index 1c2c5a84..12db4398 100755
--- a/rawdisk.write
+++ b/rawdisk.write
@@ -68,7 +68,7 @@ class RawDiskWriteExtension(morphlib.writeexts.WriteExtension):
version_root = os.path.join(mp, 'systems', version_label)
os.mkdir(version_root)
- old_orig = os.path.join(mp, 'systems', 'factory', 'orig')
+ old_orig = os.path.join(mp, 'systems', 'default', 'orig')
new_orig = os.path.join(version_root, 'orig')
cliapp.runcmd(
['btrfs', 'subvolume', 'snapshot', old_orig, new_orig])
diff --git a/ssh-rsync.write b/ssh-rsync.write
index 0ce89c7f..2d7258ba 100755
--- a/ssh-rsync.write
+++ b/ssh-rsync.write
@@ -92,8 +92,8 @@ class SshRsyncWriteExtension(morphlib.writeexts.WriteExtension):
def get_old_orig(self, location, remote_mnt):
'''Identify which subvolume to snapshot from'''
- # rawdisk upgrades use 'factory'
- return os.path.join(remote_mnt, 'systems', 'factory', 'orig')
+ # rawdisk upgrades use 'default'
+ return os.path.join(remote_mnt, 'systems', 'default', 'orig')
@contextlib.contextmanager
def _created_orig_subvolume(self, location, remote_mnt, version_root):