Accepting request 196443 from filesystems
- added patch name in changelog (forwarded request 195973 from aschnell) OBS-URL: https://build.opensuse.org/request/show/196443 OBS-URL: https://build.opensuse.org/package/show/openSUSE:Factory/btrfsprogs?expand=0&rev=31
This commit is contained in:
parent
cabacdf6d1
commit
dae2faa5fa
83
0040-btrfs-progs-fix-loop-device-mount-checks.patch
Normal file
83
0040-btrfs-progs-fix-loop-device-mount-checks.patch
Normal file
@ -0,0 +1,83 @@
|
|||||||
|
From be65fb331902152d9b571b2d4ee1bf26bedc795f Mon Sep 17 00:00:00 2001
|
||||||
|
From: David Sterba <dsterba@suse.cz>
|
||||||
|
Date: Thu, 27 Oct 2011 16:23:14 -0400
|
||||||
|
Subject: [PATCH 40/46] btrfs-progs: fix loop device mount checks
|
||||||
|
|
||||||
|
When creating a fs on a loop device, mkfs checks whether the same file
|
||||||
|
is not already mounted, but the backing file of another loop dev may not
|
||||||
|
exist and mkfs fails.
|
||||||
|
|
||||||
|
Signed-off-by: David Sterba <dsterba@suse.cz>
|
||||||
|
---
|
||||||
|
utils.c | 34 +++++++++++++++++++---------------
|
||||||
|
1 file changed, 19 insertions(+), 15 deletions(-)
|
||||||
|
|
||||||
|
diff --git a/utils.c b/utils.c
|
||||||
|
index 41bfdb0..47b31fc 100644
|
||||||
|
--- a/utils.c
|
||||||
|
+++ b/utils.c
|
||||||
|
@@ -773,11 +773,11 @@ int is_same_blk_file(const char* a, const char* b)
|
||||||
|
char real_a[PATH_MAX];
|
||||||
|
char real_b[PATH_MAX];
|
||||||
|
|
||||||
|
- if(!realpath(a, real_a) ||
|
||||||
|
- !realpath(b, real_b))
|
||||||
|
- {
|
||||||
|
- return -errno;
|
||||||
|
- }
|
||||||
|
+ if(!realpath(a, real_a))
|
||||||
|
+ strcpy(real_a, a);
|
||||||
|
+
|
||||||
|
+ if (!realpath(b, real_b))
|
||||||
|
+ strcpy(real_b, b);
|
||||||
|
|
||||||
|
/* Identical path? */
|
||||||
|
if(strcmp(real_a, real_b) == 0)
|
||||||
|
@@ -818,8 +818,8 @@ int is_same_loop_file(const char* a, const char* b)
|
||||||
|
{
|
||||||
|
char res_a[PATH_MAX];
|
||||||
|
char res_b[PATH_MAX];
|
||||||
|
- const char* final_a;
|
||||||
|
- const char* final_b;
|
||||||
|
+ const char* final_a = NULL;
|
||||||
|
+ const char* final_b = NULL;
|
||||||
|
int ret;
|
||||||
|
|
||||||
|
/* Resolve a if it is a loop device */
|
||||||
|
@@ -828,10 +828,12 @@ int is_same_loop_file(const char* a, const char* b)
|
||||||
|
return 0;
|
||||||
|
return ret;
|
||||||
|
} else if (ret) {
|
||||||
|
- if ((ret = resolve_loop_device(a, res_a, sizeof(res_a))) < 0)
|
||||||
|
- return ret;
|
||||||
|
-
|
||||||
|
- final_a = res_a;
|
||||||
|
+ if ((ret = resolve_loop_device(a, res_a, sizeof(res_a))) < 0) {
|
||||||
|
+ if (errno != EPERM)
|
||||||
|
+ return ret;
|
||||||
|
+ }
|
||||||
|
+ else
|
||||||
|
+ final_a = res_a;
|
||||||
|
} else {
|
||||||
|
final_a = a;
|
||||||
|
}
|
||||||
|
@@ -842,10 +844,12 @@ int is_same_loop_file(const char* a, const char* b)
|
||||||
|
return 0;
|
||||||
|
return ret;
|
||||||
|
} else if (ret) {
|
||||||
|
- if((ret = resolve_loop_device(b, res_b, sizeof(res_b))) < 0)
|
||||||
|
- return ret;
|
||||||
|
-
|
||||||
|
- final_b = res_b;
|
||||||
|
+ if ((ret = resolve_loop_device(b, res_b, sizeof(res_b))) < 0) {
|
||||||
|
+ if (errno != EPERM)
|
||||||
|
+ return ret;
|
||||||
|
+ }
|
||||||
|
+ else
|
||||||
|
+ final_b = res_b;
|
||||||
|
} else {
|
||||||
|
final_b = b;
|
||||||
|
}
|
||||||
|
--
|
||||||
|
1.8.0.2
|
||||||
|
|
@ -1,3 +1,9 @@
|
|||||||
|
-------------------------------------------------------------------
|
||||||
|
Fri Aug 9 14:03:04 CEST 2013 - dsterba@suse.cz
|
||||||
|
|
||||||
|
- added 0040-btrfs-progs-fix-loop-device-mount-checks.patch: fix
|
||||||
|
loop mount detection again (bnc#834173)
|
||||||
|
|
||||||
-------------------------------------------------------------------
|
-------------------------------------------------------------------
|
||||||
Mon Jul 22 17:50:52 CEST 2013 - ohering@suse.de
|
Mon Jul 22 17:50:52 CEST 2013 - ohering@suse.de
|
||||||
|
|
||||||
|
@ -34,6 +34,7 @@ Source2: btrfs-dev-clear-sb
|
|||||||
Source3: 80-btrfs.rules
|
Source3: 80-btrfs.rules
|
||||||
Patch10: 0010-Btrfs-progs-make-btrfsck-a-hardlink-at-install-time.patch
|
Patch10: 0010-Btrfs-progs-make-btrfsck-a-hardlink-at-install-time.patch
|
||||||
Patch12: 0012-libbtrfs-Set-SONAME-to-libbtrfs.so.0-instead-of-libb.patch
|
Patch12: 0012-libbtrfs-Set-SONAME-to-libbtrfs.so.0-instead-of-libb.patch
|
||||||
|
Patch40: 0040-btrfs-progs-fix-loop-device-mount-checks.patch
|
||||||
Patch1000: local-version-override.patch
|
Patch1000: local-version-override.patch
|
||||||
Patch1001: btrfs-progs-use-IEEE1541-suffixes-for-sizes.patch
|
Patch1001: btrfs-progs-use-IEEE1541-suffixes-for-sizes.patch
|
||||||
Patch1002: btrfs-progs-add-man-page-for-btrfs-convert.patch
|
Patch1002: btrfs-progs-add-man-page-for-btrfs-convert.patch
|
||||||
@ -75,6 +76,7 @@ build applications to interface with btrfs.
|
|||||||
%setup -q -n btrfs-progs-%{tar_version}
|
%setup -q -n btrfs-progs-%{tar_version}
|
||||||
%patch10 -p1
|
%patch10 -p1
|
||||||
%patch12 -p1
|
%patch12 -p1
|
||||||
|
%patch40 -p1
|
||||||
%patch1000 -p1
|
%patch1000 -p1
|
||||||
%patch1001 -p1
|
%patch1001 -p1
|
||||||
%patch1002 -p1
|
%patch1002 -p1
|
||||||
|
Loading…
Reference in New Issue
Block a user