From nobody Fri Dec 19 00:08:29 2025 Delivered-To: importer@patchew.org Received-SPF: pass (zohomail.com: domain of lists.libvirt.org designates 8.43.85.245 as permitted sender) client-ip=8.43.85.245; envelope-from=devel-bounces@lists.libvirt.org; helo=lists.libvirt.org; Authentication-Results: mx.zohomail.com; dkim=fail; spf=pass (zohomail.com: domain of lists.libvirt.org designates 8.43.85.245 as permitted sender) smtp.mailfrom=devel-bounces@lists.libvirt.org; dmarc=pass(p=reject dis=none) header.from=lists.libvirt.org ARC-Seal: i=1; a=rsa-sha256; t=1751483474; cv=none; d=zohomail.com; s=zohoarc; b=UgU0QJi3NPvxl9OQigmvmY+a76kzLQs+mKxBiPRRWbjZVJag1+wh23cy1JL74Z+LJlxjdJUr7QckIGa83k+wT9k0vgMIbCMAaYjnKIYU72D70V3nGqJBGAEoshirSN+sA7QfPjJX0FqoB05XIqT7bkBl/cnwLBz9e3LmbWp6Fqc= ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=zohomail.com; s=zohoarc; t=1751483474; h=Content-Type:Content-Transfer-Encoding:Date:Date:From:From:List-Subscribe:List-Post:List-Id:List-Archive:List-Help:List-Unsubscribe:MIME-Version:Message-ID:Reply-To:Reply-To:Subject:Subject:To:To:Message-Id:Cc; bh=EBL2QF4oZydeWlRCWSEmN8nCu6QfpNOHWS2jtVxnPNM=; b=cS9Mu3S/LRu/7T7umF3g1OEBCVMT9Eo+dOMx1JHzZ55g3T3Nu6DtF6PmJG58Ye6CDAYA97Oq8x2yKr85Sm8RSk0O3Vwqw0bQpV51WN7aIExedhepaUNUFU/wVcdz3LnKwi4zb8fFZhBeXSA57PmNKfBg3x98/BB939TpDzwq0ao= ARC-Authentication-Results: i=1; mx.zohomail.com; dkim=fail; spf=pass (zohomail.com: domain of lists.libvirt.org designates 8.43.85.245 as permitted sender) smtp.mailfrom=devel-bounces@lists.libvirt.org; dmarc=pass header.from= (p=reject dis=none) Return-Path: Received: from lists.libvirt.org (lists.libvirt.org [8.43.85.245]) by mx.zohomail.com with SMTPS id 1751483474653395.75343013881263; Wed, 2 Jul 2025 12:11:14 -0700 (PDT) Received: by lists.libvirt.org (Postfix, from userid 996) id 9291711E4; Wed, 2 Jul 2025 15:11:13 -0400 (EDT) Received: from lists.libvirt.org (localhost [IPv6:::1]) by lists.libvirt.org (Postfix) with ESMTP id 0E21C11C7; Wed, 2 Jul 2025 15:10:44 -0400 (EDT) Received: by lists.libvirt.org (Postfix, from userid 996) id 8867F11A8; Wed, 2 Jul 2025 15:10:40 -0400 (EDT) Received: from sendmail.purelymail.com (sendmail.purelymail.com [34.202.193.197]) (using TLSv1.2 with cipher ECDHE-RSA-AES128-GCM-SHA256 (128/128 bits)) (No client certificate requested) by lists.libvirt.org (Postfix) with ESMTPS id 0874596B for ; Wed, 2 Jul 2025 15:10:40 -0400 (EDT) Received: by smtp.purelymail.com (Purelymail SMTP) with ESMTPA id 481250747 for ; Wed, 02 Jul 2025 19:09:33 +0000 (UTC) X-Spam-Checker-Version: SpamAssassin 3.4.4 (2020-01-24) on lists.libvirt.org X-Spam-Level: X-Spam-Status: No, score=-0.8 required=5.0 tests=DKIM_INVALID,DKIM_SIGNED, MAILING_LIST_MULTI,RCVD_IN_MSPIKE_H5,RCVD_IN_MSPIKE_WL, RCVD_IN_VALIDITY_RPBL_BLOCKED,RCVD_IN_VALIDITY_SAFE_BLOCKED, SPF_HELO_PASS autolearn=unavailable autolearn_force=no version=3.4.4 X-Greylist: delayed 66 seconds by postgrey-1.37 at lists.libvirt.org; Wed, 02 Jul 2025 15:10:40 EDT DKIM-Signature: a=rsa-sha256; b=hCTcIysz2vtOF5yuCuaYWYREWX5qmYnMlO+42aoIoKJQmuyMJa0eBa87IJC1XsIc83u1PDXHeJQXOsqGg5+fzmhmUs4ge5rVnjeiOrKxt4Vkh6llNFIrzvee/86SK+b+7OuTcCaOeQj2HHcGGXhgZwl/UtKq6xPvi/prPR/fO0Wn+P4RNdlp1uhO6t3ewgTtmPbvmx1H5+0EHMRnVmHemNSfhzuScOfA5iVgLuCfdI84rdtx4cXPBjhtP0irF50aaCfG5je1NnO1gg2M3YV2hEdEO+HR4V6AILoyR6LpBXdwz/TywlDjVKZ0BVzaaklN1ivrFr1I9xRAPOUM0px5wA==; s=purelymail2; d=geeksocket.in; v=1; bh=rockSCVRnI2gqkPbtSF4E/fpT3m46x+BboGHSAMbpa4=; h=Received:Date:From:To:Subject; DKIM-Signature: a=rsa-sha256; b=MzPmOCi1xRsdkJUCn8pMfOuRNPDEN37K3lcjGpDo1lu1JSHi3mgrTBatnyvQnuf2vMBNprumaJ/7vZhCLtX3llf5NO2E8w+p90Xk1Uqi9Dl9UaCh5cK+j8H58Ske7rX2kKubA4pp8QRQek6QxzqQXwUE3T8DiqUCpkNxvbJPdtIt1Fmzld+QFaDt+gQjMS0s7ByAuaqMi5h1Jql7rYRap1HTjV/TjND3uC9ThfBO5FFxhg8tjQkfTdMnpuAr3cX1bYn3q95LA7ZMnckP5M54ngppzOBvN79BzZvhH9iXt4Bnuke8byobuuSlK/CTq2xgd73cvYh91W2Qhd213Jva2g==; s=purelymail2; d=purelymail.com; v=1; bh=rockSCVRnI2gqkPbtSF4E/fpT3m46x+BboGHSAMbpa4=; h=Feedback-ID:Received:Date:From:To:Subject; Feedback-ID: 141843:14987:null:purelymail X-Pm-Original-To: devel@lists.libvirt.org MIME-Version: 1.0 Date: Thu, 03 Jul 2025 00:39:33 +0530 To: Devel Subject: [PATCH] virdevmapper: Always use device name for finding targets User-Agent: Purely Mail via Roundcube/1.6.11 Message-ID: <84a956e0d439bbddbc136e49067fafc9@purelymail.com> X-Sender: bhavin192@geeksocket.in Content-Transfer-Encoding: quoted-printable Message-ID-Hash: R4CQDVB4L6HYOMTBR3RZG3VDITVUBTFZ X-Message-ID-Hash: R4CQDVB4L6HYOMTBR3RZG3VDITVUBTFZ X-MailFrom: bhavin192@geeksocket.in X-Mailman-Rule-Misses: dmarc-mitigation; no-senders; approved; emergency; loop; banned-address; member-moderation; header-match-config-1; header-match-config-2; header-match-config-3; header-match-devel.lists.libvirt.org-0; nonmember-moderation; administrivia; implicit-dest; max-recipients; max-size; news-moderation; no-subject; suspicious-header X-Mailman-Version: 3.2.2 Precedence: list List-Id: Development discussions about the libvirt library & tools Archived-At: List-Archive: List-Help: List-Post: List-Subscribe: List-Unsubscribe: From: Bhavin via Devel Reply-To: Bhavin X-ZohoMail-DKIM: fail (found 2 invalid signatures) X-ZM-MESSAGEID: 1751483477814116600 Content-Type: text/plain; charset="utf-8" From: Bhavin Gandhi DM_TABLE_DEPS expects a device name in dm_ioctl.name. In one of the cases, full path of the device was getting returned causing the ioctl call to fail with `ENXIO (No such device or address)`. Also rename the function and variable names to better reflect that we are dealing with DM device names and not paths. This got introduced in 22494556542c676d1b9e7f1c1f2ea13ac17e1e3e Resolves: https://gitlab.com/libvirt/libvirt/-/issues/790 Signed-off-by: Bhavin Gandhi Reviewed-by: Daniel P. Berrang=C3=A9 --- src/util/virdevmapper.c | 10 +++++----- 1 file changed, 5 insertions(+), 5 deletions(-) diff --git a/src/util/virdevmapper.c b/src/util/virdevmapper.c index d0eae671ab..42c86d89cf 100644 --- a/src/util/virdevmapper.c +++ b/src/util/virdevmapper.c @@ -164,7 +164,7 @@ virDMOpen(void) =20 =20 static char * -virDMSanitizepath(const char *path) +virDMGetDeviceName(const char *path) { g_autofree char *dmDirPath =3D NULL; struct dirent *ent =3D NULL; @@ -205,7 +205,7 @@ virDMSanitizepath(const char *path) =20 if (stat(tmp, &sb[1]) =3D=3D 0 && sb[0].st_rdev =3D=3D sb[1].st_rdev) { - return g_steal_pointer(&tmp); + return g_strdup(ent->d_name); } } =20 @@ -219,7 +219,7 @@ virDevMapperGetTargetsImpl(int controlFD, GSList **devPaths, unsigned int ttl) { - g_autofree char *sanitizedPath =3D NULL; + g_autofree char *deviceName =3D NULL; g_autofree char *buf =3D NULL; struct dm_ioctl dm =3D { 0 }; struct dm_target_deps *deps =3D NULL; @@ -233,10 +233,10 @@ virDevMapperGetTargetsImpl(int controlFD, if (!virIsDevMapperDevice(path)) return 0; =20 - if (!(sanitizedPath =3D virDMSanitizepath(path))) + if (!(deviceName =3D virDMGetDeviceName(path))) return 0; =20 - if (virStrcpy(dm.name, sanitizedPath, DM_NAME_LEN) < 0) { + if (virStrcpy(dm.name, deviceName, DM_NAME_LEN) < 0) { virReportError(VIR_ERR_OPERATION_UNSUPPORTED, "%s", _("Resolved device mapper name too long")); return -1; --=20 2.49.0