[Date Prev][Date Next] [Thread Prev][Thread Next] [Date Index] [Thread Index]

Bug#988500: marked as done (unblock: btrfs-progs/5.10.1-2)



Your message dated Mon, 17 May 2021 20:51:03 +0000
with message-id <E1likCd-0008Rb-4w@respighi.debian.org>
and subject line unblock btrfs-progs
has caused the Debian Bug report #988500,
regarding unblock: btrfs-progs/5.10.1-2
to be marked as done.

This means that you claim that the problem has been dealt with.
If this is not the case it is now your responsibility to reopen the
Bug report if necessary, and/or fix the problem forthwith.

(NB: If you are a system administrator and have no idea what this
message is talking about, this may indicate a serious mail system
misconfiguration somewhere. Please contact owner@bugs.debian.org
immediately.)


-- 
988500: https://bugs.debian.org/cgi-bin/bugreport.cgi?bug=988500
Debian Bug Tracking System
Contact owner@bugs.debian.org with problems
--- Begin Message ---
Package: release.debian.org
Severity: normal
User: release.debian.org@packages.debian.org
Usertags: unblock

Please unblock package btrfs-progs

The version in Bullseye suffers from a regression that breaks adding new
devmapped devices to btrfs filesystems.  The bug has been fixed in 5.11
shortly after, but that version is not targetted at Bullseye, thus here
comes a cherry-picked patch to 5.10.

The patch is an one-liner:
+-		char *dm = path_canonicalize(p + 1);
++		char *dm = path_canonicalize_dm_name(p + 1);

[ Reason ]
A large portion of users use lvm and friends, the bug breaks multi-device
btrfs for them.  It would be nasty to have such a regression in a popular
filesystem in Bullseye.

[ Impact ]
There's a non-obvious workaround: the user can find the canonical path
for the given dm device; the error message doesn't suggest where to look
at.  We're supposed to allow using user-friendly path names.

[ Tests ]
No automated tests at this time, sorry (on my TODO list, but that'd
require qemu wrangling or possibly breaking the test system).
A manual test is described in the bug report:
Create a pair of LVM devices.  mkfs.btrfs one of them, mount.  Then
    btrfs dev add /dev/mapper/vg-test2 /mnt/test1

[ Risks ]
It's a simple fix, and well-tested in 5.11 and 5.12 used in experimental
and other distributions (as they aren't frozen at this time).

[ Checklist ]
  [✓] all changes are documented in the d/changelog
  [✓] I reviewed all changes and I approve them
  [✓] attach debdiff against the package in testing


unblock btrfs-progs/5.10.1-2
diff -Nru btrfs-progs-5.10.1/debian/changelog btrfs-progs-5.10.1/debian/changelog
--- btrfs-progs-5.10.1/debian/changelog	2021-02-06 00:04:21.000000000 +0100
+++ btrfs-progs-5.10.1/debian/changelog	2021-05-14 02:52:17.000000000 +0200
@@ -1,3 +1,9 @@
+btrfs-progs (5.10.1-2) unstable; urgency=medium
+
+  * Fix failure to add new devices via a devmapper path.  Closes: #982990
+
+ -- Adam Borowski <kilobyte@angband.pl>  Fri, 14 May 2021 02:52:17 +0200
+
 btrfs-progs (5.10.1-1) unstable; urgency=medium
 
   * New upstream bugfix release.
diff -Nru btrfs-progs-5.10.1/debian/patches/devmapper-path btrfs-progs-5.10.1/debian/patches/devmapper-path
--- btrfs-progs-5.10.1/debian/patches/devmapper-path	1970-01-01 01:00:00.000000000 +0100
+++ btrfs-progs-5.10.1/debian/patches/devmapper-path	2021-05-14 02:50:25.000000000 +0200
@@ -0,0 +1,24 @@
+commit dcfda5527538993dc7b2291cb9b9b9967f3b3c4a
+Author: David Sterba <dsterba@suse.com>
+Date:   Wed Feb 10 16:36:50 2021 +0100
+
+    btrfs-progs: fix device mapper path canonicalization
+    
+    Commit 922eaa7b5472 ("btrfs-progs: build: fix linking with static
+    libmount") broke path canonicalization, that prevented eg 'device add
+    /dev/dm-0' to properly recognize the device mapper names.
+    
+    Issue: #339
+    Signed-off-by: David Sterba <dsterba@suse.com>
+
+--- btrfs-progs-5.10.1.orig/common/path-utils.c
++++ btrfs-progs-5.10.1/common/path-utils.c
+@@ -325,7 +325,7 @@ char *path_canonicalize(const char *path
+ 		return strdup(path);
+ 	p = strrchr(canonical, '/');
+ 	if (p && strncmp(p, "/dm-", 4) == 0 && isdigit(*(p + 4))) {
+-		char *dm = path_canonicalize(p + 1);
++		char *dm = path_canonicalize_dm_name(p + 1);
+ 
+ 		if (dm) {
+ 			free(canonical);
diff -Nru btrfs-progs-5.10.1/debian/patches/series btrfs-progs-5.10.1/debian/patches/series
--- btrfs-progs-5.10.1/debian/patches/series	1970-01-01 01:00:00.000000000 +0100
+++ btrfs-progs-5.10.1/debian/patches/series	2021-05-14 02:49:40.000000000 +0200
@@ -0,0 +1 @@
+devmapper-path

--- End Message ---
--- Begin Message ---
Unblocked.

--- End Message ---

Reply to: