Hello community,

here is the log from the commit of package btrfsprogs for openSUSE:Factory 
checked in at 2018-01-01 22:05:45
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Comparing /work/SRC/openSUSE:Factory/btrfsprogs (Old)
 and      /work/SRC/openSUSE:Factory/.btrfsprogs.new (New)
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++

Package is "btrfsprogs"

Mon Jan  1 22:05:45 2018 rev:90 rq:560042 version:4.13.3

Changes:
--------
--- /work/SRC/openSUSE:Factory/btrfsprogs/btrfsprogs.changes    2017-12-10 
18:14:25.007848770 +0100
+++ /work/SRC/openSUSE:Factory/.btrfsprogs.new/btrfsprogs.changes       
2018-01-01 22:05:52.624024622 +0100
@@ -1,0 +2,6 @@
+Tue Dec 19 11:31:07 UTC 2017 - [email protected]
+
+- Fix rollback regression which can lead to data corruption
+  Added patches: rollback-regression-fix.patch (bsc#1069478)
+
+-------------------------------------------------------------------

New:
----
  rollback-regression-fix.patch

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

Other differences:
------------------
++++++ btrfsprogs.spec ++++++
--- /var/tmp/diff_new_pack.S5d4qo/_old  2018-01-01 22:05:55.183169422 +0100
+++ /var/tmp/diff_new_pack.S5d4qo/_new  2018-01-01 22:05:55.183169422 +0100
@@ -43,6 +43,7 @@
 Source5:        sles11-defaults.h
 
 Patch1:         mkfs-default-features.patch
+Patch2:         rollback-regression-fix.patch
 
 BuildRequires:  asciidoc
 BuildRequires:  autoconf
@@ -137,6 +138,7 @@
 %prep
 %setup -q -n btrfs-progs-v%{version}
 %patch1 -p1
+%patch2 -p1
 
 %build
 ./autogen.sh

++++++ rollback-regression-fix.patch ++++++
From: Qu Wenruo <[email protected]>
Subject: [PATCH] btrfs-progs: convert: Fix a bug in rollback check which 
overwrite return value
Path-mainline: Will land in v4.14.1.

Commit 1170ac307900 ("btrfs-progs: convert: Introduce function to check if
convert image is able to be rolled back") reworked rollback check
condition, by checking 1:1 mapping of each file extent.

The idea itself has nothing wrong, but error handler is not implemented
correctly, which over writes the return value and always try to rollback
the fs even it fails to pass the check.

Fix it by correctly return the error before rollback the fs.

Fixes: 1170ac307900 ("btrfs-progs: convert: Introduce function to check if 
convert image is able to be rolled back")
Reported-by: Jeff Mahoney <[email protected]>
Signed-off-by: Qu Wenruo <[email protected]>
Signed-off-by: David Sterba <[email protected]>
---
 convert/main.c | 2 ++
 1 file changed, 2 insertions(+)

Index: btrfs-progs-v4.13.3/convert/main.c
===================================================================
--- btrfs-progs-v4.13.3.orig/convert/main.c
+++ btrfs-progs-v4.13.3/convert/main.c
@@ -1443,6 +1443,8 @@ next:
                }
        }
        btrfs_release_path(&path);
+       if (ret)
+               return ret;
        /*
         * For HOLES mode (without NO_HOLES), we must ensure file extents
         * cover the whole range of the image

Reply via email to