Your message dated Mon, 17 May 2021 20:51:03 +0000
with message-id <[email protected]>
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 [email protected]
immediately.)


-- 
988500: https://bugs.debian.org/cgi-bin/bugreport.cgi?bug=988500
Debian Bug Tracking System
Contact [email protected] with problems
--- Begin Message ---
Package: release.debian.org
Severity: normal
User: [email protected]
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 <[email protected]>  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 <[email protected]>
+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 <[email protected]>
+
+--- 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 via email to