forked from pool/cloud-init
Robert Schweikert
4f395199c1
- Add cloud-init-resize-ro-btrfs.patch + cc_resizefs fails if the current root is a read-only btrfs subvolume, use an always writeable subvolume instead [bsc#1042913] OBS-URL: https://build.opensuse.org/request/show/545985 OBS-URL: https://build.opensuse.org/package/show/Cloud:Tools/cloud-init?expand=0&rev=99
21 lines
821 B
Diff
21 lines
821 B
Diff
--- cloudinit/config/cc_resizefs.py
|
|
+++ cloudinit/config/cc_resizefs.py 2017/11/27 11:55:37
|
|
@@ -59,7 +59,16 @@
|
|
|
|
|
|
def _resize_btrfs(mount_point, devpth):
|
|
- return ('btrfs', 'filesystem', 'resize', 'max', mount_point)
|
|
+# That btrfs utilities are using a path and not a device is bad,
|
|
+# because the subvolume specified by '/' could be read-only
|
|
+# and btrfs will wrongly fail. Correct fix would be to mount the
|
|
+# real root of the filesystem (subvolid=5) and resize that. But
|
|
+# using /.snapshots as workaround is Ok, too, since this is
|
|
+# normally writeable.
|
|
+ if mount_point == '/' and os.path.isdir("/.snapshots"):
|
|
+ return ('btrfs', 'filesystem', 'resize', 'max', '/.snapshots')
|
|
+ else:
|
|
+ return ('btrfs', 'filesystem', 'resize', 'max', mount_point)
|
|
|
|
|
|
def _resize_ext(mount_point, devpth):
|