diff options
author | Adam Coldrick <adam.coldrick@codethink.co.uk> | 2015-02-05 13:51:23 +0000 |
---|---|---|
committer | Adam Coldrick <adam.coldrick@codethink.co.uk> | 2015-02-06 12:57:49 +0000 |
commit | 9f5b2d64071ab8416487b5fc265908a511a9bf68 (patch) | |
tree | c7804a83b66ab4544f74dfbfc5ca7b5adf97c073 /morphlib/builder.py | |
parent | 3f7e38a7f2721a404ebbfb130b51fa639a9e7360 (diff) | |
download | morph-9f5b2d64071ab8416487b5fc265908a511a9bf68.tar.gz |
Add support for unionfsbaserock/adamcoldrick/use-overlayfs-when-deploying
Overlayfs is new in version 3.18 of the kernel, so add support for a
different implementation of a union/overlay filesystem in order to
allow morph to work on older kernels.
Diffstat (limited to 'morphlib/builder.py')
-rw-r--r-- | morphlib/builder.py | 13 |
1 files changed, 6 insertions, 7 deletions
diff --git a/morphlib/builder.py b/morphlib/builder.py index 40df10c3..cfba83c7 100644 --- a/morphlib/builder.py +++ b/morphlib/builder.py @@ -558,19 +558,18 @@ class SystemBuilder(BuilderBase): # pragma: no cover try: fs_root = self.staging_area.destdir(self.source) self.unpack_strata(fs_root) - overlay_root = self.staging_area.overlay_upperdir( + upperdir = self.staging_area.overlay_upperdir( self.source) editable_root = self.staging_area.overlaydir(self.source) workdir = os.path.join(self.staging_area.dirname, 'overlayfs-workdir') if not os.path.exists(workdir): os.makedirs(workdir) - options = '-olowerdir=%s,upperdir=%s,workdir=%s' % \ - (fs_root, overlay_root, workdir) - morphlib.fsutils.mount(self.app.runcmd, - 'overlay-%s' % a_name, - editable_root, - 'overlay', options) + morphlib.fsutils.overlay_mount(self.app.runcmd, + 'overlay-%s' % a_name, + editable_root, fs_root, + upperdir, workdir, + self.app.settings) self.write_metadata(editable_root, a_name) self.run_system_integration_commands(editable_root) unslashy_root = editable_root[1:] |