Hello community,

here is the log from the commit of package cloud-init for openSUSE:Factory 
checked in at 2017-11-29 10:53:57
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Comparing /work/SRC/openSUSE:Factory/cloud-init (Old)
 and      /work/SRC/openSUSE:Factory/.cloud-init.new (New)
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++

Package is "cloud-init"

Wed Nov 29 10:53:57 2017 rev:42 rq:546125 version:17.1

Changes:
--------
--- /work/SRC/openSUSE:Factory/cloud-init/cloud-init.changes    2017-11-21 
15:34:00.873639023 +0100
+++ /work/SRC/openSUSE:Factory/.cloud-init.new/cloud-init.changes       
2017-11-29 10:53:59.305758392 +0100
@@ -1,0 +2,7 @@
+Mon Nov 27 13:21:13 CET 2017 - [email protected]
+
+- 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]
+
+-------------------------------------------------------------------

New:
----
  cloud-init-resize-ro-btrfs.patch

++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++

Other differences:
------------------
++++++ cloud-init.spec ++++++
--- /var/tmp/diff_new_pack.LN5ES7/_old  2017-11-29 10:54:00.125728644 +0100
+++ /var/tmp/diff_new_pack.LN5ES7/_new  2017-11-29 10:54:00.129728499 +0100
@@ -48,6 +48,7 @@
 Patch29:        datasourceLocalDisk.patch
 Patch34:        cloud-init-tests-set-exec.patch
 Patch35:        cloud-init-final-no-apt.patch
+Patch36:        cloud-init-resize-ro-btrfs.patch
 BuildRequires:  fdupes
 BuildRequires:  filesystem
 # pkg-config is needed to find correct systemd unit dir
@@ -211,6 +212,7 @@
 %patch29 -p0
 %patch34
 %patch35 -p1
+%patch36
 
 
 %build

++++++ cloud-init-resize-ro-btrfs.patch ++++++
--- 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):

Reply via email to