From nobody Mon Feb 9 14:15:03 2026 Delivered-To: importer@patchew.org Received-SPF: pass (zoho.com: domain of redhat.com designates 209.132.183.28 as permitted sender) client-ip=209.132.183.28; envelope-from=libvir-list-bounces@redhat.com; helo=mx1.redhat.com; Authentication-Results: mx.zohomail.com; dkim=fail; spf=pass (zoho.com: domain of redhat.com designates 209.132.183.28 as permitted sender) smtp.mailfrom=libvir-list-bounces@redhat.com Return-Path: Received: from mx1.redhat.com (mx1.redhat.com [209.132.183.28]) by mx.zohomail.com with SMTPS id 1516682118830857.6185739191662; Mon, 22 Jan 2018 20:35:18 -0800 (PST) Received: from smtp.corp.redhat.com (int-mx04.intmail.prod.int.phx2.redhat.com [10.5.11.14]) (using TLSv1.2 with cipher AECDH-AES256-SHA (256/256 bits)) (No client certificate requested) by mx1.redhat.com (Postfix) with ESMTPS id BEF03E894; Tue, 23 Jan 2018 04:35:16 +0000 (UTC) Received: from colo-mx.corp.redhat.com (colo-mx01.intmail.prod.int.phx2.redhat.com [10.5.11.20]) by smtp.corp.redhat.com (Postfix) with ESMTPS id 8C19075530; Tue, 23 Jan 2018 04:35:16 +0000 (UTC) Received: from lists01.pubmisc.prod.ext.phx2.redhat.com (lists01.pubmisc.prod.ext.phx2.redhat.com [10.5.19.33]) by colo-mx.corp.redhat.com (Postfix) with ESMTP id 50A4218033D8; Tue, 23 Jan 2018 04:35:16 +0000 (UTC) Received: from smtp.corp.redhat.com (int-mx04.intmail.prod.int.phx2.redhat.com [10.5.11.14]) by lists01.pubmisc.prod.ext.phx2.redhat.com (8.13.8/8.13.8) with ESMTP id w0N4RQR6019184 for ; Mon, 22 Jan 2018 23:27:26 -0500 Received: by smtp.corp.redhat.com (Postfix) id 9248F67DF1; Tue, 23 Jan 2018 04:27:26 +0000 (UTC) Received: from mx1.redhat.com (ext-mx05.extmail.prod.ext.phx2.redhat.com [10.5.110.29]) by smtp.corp.redhat.com (Postfix) with ESMTPS id 8B57667DE6 for ; Tue, 23 Jan 2018 04:27:23 +0000 (UTC) Received: from m15-111.126.com (m15-111.126.com [220.181.15.111]) by mx1.redhat.com (Postfix) with ESMTP id 9A2F6552C7 for ; Tue, 23 Jan 2018 04:27:20 +0000 (UTC) Received: from localhost.localdomain (unknown [58.213.111.46]) by smtp1 (Coremail) with SMTP id C8mowADndq+euWZaa360BA--.31488S3; Tue, 23 Jan 2018 12:27:17 +0800 (CST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=126.com; s=s110527; h=From:Subject:Date:Message-Id; bh=F0R5OoZB15VDaFXng+ EiXBKdELgSMLPj4Ni2ka4s6lI=; b=LutcUg219pV5arZUBwApWpivuHGarLzSdu foWRZ3lpV9F2IaCS3rA+M/AENpkVrVbtCdpPHEGwEHoDuoJH10cKXaBcx2AA0Omm YSY5vW7P28OKWjRpcp30YC6t9WHMMW0GnpeufrzUcF3Pjb46feqBmwxEwhO4GUJb zgeGkR9L4= From: Chen Hanxiao To: libvir-list@redhat.com Date: Tue, 23 Jan 2018 12:24:42 +0800 Message-Id: <20180123042446.7931-2-chen_han_xiao@126.com> In-Reply-To: <20180123042446.7931-1-chen_han_xiao@126.com> References: <20180123042446.7931-1-chen_han_xiao@126.com> X-CM-TRANSID: C8mowADndq+euWZaa360BA--.31488S3 X-Coremail-Antispam: 1Uf129KBjvJXoWxur4kXryxCFy3Zry3Aw4Utwb_yoWrAryrpF 4UJFZYqr4jqr4xJa93Wa4kZF1jyrykWryrXr4furnFg3W3GrZ8Cr93Zrn7urWUtrsrZayY 9a42qFWj9F1kAFJanT9S1TB71UUUUUUqnTZGkaVYY2UrUUUUjbIjqfuFe4nvWSU5nxnvy2 9KBjDUYxBIdaVFxhVjvjDU0xZFpf9x07jjYL9UUUUU= X-Originating-IP: [58.213.111.46] X-CM-SenderInfo: xfkh0spkdqs5xldrqiyswou0bp/1tbiEwXWrlpD4CEVuAAAsb X-Greylist: Sender passed SPF test, ACL 227 matched, not delayed by milter-greylist-4.5.16 (mx1.redhat.com [10.5.110.29]); Tue, 23 Jan 2018 04:27:22 +0000 (UTC) X-Greylist: inspected by milter-greylist-4.5.16 (mx1.redhat.com [10.5.110.29]); Tue, 23 Jan 2018 04:27:22 +0000 (UTC) for IP:'220.181.15.111' DOMAIN:'m15-111.126.com' HELO:'m15-111.126.com' FROM:'chen_han_xiao@126.com' RCPT:'' X-RedHat-Spam-Score: 1.99 * (DKIM_SIGNED, DKIM_VALID, DKIM_VALID_AU, FREEMAIL_FROM, RCVD_IN_PSBL, SPF_PASS, T_RP_MATCHES_RCVD) 220.181.15.111 m15-111.126.com 220.181.15.111 m15-111.126.com X-Scanned-By: MIMEDefang 2.78 on 10.5.110.29 X-Scanned-By: MIMEDefang 2.79 on 10.5.11.14 X-loop: libvir-list@redhat.com Cc: Chen Hanxiao Subject: [libvirt] [PATCH v3 1/5] qemu: Add some more details for hotplug errors when device not found X-BeenThere: libvir-list@redhat.com X-Mailman-Version: 2.1.12 Precedence: junk List-Id: Development discussions about the libvirt library & tools List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , MIME-Version: 1.0 Content-Transfer-Encoding: quoted-printable Sender: libvir-list-bounces@redhat.com Errors-To: libvir-list-bounces@redhat.com X-Scanned-By: MIMEDefang 2.79 on 10.5.11.14 X-Greylist: Sender IP whitelisted, not delayed by milter-greylist-4.5.16 (mx1.redhat.com [10.5.110.30]); Tue, 23 Jan 2018 04:35:18 +0000 (UTC) X-ZohoMail-DKIM: fail (Header signature does not verify) X-ZohoMail: RDKM_2 RSF_0 Z_629925259 SPT_0 Content-Type: text/plain; charset="utf-8" From: Chen Hanxiao More proper/detail error messages updated. Signed-off-by: Chen Hanxiao Reviewed-by: John Ferlan --- v3: subject changed. some description of logs changed. src/libvirt_private.syms | 2 ++ src/qemu/qemu_hotplug.c | 35 +++++++++++++++++++++++------------ 2 files changed, 25 insertions(+), 12 deletions(-) diff --git a/src/libvirt_private.syms b/src/libvirt_private.syms index bc8cc1fba..70a91e5fd 100644 --- a/src/libvirt_private.syms +++ b/src/libvirt_private.syms @@ -203,6 +203,7 @@ virDomainChrConsoleTargetTypeToString; virDomainChrDefForeach; virDomainChrDefFree; virDomainChrDefNew; +virDomainChrDeviceTypeToString; virDomainChrEquals; virDomainChrFind; virDomainChrGetDomainPtrs; @@ -427,6 +428,7 @@ virDomainMemoryDefFree; virDomainMemoryFindByDef; virDomainMemoryFindInactiveByDef; virDomainMemoryInsert; +virDomainMemoryModelTypeToString; virDomainMemoryRemove; virDomainMemorySourceTypeFromString; virDomainMemorySourceTypeToString; diff --git a/src/qemu/qemu_hotplug.c b/src/qemu/qemu_hotplug.c index 6b245bd6a..1f67ab74a 100644 --- a/src/qemu/qemu_hotplug.c +++ b/src/qemu/qemu_hotplug.c @@ -3514,8 +3514,9 @@ qemuDomainChangeGraphics(virQEMUDriverPtr driver, int ret =3D -1; =20 if (!olddev) { - virReportError(VIR_ERR_INTERNAL_ERROR, "%s", - _("cannot find existing graphics device to modify")= ); + virReportError(VIR_ERR_INTERNAL_ERROR, + _("cannot find existing graphics device to modify o= f " + "type '%s'"), type); goto cleanup; } =20 @@ -5101,8 +5102,10 @@ qemuDomainDetachShmemDevice(virQEMUDriverPtr driver, qemuDomainObjPrivatePtr priv =3D vm->privateData; =20 if ((idx =3D virDomainShmemDefFind(vm->def, dev)) < 0) { - virReportError(VIR_ERR_OPERATION_INVALID, "%s", - _("device not present in domain configuration")); + virReportError(VIR_ERR_OPERATION_INVALID, + _("model '%s' shmem device not present " + "in domain configuration"), + virDomainShmemModelTypeToString(dev->model)); return -1; } =20 @@ -5158,8 +5161,10 @@ qemuDomainDetachWatchdog(virQEMUDriverPtr driver, watchdog->model =3D=3D dev->model && watchdog->action =3D=3D dev->action && virDomainDeviceInfoAddressIsEqual(&dev->info, &watchdog->info)))= { - virReportError(VIR_ERR_OPERATION_INVALID, "%s", - _("watchdog device not present in domain configurat= ion")); + virReportError(VIR_ERR_OPERATION_INVALID, + _("model '%s' watchdog device not present " + "in domain configuration"), + virDomainWatchdogModelTypeToString(watchdog->model)= ); return -1; } =20 @@ -5429,8 +5434,10 @@ int qemuDomainDetachChrDevice(virQEMUDriverPtr drive= r, char *devstr =3D NULL; =20 if (!(tmpChr =3D virDomainChrFind(vmdef, chr))) { - virReportError(VIR_ERR_OPERATION_INVALID, "%s", - _("device not present in domain configuration")); + virReportError(VIR_ERR_OPERATION_INVALID, + _("chr type '%s' device not present " + "in domain configuration"), + virDomainChrDeviceTypeToString(chr->deviceType)); goto cleanup; } =20 @@ -5476,8 +5483,10 @@ qemuDomainDetachRNGDevice(virQEMUDriverPtr driver, int ret =3D -1; =20 if ((idx =3D virDomainRNGFind(vm->def, rng)) < 0) { - virReportError(VIR_ERR_OPERATION_INVALID, "%s", - _("device not present in domain configuration")); + virReportError(VIR_ERR_OPERATION_INVALID, + _("model '%s' RNG device not present " + "in domain configuration"), + virDomainRNGBackendTypeToString(rng->model)); return -1; } =20 @@ -5519,8 +5528,10 @@ qemuDomainDetachMemoryDevice(virQEMUDriverPtr driver, qemuDomainMemoryDeviceAlignSize(vm->def, memdef); =20 if ((idx =3D virDomainMemoryFindByDef(vm->def, memdef)) < 0) { - virReportError(VIR_ERR_OPERATION_INVALID, "%s", - _("device not present in domain configuration")); + virReportError(VIR_ERR_OPERATION_INVALID, + _("model '%s' memory device not present " + "in the domain configuration"), + virDomainMemoryModelTypeToString(memdef->model)); return -1; } =20 --=20 2.14.3 -- libvir-list mailing list libvir-list@redhat.com https://www.redhat.com/mailman/listinfo/libvir-list