Accepting request 558516 from home:wqu:branches:filesystems
- Fix rollback regression which can lead to data corruption * rollback-regression-fix.patch (bsc#1069478, upstream: "Subject: [PATCH] btrfs-progs: convert: Fix a bug in rollback check which overwrite return value") Would land in upstream v4.14.1. OBS-URL: https://build.opensuse.org/request/show/558516 OBS-URL: https://build.opensuse.org/package/show/filesystems/btrfsprogs?expand=0&rev=280
This commit is contained in:
parent
07543a9201
commit
1a7e21fe38
@ -1,3 +1,12 @@
|
||||
-------------------------------------------------------------------
|
||||
Tue Dec 19 11:31:07 UTC 2017 - wqu@suse.de
|
||||
|
||||
- Fix rollback regression which can lead to data corruption
|
||||
* rollback-regression-fix.patch (bsc#1069478,
|
||||
upstream: "Subject: [PATCH] btrfs-progs: convert: Fix a bug in rollback
|
||||
check which overwrite return value")
|
||||
Would land in upstream v4.14.1.
|
||||
|
||||
-------------------------------------------------------------------
|
||||
Thu Dec 7 11:03:37 UTC 2017 - dimstar@opensuse.org
|
||||
|
||||
|
@ -43,6 +43,7 @@ Source4: setup-btrfs.sh
|
||||
Source5: sles11-defaults.h
|
||||
|
||||
Patch1: mkfs-default-features.patch
|
||||
Patch2: rollback-regression-fix.patch
|
||||
|
||||
BuildRequires: asciidoc
|
||||
BuildRequires: autoconf
|
||||
@ -137,6 +138,7 @@ thing.
|
||||
%prep
|
||||
%setup -q -n btrfs-progs-v%{version}
|
||||
%patch1 -p1
|
||||
%patch2 -p1
|
||||
|
||||
%build
|
||||
./autogen.sh
|
||||
|
35
rollback-regression-fix.patch
Normal file
35
rollback-regression-fix.patch
Normal file
@ -0,0 +1,35 @@
|
||||
From: Qu Wenruo <wqu@suse.com>
|
||||
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 <jeffm@suse.com>
|
||||
Signed-off-by: Qu Wenruo <wqu@suse.com>
|
||||
Signed-off-by: David Sterba <dsterba@suse.com>
|
||||
---
|
||||
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
|
Loading…
Reference in New Issue
Block a user