Script 'mail_helper' called by obssrc
Hello community,

here is the log from the commit of package nbd for openSUSE:Factory checked in 
at 2026-06-25 10:56:07
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Comparing /work/SRC/openSUSE:Factory/nbd (Old)
 and      /work/SRC/openSUSE:Factory/.nbd.new.2088 (New)
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++

Package is "nbd"

Thu Jun 25 10:56:07 2026 rev:63 rq:1361551 version:3.27.1

Changes:
--------
--- /work/SRC/openSUSE:Factory/nbd/nbd.changes  2026-06-03 20:25:58.210041089 
+0200
+++ /work/SRC/openSUSE:Factory/.nbd.new.2088/nbd.changes        2026-06-25 
10:58:39.072367514 +0200
@@ -1,0 +2,8 @@
+Wed Jun 24 07:41:35 UTC 2026 - Martin Pluskal <[email protected]>
+
+- Add nbd-fix-device-parsing.patch to fix nbdtab device parsing
+  in all netlink paths (disconnect/check/connect), which broke
+  dracut's TEST-72-NBD with nbd 3.27.1 (boo#1268185, upstream
+  commit a80304e10e97)
+
+-------------------------------------------------------------------

New:
----
  nbd-fix-device-parsing.patch

----------(New B)----------
  New:
- Add nbd-fix-device-parsing.patch to fix nbdtab device parsing
  in all netlink paths (disconnect/check/connect), which broke
----------(New E)----------

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

Other differences:
------------------
++++++ nbd.spec ++++++
--- /var/tmp/diff_new_pack.2a1DeZ/_old  2026-06-25 10:58:39.604385875 +0200
+++ /var/tmp/diff_new_pack.2a1DeZ/_new  2026-06-25 10:58:39.604385875 +0200
@@ -27,6 +27,8 @@
 Source3:        config.example
 Source4:        nbd-server.sysconfig
 Source5:        nbd-client.service
+# PATCH-FIX-UPSTREAM nbd-fix-device-parsing.patch boo#1268185 -- fix nbdtab 
device parsing in all netlink paths (upstream commit a80304e10e97)
+Patch0:         nbd-fix-device-parsing.patch
 BuildRequires:  autoconf
 BuildRequires:  autoconf-archive
 BuildRequires:  automake

++++++ nbd-fix-device-parsing.patch ++++++
>From a80304e10e9709d4100c935bc4cdc9086e86d5ff Mon Sep 17 00:00:00 2001
From: Wouter Verhelst <[email protected]>
Date: Tue, 14 Apr 2026 19:06:10 +0200
Subject: [PATCH] Fix nbd device parsing, for reals

---
 nbd-client.c | 22 ++++++++++++++++------
 1 file changed, 16 insertions(+), 6 deletions(-)

diff --git a/nbd-client.c b/nbd-client.c
index c5d2b32b..2e98ba53 100644
--- a/nbd-client.c
+++ b/nbd-client.c
@@ -225,10 +225,14 @@ static void netlink_disconnect(char *nbddev) {
        struct nl_msg *msg;
        int driver_id;
        int ret;
+       char *local_dev = nbddev;
 
        int index = -1;
        if (nbddev) {
-               if (sscanf(nbddev, "nbd%d", &index) != 1)
+               if (!strncmp(local_dev, "/dev/", 5)) {
+                       local_dev += 5;
+               }
+               if (sscanf(local_dev, "nbd%d", &index) != 1)
                        err("Invalid nbd device target\n");
        }
        if (index < 0)
@@ -313,13 +317,15 @@ static int netlink_check_conn(char* devname, int 
do_print) {
        struct nl_msg *msg;
        int driver_id, ret;
        int index = -1;
+       char *local_dev = devname;
        int connected = -1; /* -1 = unknown, 0 = connected, 1 = disconnected */
 
        /* Parse device index from name */
-       if (sscanf(devname, "/dev/nbd%d", &index) != 1) {
-               if (sscanf(devname, "nbd%d", &index) != 1) {
-                       return 2; /* Invalid device name */
-               }
+       if (!strncmp(local_dev, "/dev/", 5)) {
+               local_dev += 5;
+       }
+       if (sscanf(local_dev, "nbd%d", &index) != 1) {
+               return 2; /* Invalid device name */
        }
 
        /* Setup netlink socket */
@@ -1539,7 +1545,11 @@ int main(int argc, char *argv[]) {
        if (netlink) {
                int index = -1;
                if (cur_client->dev) {
-                       if (sscanf(cur_client->dev, "nbd%d", &index) != 1)
+                       char *local_dev = cur_client->dev;
+                       if(!strncmp(local_dev, "/dev/", 5)) {
+                               local_dev += 5;
+                       }
+                       if (sscanf(local_dev, "nbd%d", &index) != 1)
                                err("Invalid nbd device target\n");
                }
                netlink_configure(index, sockfds, flags, identifier);

Reply via email to