Hello community,

here is the log from the commit of package criu for openSUSE:Factory checked in 
at 2017-04-03 11:05:23
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Comparing /work/SRC/openSUSE:Factory/criu (Old)
 and      /work/SRC/openSUSE:Factory/.criu.new (New)
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++

Package is "criu"

Mon Apr  3 11:05:23 2017 rev:31 rq:484227 version:2.12.1

Changes:
--------
--- /work/SRC/openSUSE:Factory/criu/criu.changes        2017-03-22 
23:18:23.386847079 +0100
+++ /work/SRC/openSUSE:Factory/.criu.new/criu.changes   2017-04-03 
11:06:03.511624680 +0200
@@ -1,0 +2,10 @@
+Fri Mar 31 14:49:05 CEST 2017 - [email protected]
+
+- update to criu 2.12.1:
+  Fixes:
+  * Content for external bind mounts was erroneously dumped, which
+    could lead to dump failures or huuuge images
+  * Unneeded collection of host mounts on restore could cause
+    restore to fail
+
+-------------------------------------------------------------------

Old:
----
  criu-2.12.tar.bz2

New:
----
  criu-2.12.1.tar.bz2

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

Other differences:
------------------
++++++ criu.spec ++++++
--- /var/tmp/diff_new_pack.5rvAlV/_old  2017-04-03 11:06:04.215525230 +0200
+++ /var/tmp/diff_new_pack.5rvAlV/_new  2017-04-03 11:06:04.219524665 +0200
@@ -17,7 +17,7 @@
 
 
 Name:           criu
-Version:        2.12
+Version:        2.12.1
 Release:        0
 Summary:        Checkpoint/Restore In Userspace Tools
 License:        GPL-2.0

++++++ criu-2.12.tar.bz2 -> criu-2.12.1.tar.bz2 ++++++
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/criu-2.12/Makefile.versions 
new/criu-2.12.1/Makefile.versions
--- old/criu-2.12/Makefile.versions     2017-03-08 19:45:51.000000000 +0100
+++ new/criu-2.12.1/Makefile.versions   2017-03-27 20:44:22.000000000 +0200
@@ -2,7 +2,7 @@
 # CRIU version.
 CRIU_VERSION_MAJOR     := 2
 CRIU_VERSION_MINOR     := 12
-CRIU_VERSION_SUBLEVEL  :=
+CRIU_VERSION_SUBLEVEL  := 1
 CRIU_VERSION_EXTRA     :=
 CRIU_VERSION_NAME      := Vulcanite Rook
 CRIU_VERSION           := $(CRIU_VERSION_MAJOR)$(if 
$(CRIU_VERSION_MINOR),.$(CRIU_VERSION_MINOR))$(if 
$(CRIU_VERSION_SUBLEVEL),.$(CRIU_VERSION_SUBLEVEL))$(if 
$(CRIU_VERSION_EXTRA),.$(CRIU_VERSION_EXTRA))
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/criu-2.12/criu/mount.c new/criu-2.12.1/criu/mount.c
--- old/criu-2.12/criu/mount.c  2017-03-08 19:45:51.000000000 +0100
+++ new/criu-2.12.1/criu/mount.c        2017-03-27 20:44:22.000000000 +0200
@@ -1263,13 +1263,14 @@
        if (me.fstype == FSTYPE__AUTO)
                me.fsname = pm->fsname;
 
+       if (!pm->external) {
+               if (!pm->dumped && dump_one_fs(pm))
+                       return -1;
 
-       if (!pm->dumped && dump_one_fs(pm))
-               return -1;
-
-       if (!fsroot_mounted(pm) &&
-           pm->fstype->check_bindmount && pm->fstype->check_bindmount(pm))
-               return -1;
+               if (!fsroot_mounted(pm) &&
+                   pm->fstype->check_bindmount && 
pm->fstype->check_bindmount(pm))
+                       return -1;
+       }
 
        if (pm->mnt_id == CRTIME_MNT_ID) {
                pr_info("Skip dumping cr-time mountpoint: %s\n", 
pm->mountpoint);
@@ -2901,7 +2902,6 @@
 int prepare_mnt_ns(void)
 {
        int ret = -1, rst = -1;
-       struct mount_info *old;
        struct ns_id ns = { .type = NS_CRIU, .ns_pid = PROC_SELF, .nd = 
&mnt_ns_desc };
        struct ns_id *nsid;
 
@@ -2910,27 +2910,30 @@
 
        pr_info("Restoring mount namespace\n");
 
-       old = collect_mntinfo(&ns, false);
-       if (old == NULL)
-               return -1;
-
        if (!opts.root) {
+               struct mount_info *old;
+
                if (chdir("/")) {
                        pr_perror("chdir(\"/\") failed");
                        return -1;
                }
 
+               old = collect_mntinfo(&ns, false);
+               if (old == NULL)
+                       return -1;
                /*
                 * The new mount namespace is filled with the mountpoint
                 * clones from the original one. We have to umount them
                 * prior to recreating new ones.
                 */
                pr_info("Cleaning mount namespace\n");
-               if (mnt_tree_for_each_reverse(ns.mnt.mntinfo_tree, 
do_umount_one))
+               if (mnt_tree_for_each_reverse(ns.mnt.mntinfo_tree, 
do_umount_one)) {
+                       free_mntinfo(old);
                        return -1;
-       }
+               }
 
-       free_mntinfo(old);
+               free_mntinfo(old);
+       }
 
        ret = populate_mnt_ns();
        if (ret)


Reply via email to