From nobody Sun May 19 22:21:35 2024 Delivered-To: importer@patchew.org Received-SPF: pass (zohomail.com: domain of redhat.com designates 207.211.31.81 as permitted sender) client-ip=207.211.31.81; envelope-from=libvir-list-bounces@redhat.com; helo=us-smtp-1.mimecast.com; Authentication-Results: mx.zohomail.com; dkim=pass; spf=pass (zohomail.com: domain of redhat.com designates 207.211.31.81 as permitted sender) smtp.mailfrom=libvir-list-bounces@redhat.com; dmarc=pass(p=none dis=none) header.from=redhat.com ARC-Seal: i=1; a=rsa-sha256; t=1594391656; cv=none; d=zohomail.com; s=zohoarc; b=E1oQqpQkLcbTMsDhVQtML2cn6Mu+gDGzGZ6wBz+pBEDD6jYr+CtyeXUFXHID/FzMMliqSMB9RnrLXUL6ZRvsXMRGMmczJUx2AMgxRDkKBp/yEeNG1AovjdyUqpJWD54wmayJ8pRl6WP6nyF476DwB3aoT56FiSZ6Et6RbC8I75s= ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=zohomail.com; s=zohoarc; t=1594391656; h=Content-Type:Content-Transfer-Encoding:Date:From:In-Reply-To:List-Subscribe:List-Post:List-Id:List-Archive:List-Help:List-Unsubscribe:MIME-Version:Message-ID:References:Sender:Subject:To; bh=wGGsDZMeyJPtsJ7tYYrFJHR4qriCdy1u13q61aB0alY=; b=cSStc3/VTg3JL4XZylqKc0lQPVIuNV5UTf5cK4BTxN9onUjG71p31wxIeHxy6DjU0S7YgzykqeMMbRpHjmCEnxs7XZXk7myZ1JF7e6Dg4M5RnzQUWxAQYQykWjg0zlMzU0MGEmvrC+uKgp2yql97O/QfRSD1CN5ykXw/2bUwxds= ARC-Authentication-Results: i=1; mx.zohomail.com; dkim=pass; spf=pass (zohomail.com: domain of redhat.com designates 207.211.31.81 as permitted sender) smtp.mailfrom=libvir-list-bounces@redhat.com; dmarc=pass header.from= (p=none dis=none) header.from= Return-Path: Received: from us-smtp-1.mimecast.com (us-smtp-1.mimecast.com [207.211.31.81]) by mx.zohomail.com with SMTPS id 1594391656834338.6357566197528; Fri, 10 Jul 2020 07:34:16 -0700 (PDT) Received: from mimecast-mx01.redhat.com (mimecast-mx01.redhat.com [209.132.183.4]) (Using TLS) by relay.mimecast.com with ESMTP id us-mta-3--Kma15ijMuecXpBLrRnDFA-1; Fri, 10 Jul 2020 10:34:12 -0400 Received: from smtp.corp.redhat.com (int-mx07.intmail.prod.int.phx2.redhat.com [10.5.11.22]) (using TLSv1.2 with cipher AECDH-AES256-SHA (256/256 bits)) (No client certificate requested) by mimecast-mx01.redhat.com (Postfix) with ESMTPS id 98CC0102C7F4; Fri, 10 Jul 2020 14:34:06 +0000 (UTC) Received: from colo-mx.corp.redhat.com (colo-mx02.intmail.prod.int.phx2.redhat.com [10.5.11.21]) by smtp.corp.redhat.com (Postfix) with ESMTPS id 76A201002382; Fri, 10 Jul 2020 14:34:06 +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 473258436B; Fri, 10 Jul 2020 14:34:06 +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 06AEXj4p006971 for ; Fri, 10 Jul 2020 10:33:45 -0400 Received: by smtp.corp.redhat.com (Postfix) id 8019617D82; Fri, 10 Jul 2020 14:33:45 +0000 (UTC) Received: from speedmetal.redhat.com (unknown [10.40.208.29]) by smtp.corp.redhat.com (Postfix) with ESMTP id C3FBF78A41 for ; Fri, 10 Jul 2020 14:33:44 +0000 (UTC) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=redhat.com; s=mimecast20190719; t=1594391655; h=from:from:sender:sender:reply-to:subject:subject:date:date: message-id:message-id:to:to:cc:mime-version:mime-version: content-type:content-type: content-transfer-encoding:content-transfer-encoding: in-reply-to:in-reply-to:references:references:list-id:list-help: list-unsubscribe:list-subscribe:list-post; bh=wGGsDZMeyJPtsJ7tYYrFJHR4qriCdy1u13q61aB0alY=; b=dYjezkje+y3DQUp/kWtDqv/oce4O7APt8VoCf8JqcYMMMZxK4ei5JuY2GxWpw5mrnHb7P9 Eht+S6zEQN2LTv3F3t8IyqIjz+IK6n6gIuCVzXDGn3/eQo7EgINi8EyVIvamjk/zBl0m+2 L/3vFOQkFOIz4UqbsM4cCh2/jQDhyx8= X-MC-Unique: -Kma15ijMuecXpBLrRnDFA-1 From: Peter Krempa To: libvir-list@redhat.com Subject: [PATCH 01/18] qemuBlockStorageSourceGetBackendProps: Convert boolean arguments to flags Date: Fri, 10 Jul 2020 16:33:22 +0200 Message-Id: <7eb9c1b0f23d7a51aba63a2dfde95e4307772d65.1594391524.git.pkrempa@redhat.com> In-Reply-To: References: MIME-Version: 1.0 X-Scanned-By: MIMEDefang 2.79 on 10.5.11.14 X-loop: libvir-list@redhat.com 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: , Sender: libvir-list-bounces@redhat.com Errors-To: libvir-list-bounces@redhat.com X-Scanned-By: MIMEDefang 2.84 on 10.5.11.22 Authentication-Results: relay.mimecast.com; auth=pass smtp.auth=CUSA124A263 smtp.mailfrom=libvir-list-bounces@redhat.com X-Mimecast-Spam-Score: 0 X-Mimecast-Originator: redhat.com Content-Transfer-Encoding: quoted-printable X-ZohoMail-DKIM: pass (identity @redhat.com) Content-Type: text/plain; charset="utf-8" Upcoming commit will need to add another flag for the function so convert it to a bitwise-or'd array of flags to prevent having 4 booleans. Signed-off-by: Peter Krempa Reviewed-by: J=C3=A1n Tomko --- src/qemu/qemu_block.c | 32 +++++++++++++++++++++----------- src/qemu/qemu_block.h | 10 +++++++--- src/qemu/qemu_command.c | 3 ++- tests/qemublocktest.c | 18 ++++++++++++------ 4 files changed, 42 insertions(+), 21 deletions(-) diff --git a/src/qemu/qemu_block.c b/src/qemu/qemu_block.c index a2eabbcd64..10ddf53b3b 100644 --- a/src/qemu/qemu_block.c +++ b/src/qemu/qemu_block.c @@ -1052,26 +1052,32 @@ qemuBlockStorageSourceGetBlockdevGetCacheProps(virS= torageSourcePtr src, /** * qemuBlockStorageSourceGetBackendProps: * @src: disk source - * @legacy: use legacy formatting of attributes (for -drive / old qemus) - * @onlytarget: omit any data which does not identify the image itself - * @autoreadonly: use the auto-read-only feature of qemu + * @flags: bitwise-or of qemuBlockStorageSourceBackendPropsFlags + * + * Flags: + * QEMU_BLOCK_STORAGE_SOURCE_BACKEND_PROPS_LEGACY: + * use legacy formatting of attributes (for -drive / old qemus) + * QEMU_BLOCK_STORAGE_SOURCE_BACKEND_PROPS_TARGET_ONLY: + * omit any data which does not identify the image itself + * QEMU_BLOCK_STORAGE_SOURCE_BACKEND_PROPS_AUTO_READONLY: + * use the auto-read-only feature of qemu * * Creates a JSON object describing the underlying storage or protocol of a * storage source. Returns NULL on error and reports an appropriate error = message. */ virJSONValuePtr qemuBlockStorageSourceGetBackendProps(virStorageSourcePtr src, - bool legacy, - bool onlytarget, - bool autoreadonly) + unsigned int flags) { int actualType =3D virStorageSourceGetActualType(src); g_autoptr(virJSONValue) fileprops =3D NULL; const char *driver =3D NULL; virTristateBool aro =3D VIR_TRISTATE_BOOL_ABSENT; virTristateBool ro =3D VIR_TRISTATE_BOOL_ABSENT; + bool onlytarget =3D flags & QEMU_BLOCK_STORAGE_SOURCE_BACKEND_PROPS_TA= RGET_ONLY; + bool legacy =3D flags & QEMU_BLOCK_STORAGE_SOURCE_BACKEND_PROPS_LEGACY; - if (autoreadonly) { + if (flags & QEMU_BLOCK_STORAGE_SOURCE_BACKEND_PROPS_AUTO_READONLY) { aro =3D VIR_TRISTATE_BOOL_YES; } else { if (src->readonly) @@ -1576,15 +1582,18 @@ qemuBlockStorageSourceAttachPrepareBlockdev(virStor= ageSourcePtr src, bool autoreadonly) { g_autoptr(qemuBlockStorageSourceAttachData) data =3D NULL; + unsigned int backendpropsflags =3D 0; + + if (autoreadonly) + backendpropsflags |=3D QEMU_BLOCK_STORAGE_SOURCE_BACKEND_PROPS_AUT= O_READONLY; if (VIR_ALLOC(data) < 0) return NULL; if (!(data->formatProps =3D qemuBlockStorageSourceGetBlockdevProps(src, backi= ngStore)) || - !(data->storageProps =3D qemuBlockStorageSourceGetBackendProps(src= , false, - false, - autor= eadonly))) + !(data->storageProps =3D qemuBlockStorageSourceGetBackendProps(src, + backe= ndpropsflags))) return NULL; data->storageNodeName =3D src->nodestorage; @@ -2108,7 +2117,8 @@ qemuBlockGetBackingStoreString(virStorageSourcePtr sr= c, } /* use json: pseudo protocol otherwise */ - if (!(backingProps =3D qemuBlockStorageSourceGetBackendProps(src, fals= e, true, false))) + if (!(backingProps =3D qemuBlockStorageSourceGetBackendProps(src, + QEMU_BLOCK_= STORAGE_SOURCE_BACKEND_PROPS_TARGET_ONLY))) return NULL; props =3D backingProps; diff --git a/src/qemu/qemu_block.h b/src/qemu/qemu_block.h index b1bdb39613..715739e59c 100644 --- a/src/qemu/qemu_block.h +++ b/src/qemu/qemu_block.h @@ -56,11 +56,15 @@ qemuBlockGetNodeData(virJSONValuePtr data); bool qemuBlockStorageSourceSupportsConcurrentAccess(virStorageSourcePtr src); +typedef enum { + QEMU_BLOCK_STORAGE_SOURCE_BACKEND_PROPS_LEGACY =3D 1 << 0, + QEMU_BLOCK_STORAGE_SOURCE_BACKEND_PROPS_TARGET_ONLY =3D 1 << 1, + QEMU_BLOCK_STORAGE_SOURCE_BACKEND_PROPS_AUTO_READONLY =3D 1 << 2, +} qemuBlockStorageSourceBackendPropsFlags; + virJSONValuePtr qemuBlockStorageSourceGetBackendProps(virStorageSourcePtr src, - bool legacy, - bool onlytarget, - bool autoreadonly); + unsigned int flags); virURIPtr qemuBlockStorageSourceGetURI(virStorageSourcePtr src); diff --git a/src/qemu/qemu_command.c b/src/qemu/qemu_command.c index 24e99e13b8..c41976b903 100644 --- a/src/qemu/qemu_command.c +++ b/src/qemu/qemu_command.c @@ -1193,7 +1193,8 @@ qemuDiskSourceGetProps(virStorageSourcePtr src) g_autoptr(virJSONValue) props =3D NULL; virJSONValuePtr ret; - if (!(props =3D qemuBlockStorageSourceGetBackendProps(src, true, false= , false))) + if (!(props =3D qemuBlockStorageSourceGetBackendProps(src, + QEMU_BLOCK_STORAGE= _SOURCE_BACKEND_PROPS_LEGACY))) return NULL; if (virJSONValueObjectCreate(&ret, "a:file", &props, NULL) < 0) diff --git a/tests/qemublocktest.c b/tests/qemublocktest.c index 51283793e9..025e96ab4b 100644 --- a/tests/qemublocktest.c +++ b/tests/qemublocktest.c @@ -62,6 +62,10 @@ testBackingXMLjsonXML(const void *args) g_autoptr(virStorageSource) xmlsrc =3D NULL; g_autoptr(virStorageSource) jsonsrc =3D NULL; g_auto(virBuffer) debug =3D VIR_BUFFER_INITIALIZER; + unsigned int backendpropsflags =3D 0; + + if (data->legacy) + backendpropsflags |=3D QEMU_BLOCK_STORAGE_SOURCE_BACKEND_PROPS_LEG= ACY; if (!(xmlsrc =3D virStorageSourceNew())) return -1; @@ -77,9 +81,7 @@ testBackingXMLjsonXML(const void *args) } if (!(backendprops =3D qemuBlockStorageSourceGetBackendProps(xmlsrc, - data->legac= y, - false, - false))) { + backendprop= sflags))) { fprintf(stderr, "failed to format disk source json\n"); return -1; } @@ -159,7 +161,8 @@ testJSONtoJSON(const void *args) return -1; } - if (!(jsonsrcout =3D qemuBlockStorageSourceGetBackendProps(src, false,= false, true))) { + if (!(jsonsrcout =3D qemuBlockStorageSourceGetBackendProps(src, + QEMU_BLOCK_ST= ORAGE_SOURCE_BACKEND_PROPS_AUTO_READONLY))) { fprintf(stderr, "failed to format disk source json\n"); return -1; } @@ -290,6 +293,9 @@ testQemuDiskXMLToProps(const void *opaque) for (n =3D disk->src; virStorageSourceIsBacking(n); n =3D n->backingSt= ore) { g_autofree char *backingstore =3D NULL; + unsigned int backendpropsflagsnormal =3D QEMU_BLOCK_STORAGE_SOURCE= _BACKEND_PROPS_AUTO_READONLY; + unsigned int backendpropsflagstarget =3D QEMU_BLOCK_STORAGE_SOURCE= _BACKEND_PROPS_AUTO_READONLY | + QEMU_BLOCK_STORAGE_SOURCE_B= ACKEND_PROPS_TARGET_ONLY; if (testQemuDiskXMLToJSONFakeSecrets(n) < 0) return -1; @@ -300,8 +306,8 @@ testQemuDiskXMLToProps(const void *opaque) qemuDomainPrepareDiskSourceData(disk, n); if (!(formatProps =3D qemuBlockStorageSourceGetBlockdevProps(n, n-= >backingStore)) || - !(storageSrcOnlyProps =3D qemuBlockStorageSourceGetBackendProp= s(n, false, true, true)) || - !(storageProps =3D qemuBlockStorageSourceGetBackendProps(n, fa= lse, false, true)) || + !(storageSrcOnlyProps =3D qemuBlockStorageSourceGetBackendProp= s(n, backendpropsflagstarget)) || + !(storageProps =3D qemuBlockStorageSourceGetBackendProps(n, ba= ckendpropsflagsnormal)) || !(backingstore =3D qemuBlockGetBackingStoreString(n, true))) { if (!data->fail) { VIR_TEST_VERBOSE("failed to generate qemu blockdev props"); --=20 2.26.2 From nobody Sun May 19 22:21:35 2024 Delivered-To: importer@patchew.org Received-SPF: pass (zohomail.com: domain of redhat.com designates 205.139.110.61 as permitted sender) client-ip=205.139.110.61; envelope-from=libvir-list-bounces@redhat.com; helo=us-smtp-delivery-1.mimecast.com; Authentication-Results: mx.zohomail.com; dkim=pass; spf=pass (zohomail.com: domain of redhat.com designates 205.139.110.61 as permitted sender) smtp.mailfrom=libvir-list-bounces@redhat.com; dmarc=pass(p=none dis=none) header.from=redhat.com ARC-Seal: i=1; a=rsa-sha256; t=1594391639; cv=none; d=zohomail.com; s=zohoarc; b=Be7AI422FLCwPUkKYae3+ib4V7Xd7OEBNfweL6cGHD8IZ42YgRuxqbCds+23DwfOSkGNh86UfKRJ/4IyROoQcX72fWEYNSVg+YFjNlsJpNyrsXINMq/POh6OpL2qCM7cb7IWsGf8b71CO2IEtBXrtau2NOktjS2U5CRjpHa+4/w= ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=zohomail.com; s=zohoarc; t=1594391639; h=Content-Type:Content-Transfer-Encoding:Date:From:In-Reply-To:List-Subscribe:List-Post:List-Id:List-Archive:List-Help:List-Unsubscribe:MIME-Version:Message-ID:References:Sender:Subject:To; bh=VBd3h3vzweoO7ovQzRWL/RX54ITYoyBZG/5QWkDhVYY=; b=ZqG7n4Ko2pkNIiT1Durz7qwiy1ViW+YbjA0KOcPZety5p9as0dvDE6rN5DSWaTCxf6FPxaLCG+oPZVFDnK9z4ZtUbYPXoLcRvLE8y6RpUajoYLyameg3NWizHB+yShtk2r0EhwEDuT5Q0O0HSdlNi3FGM5acpDkepUVWW+AFb58= ARC-Authentication-Results: i=1; mx.zohomail.com; dkim=pass; spf=pass (zohomail.com: domain of redhat.com designates 205.139.110.61 as permitted sender) smtp.mailfrom=libvir-list-bounces@redhat.com; dmarc=pass header.from= (p=none dis=none) header.from= Return-Path: Received: from us-smtp-delivery-1.mimecast.com (us-smtp-1.mimecast.com [205.139.110.61]) by mx.zohomail.com with SMTPS id 1594391639810343.87256327255614; Fri, 10 Jul 2020 07:33:59 -0700 (PDT) Received: from mimecast-mx01.redhat.com (mimecast-mx01.redhat.com [209.132.183.4]) (Using TLS) by relay.mimecast.com with ESMTP id us-mta-414-ZjcY-BAzMi6g_S15HSKq4w-1; Fri, 10 Jul 2020 10:33:56 -0400 Received: from smtp.corp.redhat.com (int-mx02.intmail.prod.int.phx2.redhat.com [10.5.11.12]) (using TLSv1.2 with cipher AECDH-AES256-SHA (256/256 bits)) (No client certificate requested) by mimecast-mx01.redhat.com (Postfix) with ESMTPS id 0A61880183C; Fri, 10 Jul 2020 14:33:51 +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 AFE1160E1C; Fri, 10 Jul 2020 14:33:50 +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 9B063180954D; Fri, 10 Jul 2020 14:33:48 +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 06AEXkuC006981 for ; Fri, 10 Jul 2020 10:33:46 -0400 Received: by smtp.corp.redhat.com (Postfix) id 9129A7880F; Fri, 10 Jul 2020 14:33:46 +0000 (UTC) Received: from speedmetal.redhat.com (unknown [10.40.208.29]) by smtp.corp.redhat.com (Postfix) with ESMTP id ECE6A17D82 for ; Fri, 10 Jul 2020 14:33:45 +0000 (UTC) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=redhat.com; s=mimecast20190719; t=1594391638; h=from:from:sender:sender:reply-to:subject:subject:date:date: message-id:message-id:to:to:cc:mime-version:mime-version: content-type:content-type: content-transfer-encoding:content-transfer-encoding: in-reply-to:in-reply-to:references:references:list-id:list-help: list-unsubscribe:list-subscribe:list-post; bh=VBd3h3vzweoO7ovQzRWL/RX54ITYoyBZG/5QWkDhVYY=; b=ake46nRKFCT40wHI1+FyKM6Ltzmo//9E872zOeU9/DzfmCMUx6AasfXNf2tt5i142pU5Bm 0Dks3W/O6HtkmAZRI75jVHS2GG0cXZLqmrcOk0AswGyH0+NNRCBkMQxPEsHmBUOPeeOzmF m/Pkc88jxds3afS5UIbrWf+N1Fu195k= X-MC-Unique: ZjcY-BAzMi6g_S15HSKq4w-1 From: Peter Krempa To: libvir-list@redhat.com Subject: [PATCH 02/18] qemuBlockStorageSourceGetBackendProps: Allow skipping "discard":"unmap" Date: Fri, 10 Jul 2020 16:33:23 +0200 Message-Id: In-Reply-To: References: MIME-Version: 1.0 X-Scanned-By: MIMEDefang 2.79 on 10.5.11.14 X-loop: libvir-list@redhat.com 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: , Sender: libvir-list-bounces@redhat.com Errors-To: libvir-list-bounces@redhat.com X-Scanned-By: MIMEDefang 2.79 on 10.5.11.12 X-Mimecast-Spam-Score: 0 X-Mimecast-Originator: redhat.com Content-Transfer-Encoding: quoted-printable X-ZohoMail-DKIM: pass (identity @redhat.com) Content-Type: text/plain; charset="utf-8" It doesn't make sense to format "discard" when doing a -blockdev backend of scsi-generic used with SCSI hostdevs. Add a way to skip it. Signed-off-by: Peter Krempa Reviewed-by: J=C3=A1n Tomko --- src/qemu/qemu_block.c | 8 ++++++++ src/qemu/qemu_block.h | 1 + 2 files changed, 9 insertions(+) diff --git a/src/qemu/qemu_block.c b/src/qemu/qemu_block.c index 10ddf53b3b..bdd07d9925 100644 --- a/src/qemu/qemu_block.c +++ b/src/qemu/qemu_block.c @@ -1061,6 +1061,9 @@ qemuBlockStorageSourceGetBlockdevGetCacheProps(virSto= rageSourcePtr src, * omit any data which does not identify the image itself * QEMU_BLOCK_STORAGE_SOURCE_BACKEND_PROPS_AUTO_READONLY: * use the auto-read-only feature of qemu + * QEMU_BLOCK_STORAGE_SOURCE_BACKEND_PROPS_SKIP_UNMAP: + * don't enable 'discard:unmap' option for passing through dicards + * (note that this is disabled also for _LEGACY and _TARGET_ONLY opti= ons) * * Creates a JSON object describing the underlying storage or protocol of a * storage source. Returns NULL on error and reports an appropriate error = message. @@ -1202,6 +1205,11 @@ qemuBlockStorageSourceGetBackendProps(virStorageSour= cePtr src, if (virJSONValueObjectAdd(fileprops, "T:read-only", ro, "T:auto-read-only", aro, + NULL) < 0) + return NULL; + + if (!(flags & QEMU_BLOCK_STORAGE_SOURCE_BACKEND_PROPS_SKIP_UNM= AP) && + virJSONValueObjectAdd(fileprops, "s:discard", "unmap", NULL) < 0) return NULL; diff --git a/src/qemu/qemu_block.h b/src/qemu/qemu_block.h index 715739e59c..0701fc18d1 100644 --- a/src/qemu/qemu_block.h +++ b/src/qemu/qemu_block.h @@ -60,6 +60,7 @@ typedef enum { QEMU_BLOCK_STORAGE_SOURCE_BACKEND_PROPS_LEGACY =3D 1 << 0, QEMU_BLOCK_STORAGE_SOURCE_BACKEND_PROPS_TARGET_ONLY =3D 1 << 1, QEMU_BLOCK_STORAGE_SOURCE_BACKEND_PROPS_AUTO_READONLY =3D 1 << 2, + QEMU_BLOCK_STORAGE_SOURCE_BACKEND_PROPS_SKIP_UNMAP =3D 1 << 3, } qemuBlockStorageSourceBackendPropsFlags; virJSONValuePtr --=20 2.26.2 From nobody Sun May 19 22:21:35 2024 Delivered-To: importer@patchew.org Received-SPF: pass (zohomail.com: domain of redhat.com designates 207.211.31.120 as permitted sender) client-ip=207.211.31.120; envelope-from=libvir-list-bounces@redhat.com; helo=us-smtp-1.mimecast.com; Authentication-Results: mx.zohomail.com; dkim=pass; spf=pass (zohomail.com: domain of redhat.com designates 207.211.31.120 as permitted sender) smtp.mailfrom=libvir-list-bounces@redhat.com; dmarc=pass(p=none dis=none) header.from=redhat.com ARC-Seal: i=1; a=rsa-sha256; t=1594391654; cv=none; d=zohomail.com; s=zohoarc; b=PLexOyUXuHHpBJaw11z0A2zp+69bYpdjcqtXvlOb95lSXbUtb1XawknPMZfRk0sXzCRLu/6gqlT9gaFyjQaborVB+0IkJu2nLRThPPdfrtotsCYxx0BCVII/zpgNUPdedVxcAMLswewOmdux/trRYYnxplbrsCXyze19KZHNeMo= ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=zohomail.com; s=zohoarc; t=1594391654; h=Content-Type:Content-Transfer-Encoding:Date:From:In-Reply-To:List-Subscribe:List-Post:List-Id:List-Archive:List-Help:List-Unsubscribe:MIME-Version:Message-ID:References:Sender:Subject:To; bh=x3lm+QFSlps/tuzrMgTBS4ZvawmgMRomXTMRIoZVcMA=; b=eLAWTqxW/wPMxRcMjz9mV84p8GvilvjTB+51rdRLYFTzfHSk7KPtBkFYmhO+XTDviNu0ZINO+aIGvKwDzWEKWQxkbWNmJh5gVS+5psRux0SIZL6haLJ84HpOcyMrfwvHLDghf6pEgrDIPjfvrfbJ7q+9SGVcpmKWUo1TtLZUWI4= ARC-Authentication-Results: i=1; mx.zohomail.com; dkim=pass; spf=pass (zohomail.com: domain of redhat.com designates 207.211.31.120 as permitted sender) smtp.mailfrom=libvir-list-bounces@redhat.com; dmarc=pass header.from= (p=none dis=none) header.from= Return-Path: Received: from us-smtp-1.mimecast.com (us-smtp-delivery-1.mimecast.com [207.211.31.120]) by mx.zohomail.com with SMTPS id 1594391654345729.6243438859439; Fri, 10 Jul 2020 07:34:14 -0700 (PDT) Received: from mimecast-mx01.redhat.com (mimecast-mx01.redhat.com [209.132.183.4]) (Using TLS) by relay.mimecast.com with ESMTP id us-mta-369-o29O13x5P6KvsfWvsEgPlQ-1; Fri, 10 Jul 2020 10:34:10 -0400 Received: from smtp.corp.redhat.com (int-mx01.intmail.prod.int.phx2.redhat.com [10.5.11.11]) (using TLSv1.2 with cipher AECDH-AES256-SHA (256/256 bits)) (No client certificate requested) by mimecast-mx01.redhat.com (Postfix) with ESMTPS id BB89A1085; Fri, 10 Jul 2020 14:34:05 +0000 (UTC) Received: from colo-mx.corp.redhat.com (colo-mx02.intmail.prod.int.phx2.redhat.com [10.5.11.21]) by smtp.corp.redhat.com (Postfix) with ESMTPS id 7102A71673; Fri, 10 Jul 2020 14:34:05 +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 408CD84365; Fri, 10 Jul 2020 14:34:05 +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 06AEXlDc006990 for ; Fri, 10 Jul 2020 10:33:47 -0400 Received: by smtp.corp.redhat.com (Postfix) id 9F6327880F; Fri, 10 Jul 2020 14:33:47 +0000 (UTC) Received: from speedmetal.redhat.com (unknown [10.40.208.29]) by smtp.corp.redhat.com (Postfix) with ESMTP id 0162A17D82 for ; Fri, 10 Jul 2020 14:33:46 +0000 (UTC) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=redhat.com; s=mimecast20190719; t=1594391653; h=from:from:sender:sender:reply-to:subject:subject:date:date: message-id:message-id:to:to:cc:mime-version:mime-version: content-type:content-type: content-transfer-encoding:content-transfer-encoding: in-reply-to:in-reply-to:references:references:list-id:list-help: list-unsubscribe:list-subscribe:list-post; bh=x3lm+QFSlps/tuzrMgTBS4ZvawmgMRomXTMRIoZVcMA=; b=Bs51DiOGB2gh6bNB1wNZKELspQJh4gLC/9+MwjmofATYRnzddYz92joO5q7ZKhj1W0ZFtH u9q0pPmTv5M23zlFQD/35Yw/+tYYvgTVvdNe0AfS2xDlLp3L60jgs+sBjugejsWwB2pT4p mlYULeSVYZ1SHCEb/fVPmEq7v/cooC0= X-MC-Unique: o29O13x5P6KvsfWvsEgPlQ-1 From: Peter Krempa To: libvir-list@redhat.com Subject: [PATCH 03/18] qemuBlockStorageSourceAttachData: Add field for ad-hoc storage node name Date: Fri, 10 Jul 2020 16:33:24 +0200 Message-Id: In-Reply-To: References: MIME-Version: 1.0 X-Scanned-By: MIMEDefang 2.79 on 10.5.11.14 X-loop: libvir-list@redhat.com 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: , Sender: libvir-list-bounces@redhat.com Errors-To: libvir-list-bounces@redhat.com X-Scanned-By: MIMEDefang 2.79 on 10.5.11.11 X-Mimecast-Spam-Score: 0 X-Mimecast-Originator: redhat.com Content-Transfer-Encoding: quoted-printable X-ZohoMail-DKIM: pass (identity @redhat.com) Content-Type: text/plain; charset="utf-8" SCSI hostdevs don't have a virStorageSource associated with the backend in certain cases. Adding a separate field to hold memory for a copy of the nodename of the storage backend will allow reusing the blockdev machinery also for SCSI hostdevs. Signed-off-by: Peter Krempa Reviewed-by: J=C3=A1n Tomko --- src/qemu/qemu_block.c | 1 + src/qemu/qemu_block.h | 1 + 2 files changed, 2 insertions(+) diff --git a/src/qemu/qemu_block.c b/src/qemu/qemu_block.c index bdd07d9925..34406aa743 100644 --- a/src/qemu/qemu_block.c +++ b/src/qemu/qemu_block.c @@ -1557,6 +1557,7 @@ qemuBlockStorageSourceAttachDataFree(qemuBlockStorage= SourceAttachDataPtr data) virJSONValueFree(data->encryptsecretProps); virJSONValueFree(data->tlsProps); virJSONValueFree(data->tlsKeySecretProps); + VIR_FREE(data->storageNodeNameCopy); VIR_FREE(data->tlsAlias); VIR_FREE(data->tlsKeySecretAlias); VIR_FREE(data->authsecretAlias); diff --git a/src/qemu/qemu_block.h b/src/qemu/qemu_block.h index 0701fc18d1..9aab620947 100644 --- a/src/qemu/qemu_block.h +++ b/src/qemu/qemu_block.h @@ -85,6 +85,7 @@ struct qemuBlockStorageSourceAttachData { virJSONValuePtr storageProps; const char *storageNodeName; + char *storageNodeNameCopy; /* in some cases we don't have the correspo= nding storage source */ bool storageAttached; virJSONValuePtr storageSliceProps; --=20 2.26.2 From nobody Sun May 19 22:21:35 2024 Delivered-To: importer@patchew.org Received-SPF: pass (zohomail.com: domain of redhat.com designates 207.211.31.81 as permitted sender) client-ip=207.211.31.81; envelope-from=libvir-list-bounces@redhat.com; helo=us-smtp-delivery-1.mimecast.com; Authentication-Results: mx.zohomail.com; dkim=pass; spf=pass (zohomail.com: domain of redhat.com designates 207.211.31.81 as permitted sender) smtp.mailfrom=libvir-list-bounces@redhat.com; dmarc=pass(p=none dis=none) header.from=redhat.com ARC-Seal: i=1; a=rsa-sha256; t=1594391707; cv=none; d=zohomail.com; s=zohoarc; b=Pak5ErPWneuDoIzjPBUaIOW+TxjcOSRnYhrKo38IQUXgbsbaLg0dKEiaf/UL9npphlT10KzeQ/DSTkoewkP7ATUefuBTtVBUVXdB+9ILURtAQNImAqRJyX+1AUBkCG7+sYyVmRtuOSdcT8Q/eWPgaURCDqwgGYtQ0H5pmbCnHQo= ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=zohomail.com; s=zohoarc; t=1594391707; h=Content-Type:Content-Transfer-Encoding:Date:From:In-Reply-To:List-Subscribe:List-Post:List-Id:List-Archive:List-Help:List-Unsubscribe:MIME-Version:Message-ID:References:Sender:Subject:To; bh=fmfIB+NFTETO3DU6offcCElz37BGv7i+7c6cWhDe2X4=; b=JTNE9RoW7fFWK3GeYb/eJ5FaS4p1HKCWL9lLUhr0zlKAuIYxfehJaGaVZgXmzbLY8JEmZh27Kl9uQnsQXmnOj1g2eDHye19t/o/obBoY0z0KWOTm+aHxwbS1AaRPJmUZYgbXeamkdIwavCPwgHfZYs5Aeyq27updvB9BtoptCE8= ARC-Authentication-Results: i=1; mx.zohomail.com; dkim=pass; spf=pass (zohomail.com: domain of redhat.com designates 207.211.31.81 as permitted sender) smtp.mailfrom=libvir-list-bounces@redhat.com; dmarc=pass header.from= (p=none dis=none) header.from= Return-Path: Received: from us-smtp-delivery-1.mimecast.com (us-smtp-1.mimecast.com [207.211.31.81]) by mx.zohomail.com with SMTPS id 1594391707977542.2451459285845; Fri, 10 Jul 2020 07:35:07 -0700 (PDT) Received: from mimecast-mx01.redhat.com (mimecast-mx01.redhat.com [209.132.183.4]) (Using TLS) by relay.mimecast.com with ESMTP id us-mta-102-43_MoPizPk6lAyofXUH4Ew-1; Fri, 10 Jul 2020 10:34:15 -0400 Received: from smtp.corp.redhat.com (int-mx05.intmail.prod.int.phx2.redhat.com [10.5.11.15]) (using TLSv1.2 with cipher AECDH-AES256-SHA (256/256 bits)) (No client certificate requested) by mimecast-mx01.redhat.com (Postfix) with ESMTPS id EC1B5102C7F2; Fri, 10 Jul 2020 14:34:07 +0000 (UTC) Received: from colo-mx.corp.redhat.com (colo-mx02.intmail.prod.int.phx2.redhat.com [10.5.11.21]) by smtp.corp.redhat.com (Postfix) with ESMTPS id CEA277EF89; Fri, 10 Jul 2020 14:34:07 +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 9F3718436C; Fri, 10 Jul 2020 14:34:07 +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 06AEXm03006997 for ; Fri, 10 Jul 2020 10:33:48 -0400 Received: by smtp.corp.redhat.com (Postfix) id AD2F97880F; Fri, 10 Jul 2020 14:33:48 +0000 (UTC) Received: from speedmetal.redhat.com (unknown [10.40.208.29]) by smtp.corp.redhat.com (Postfix) with ESMTP id 10E7917D82 for ; Fri, 10 Jul 2020 14:33:47 +0000 (UTC) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=redhat.com; s=mimecast20190719; t=1594391706; h=from:from:sender:sender:reply-to:subject:subject:date:date: message-id:message-id:to:to:cc:mime-version:mime-version: content-type:content-type: content-transfer-encoding:content-transfer-encoding: in-reply-to:in-reply-to:references:references:list-id:list-help: list-unsubscribe:list-subscribe:list-post; bh=fmfIB+NFTETO3DU6offcCElz37BGv7i+7c6cWhDe2X4=; b=JCEZlY0rG1jaB6fwo3R+DtXCyyC76sr63j0RyeNM6W2Zh/eLoGnv1fBrFDeJ8I2ltsuFUg BzIPF3oyYU4kdqMdgz86JjDcV5ziHubc5nirLLYtzTEGtLSY6/SL2LCpgSRs2RG2uD7UIU 45AeoDPtKSmwuc9MonkbqUh2+26k71A= X-MC-Unique: 43_MoPizPk6lAyofXUH4Ew-1 From: Peter Krempa To: libvir-list@redhat.com Subject: [PATCH 04/18] virDomainHostdevDefFormatSubsys: Format private data for a virStorageSource Date: Fri, 10 Jul 2020 16:33:25 +0200 Message-Id: In-Reply-To: References: MIME-Version: 1.0 X-Scanned-By: MIMEDefang 2.79 on 10.5.11.14 X-loop: libvir-list@redhat.com 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: , Sender: libvir-list-bounces@redhat.com Errors-To: libvir-list-bounces@redhat.com X-Scanned-By: MIMEDefang 2.79 on 10.5.11.15 Authentication-Results: relay.mimecast.com; auth=pass smtp.auth=CUSA124A263 smtp.mailfrom=libvir-list-bounces@redhat.com X-Mimecast-Spam-Score: 0 X-Mimecast-Originator: redhat.com Content-Transfer-Encoding: quoted-printable X-ZohoMail-DKIM: pass (identity @redhat.com) Content-Type: text/plain; charset="utf-8" iSCSI subsystem hostdevs store the data as a virStorageSource. Format the private data part of the virStorageSource in the appropriate place. Signed-off-by: Peter Krempa Reviewed-by: J=C3=A1n Tomko --- src/conf/domain_conf.c | 32 ++++++++++++++++++++------------ 1 file changed, 20 insertions(+), 12 deletions(-) diff --git a/src/conf/domain_conf.c b/src/conf/domain_conf.c index d14485f18d..bda9375f13 100644 --- a/src/conf/domain_conf.c +++ b/src/conf/domain_conf.c @@ -25987,7 +25987,8 @@ static int virDomainHostdevDefFormatSubsys(virBufferPtr buf, virDomainHostdevDefPtr def, unsigned int flags, - bool includeTypeInAddr) + bool includeTypeInAddr, + virDomainXMLOptionPtr xmlopt) { bool closedSource =3D false; virDomainHostdevSubsysUSBPtr usbsrc =3D &def->source.subsys.u.usb; @@ -26086,6 +26087,10 @@ virDomainHostdevDefFormatSubsys(virBufferPtr buf, if (iscsisrc->src->hosts[0].port) virBufferAsprintf(buf, " port=3D'%u'", iscsisrc->src->host= s[0].port); virBufferAddLit(buf, "/>\n"); + + if (virDomainDiskSourceFormatPrivateData(buf, iscsisrc->src, + flags, xmlopt) < 0) + return -1; } else { virBufferAsprintf(buf, "\n", scsihostsrc->adapter); @@ -26167,13 +26172,14 @@ static int virDomainActualNetDefContentsFormat(virBufferPtr buf, virDomainNetDefPtr def, bool inSubelement, - unsigned int flags) + unsigned int flags, + virDomainXMLOptionPtr xmlopt) { virDomainNetType actualType =3D virDomainNetGetActualType(def); if (actualType =3D=3D VIR_DOMAIN_NET_TYPE_HOSTDEV) { if (virDomainHostdevDefFormatSubsys(buf, virDomainNetGetActualHost= dev(def), - flags, true) < 0) { + flags, true, xmlopt) < 0) { return -1; } } else { @@ -26253,7 +26259,8 @@ virDomainActualNetDefContentsFormat(virBufferPtr bu= f, static int virDomainActualNetDefFormat(virBufferPtr buf, virDomainNetDefPtr def, - unsigned int flags) + unsigned int flags, + virDomainXMLOptionPtr xmlopt) { virDomainNetType type; const char *typeStr; @@ -26281,7 +26288,7 @@ virDomainActualNetDefFormat(virBufferPtr buf, virBufferAddLit(buf, ">\n"); virBufferAdjustIndent(buf, 2); - if (virDomainActualNetDefContentsFormat(buf, def, true, flags) < 0) + if (virDomainActualNetDefContentsFormat(buf, def, true, flags, xmlopt)= < 0) return -1; virBufferAdjustIndent(buf, -2); virBufferAddLit(buf, "\n"); @@ -26479,7 +26486,7 @@ virDomainNetDefFormat(virBufferPtr buf, * the standard place... (this is for public reporting of * interface status) */ - if (virDomainActualNetDefContentsFormat(buf, def, false, flags) < = 0) + if (virDomainActualNetDefContentsFormat(buf, def, false, flags, xm= lopt) < 0) return -1; } else { /* ...but if we've asked for the inactive XML (rather than @@ -26581,7 +26588,7 @@ virDomainNetDefFormat(virBufferPtr buf, case VIR_DOMAIN_NET_TYPE_HOSTDEV: if (virDomainHostdevDefFormatSubsys(buf, &def->data.hostdev.de= f, - flags, true) < 0) { + flags, true, xmlopt) < 0) { return -1; } break; @@ -26627,7 +26634,7 @@ virDomainNetDefFormat(virBufferPtr buf, */ if (def->type =3D=3D VIR_DOMAIN_NET_TYPE_NETWORK && (flags & VIR_DOMAIN_DEF_FORMAT_ACTUAL_NET) && - (virDomainActualNetDefFormat(buf, def, flags) < 0)) + (virDomainActualNetDefFormat(buf, def, flags, xmlopt) < 0)) return -1; } @@ -28204,7 +28211,8 @@ virDomainGraphicsDefFormat(virBufferPtr buf, static int virDomainHostdevDefFormat(virBufferPtr buf, virDomainHostdevDefPtr def, - unsigned int flags) + unsigned int flags, + virDomainXMLOptionPtr xmlopt) { const char *mode =3D virDomainHostdevModeTypeToString(def->mode); virDomainHostdevSubsysSCSIPtr scsisrc =3D &def->source.subsys.u.scsi; @@ -28283,7 +28291,7 @@ virDomainHostdevDefFormat(virBufferPtr buf, switch (def->mode) { case VIR_DOMAIN_HOSTDEV_MODE_SUBSYS: - if (virDomainHostdevDefFormatSubsys(buf, def, flags, false) < 0) + if (virDomainHostdevDefFormatSubsys(buf, def, flags, false, xmlopt= ) < 0) return -1; break; case VIR_DOMAIN_HOSTDEV_MODE_CAPABILITIES: @@ -29893,7 +29901,7 @@ virDomainDefFormatInternalSetRootName(virDomainDefP= tr def, * and will have already been formatted there. */ if (!def->hostdevs[n]->parentnet && - virDomainHostdevDefFormat(buf, def->hostdevs[n], flags) < 0) { + virDomainHostdevDefFormat(buf, def->hostdevs[n], flags, xmlopt= ) < 0) { return -1; } } @@ -31016,7 +31024,7 @@ virDomainDeviceDefCopy(virDomainDeviceDefPtr src, rc =3D virDomainVideoDefFormat(&buf, src->data.video, flags); break; case VIR_DOMAIN_DEVICE_HOSTDEV: - rc =3D virDomainHostdevDefFormat(&buf, src->data.hostdev, flags); + rc =3D virDomainHostdevDefFormat(&buf, src->data.hostdev, flags, x= mlopt); break; case VIR_DOMAIN_DEVICE_WATCHDOG: rc =3D virDomainWatchdogDefFormat(&buf, src->data.watchdog, flags); --=20 2.26.2 From nobody Sun May 19 22:21:35 2024 Delivered-To: importer@patchew.org Received-SPF: pass (zohomail.com: domain of redhat.com designates 205.139.110.120 as permitted sender) client-ip=205.139.110.120; envelope-from=libvir-list-bounces@redhat.com; helo=us-smtp-1.mimecast.com; Authentication-Results: mx.zohomail.com; dkim=pass; spf=pass (zohomail.com: domain of redhat.com designates 205.139.110.120 as permitted sender) smtp.mailfrom=libvir-list-bounces@redhat.com; dmarc=pass(p=none dis=none) header.from=redhat.com ARC-Seal: i=1; a=rsa-sha256; t=1594391640; cv=none; d=zohomail.com; s=zohoarc; b=P7QbgiY24OkEcKe/05hSPImvMxydPBubtrYrS4majSNUNxwe3bmmrnfXPaV9yeKUmND6DyTxKxl3YTn5eGIY5K34nuvFOz/rtHl5bP6SfKD5HuGTIi6rBJoy7xAe6FxfJNlsrD+JzhzHGW4Q0hYzoqjPc+WbfsPCkomvhHQE+O8= ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=zohomail.com; s=zohoarc; t=1594391640; h=Content-Type:Content-Transfer-Encoding:Date:From:In-Reply-To:List-Subscribe:List-Post:List-Id:List-Archive:List-Help:List-Unsubscribe:MIME-Version:Message-ID:References:Sender:Subject:To; bh=2Xw7VxY/sanXTaM+usetk0oZVhizMfJeQpodk+uRmuM=; b=jSJj4mudyAnSUThX/5hkj5F753Mm04N5TOJtb6uDuHz4H6SGoDTNlZFMqmHX8Rl6NVKSsX28ksuHej8jFqX1oqZIJRmkpdyBQNx/RURkIuJfrVeJDJH3FQ4LBGamrAF9PwZJLNz9rQKXKMMvuByAnSq1J6QzU1gUuw+OUpTChhQ= ARC-Authentication-Results: i=1; mx.zohomail.com; dkim=pass; spf=pass (zohomail.com: domain of redhat.com designates 205.139.110.120 as permitted sender) smtp.mailfrom=libvir-list-bounces@redhat.com; dmarc=pass header.from= (p=none dis=none) header.from= Return-Path: Received: from us-smtp-1.mimecast.com (us-smtp-delivery-1.mimecast.com [205.139.110.120]) by mx.zohomail.com with SMTPS id 1594391640946142.48254430834822; Fri, 10 Jul 2020 07:34:00 -0700 (PDT) Received: from mimecast-mx01.redhat.com (mimecast-mx01.redhat.com [209.132.183.4]) (Using TLS) by relay.mimecast.com with ESMTP id us-mta-326-VmDP28FEP8SvrsFM16LPig-1; Fri, 10 Jul 2020 10:33:57 -0400 Received: from smtp.corp.redhat.com (int-mx02.intmail.prod.int.phx2.redhat.com [10.5.11.12]) (using TLSv1.2 with cipher AECDH-AES256-SHA (256/256 bits)) (No client certificate requested) by mimecast-mx01.redhat.com (Postfix) with ESMTPS id C9C72800EB6; Fri, 10 Jul 2020 14:33:51 +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 6231260C05; Fri, 10 Jul 2020 14:33:51 +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 1AD0D1809554; Fri, 10 Jul 2020 14:33:51 +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 06AEXnxf007012 for ; Fri, 10 Jul 2020 10:33:49 -0400 Received: by smtp.corp.redhat.com (Postfix) id C04287880F; Fri, 10 Jul 2020 14:33:49 +0000 (UTC) Received: from speedmetal.redhat.com (unknown [10.40.208.29]) by smtp.corp.redhat.com (Postfix) with ESMTP id 1E03B17D82 for ; Fri, 10 Jul 2020 14:33:48 +0000 (UTC) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=redhat.com; s=mimecast20190719; t=1594391639; h=from:from:sender:sender:reply-to:subject:subject:date:date: message-id:message-id:to:to:cc:mime-version:mime-version: content-type:content-type: content-transfer-encoding:content-transfer-encoding: in-reply-to:in-reply-to:references:references:list-id:list-help: list-unsubscribe:list-subscribe:list-post; bh=2Xw7VxY/sanXTaM+usetk0oZVhizMfJeQpodk+uRmuM=; b=fFc9Zx8QZTbAqO5mr4iZqxXXYrkPw+sD65fM+6+GFMab95JIawz+nQu02J7Uw6xufignDi 2dAI0fPISP/eT+zIQx1X+uE5QDsqBw1ORoXvkjPAxGvNjsGrAjPkPZ/R1Hi2lAW8V35PK3 ljoV0I+WUohUbP5eL1ynixbBpsn3vKE= X-MC-Unique: VmDP28FEP8SvrsFM16LPig-1 From: Peter Krempa To: libvir-list@redhat.com Subject: [PATCH 05/18] virDomainHostdevSubsysSCSIiSCSIDefParseXML: Parse private data of virStorageSource Date: Fri, 10 Jul 2020 16:33:26 +0200 Message-Id: In-Reply-To: References: MIME-Version: 1.0 X-Scanned-By: MIMEDefang 2.79 on 10.5.11.14 X-loop: libvir-list@redhat.com 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: , Sender: libvir-list-bounces@redhat.com Errors-To: libvir-list-bounces@redhat.com X-Scanned-By: MIMEDefang 2.79 on 10.5.11.12 X-Mimecast-Spam-Score: 0 X-Mimecast-Originator: redhat.com Content-Transfer-Encoding: quoted-printable X-ZohoMail-DKIM: pass (identity @redhat.com) Content-Type: text/plain; charset="utf-8" We store the config of an iSCSI hostdev in a virStorageSource structure. Parse the private data portion. Signed-off-by: Peter Krempa Reviewed-by: J=C3=A1n Tomko --- src/conf/domain_conf.c | 39 +++++++++++++++++++++++++++++---------- 1 file changed, 29 insertions(+), 10 deletions(-) diff --git a/src/conf/domain_conf.c b/src/conf/domain_conf.c index bda9375f13..ceaf73772d 100644 --- a/src/conf/domain_conf.c +++ b/src/conf/domain_conf.c @@ -8283,7 +8283,9 @@ virDomainHostdevSubsysSCSIHostDefParseXML(xmlNodePtr = sourcenode, static int virDomainHostdevSubsysSCSIiSCSIDefParseXML(xmlNodePtr sourcenode, virDomainHostdevSubsysSCSIPtr d= ef, - xmlXPathContextPtr ctxt) + xmlXPathContextPtr ctxt, + unsigned int flags, + virDomainXMLOptionPtr xmlopt) { int auth_secret_usage =3D -1; xmlNodePtr cur; @@ -8348,13 +8350,27 @@ virDomainHostdevSubsysSCSIiSCSIDefParseXML(xmlNodeP= tr sourcenode, } cur =3D cur->next; } + + if ((flags & VIR_DOMAIN_DEF_PARSE_STATUS) && + xmlopt && xmlopt->privateData.storageParse) { + VIR_XPATH_NODE_AUTORESTORE(ctxt); + + ctxt->node =3D sourcenode; + + if ((ctxt->node =3D virXPathNode("./privateData", ctxt)) && + xmlopt->privateData.storageParse(ctxt, iscsisrc->src) < 0) + return -1; + } + return 0; } static int virDomainHostdevSubsysSCSIDefParseXML(xmlNodePtr sourcenode, virDomainHostdevSubsysSCSIPtr scsisr= c, - xmlXPathContextPtr ctxt) + xmlXPathContextPtr ctxt, + unsigned int flags, + virDomainXMLOptionPtr xmlopt) { g_autofree char *protocol =3D NULL; @@ -8370,7 +8386,8 @@ virDomainHostdevSubsysSCSIDefParseXML(xmlNodePtr sour= cenode, } if (scsisrc->protocol =3D=3D VIR_DOMAIN_HOSTDEV_SCSI_PROTOCOL_TYPE_ISC= SI) - return virDomainHostdevSubsysSCSIiSCSIDefParseXML(sourcenode, scsi= src, ctxt); + return virDomainHostdevSubsysSCSIiSCSIDefParseXML(sourcenode, scsi= src, ctxt, + flags, xmlopt); return virDomainHostdevSubsysSCSIHostDefParseXML(sourcenode, scsisrc); } @@ -8461,7 +8478,8 @@ virDomainHostdevDefParseXMLSubsys(xmlNodePtr node, xmlXPathContextPtr ctxt, const char *type, virDomainHostdevDefPtr def, - unsigned int flags) + unsigned int flags, + virDomainXMLOptionPtr xmlopt) { xmlNodePtr sourcenode; int backend; @@ -8633,7 +8651,7 @@ virDomainHostdevDefParseXMLSubsys(xmlNodePtr node, break; case VIR_DOMAIN_HOSTDEV_SUBSYS_TYPE_SCSI: - if (virDomainHostdevSubsysSCSIDefParseXML(sourcenode, scsisrc, ctx= t) < 0) + if (virDomainHostdevSubsysSCSIDefParseXML(sourcenode, scsisrc, ctx= t, flags, xmlopt) < 0) return -1; break; @@ -11645,7 +11663,8 @@ virDomainActualNetDefParseXML(xmlNodePtr node, xmlXPathContextPtr ctxt, virDomainNetDefPtr parent, virDomainActualNetDefPtr *def, - unsigned int flags) + unsigned int flags, + virDomainXMLOptionPtr xmlopt) { virDomainActualNetDefPtr actual =3D NULL; int ret =3D -1; @@ -11750,7 +11769,7 @@ virDomainActualNetDefParseXML(xmlNodePtr node, addrtype =3D g_strdup("usb"); hostdev->mode =3D VIR_DOMAIN_HOSTDEV_MODE_SUBSYS; if (virDomainHostdevDefParseXMLSubsys(node, ctxt, addrtype, - hostdev, flags) < 0) { + hostdev, flags, xmlopt) < 0)= { goto error; } } else if (actual->type =3D=3D VIR_DOMAIN_NET_TYPE_BRIDGE || @@ -12124,7 +12143,7 @@ virDomainNetDefParseXML(virDomainXMLOptionPtr xmlop= t, def->type =3D=3D VIR_DOMAIN_NET_TYPE_NETWORK && virXMLNodeNameEqual(cur, "actual")) { if (virDomainActualNetDefParseXML(cur, ctxt, def, - &actual, flags) < 0) { + &actual, flags, xmlopt) = < 0) { goto error; } } else if (virXMLNodeNameEqual(cur, "bandwidth")) { @@ -12388,7 +12407,7 @@ virDomainNetDefParseXML(virDomainXMLOptionPtr xmlop= t, addrtype =3D g_strdup("usb"); hostdev->mode =3D VIR_DOMAIN_HOSTDEV_MODE_SUBSYS; if (virDomainHostdevDefParseXMLSubsys(node, ctxt, addrtype, - hostdev, flags) < 0) { + hostdev, flags, xmlopt) < 0)= { goto error; } break; @@ -16140,7 +16159,7 @@ virDomainHostdevDefParseXML(virDomainXMLOptionPtr x= mlopt, switch (def->mode) { case VIR_DOMAIN_HOSTDEV_MODE_SUBSYS: /* parse managed/mode/type, and the element */ - if (virDomainHostdevDefParseXMLSubsys(node, ctxt, type, def, flags= ) < 0) + if (virDomainHostdevDefParseXMLSubsys(node, ctxt, type, def, flags= , xmlopt) < 0) goto error; break; case VIR_DOMAIN_HOSTDEV_MODE_CAPABILITIES: --=20 2.26.2 From nobody Sun May 19 22:21:35 2024 Delivered-To: importer@patchew.org Received-SPF: pass (zohomail.com: domain of redhat.com designates 207.211.31.120 as permitted sender) client-ip=207.211.31.120; envelope-from=libvir-list-bounces@redhat.com; helo=us-smtp-1.mimecast.com; Authentication-Results: mx.zohomail.com; dkim=pass; spf=pass (zohomail.com: domain of redhat.com designates 207.211.31.120 as permitted sender) smtp.mailfrom=libvir-list-bounces@redhat.com; dmarc=pass(p=none dis=none) header.from=redhat.com ARC-Seal: i=1; a=rsa-sha256; t=1594391655; cv=none; d=zohomail.com; s=zohoarc; b=bJYmVhlZ/OWFSytWbou+FRJyleGvmw8gnJnFzA1l3H6g6R36+jvRBafst1eypuKQMVwPwRlnKZD73M4a/0WCvWbV9huRwrrTjQpBe3JAB7smGzW2dWr8ilPLkNNUxvR+Hl2YFQ/DsmDLfB2pK2BoIfe5jsK96XOlc2gjbHM4P7U= ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=zohomail.com; s=zohoarc; t=1594391655; h=Content-Type:Content-Transfer-Encoding:Date:From:In-Reply-To:List-Subscribe:List-Post:List-Id:List-Archive:List-Help:List-Unsubscribe:MIME-Version:Message-ID:References:Sender:Subject:To; bh=jHeIMaI3YXBgM/9F0mgw/jJerClLabV19jItcODRZgk=; b=nNA4XqnCbZlp5gwh6S5GY2t/mVPmXEffPyWYuoLLkMQpCsECym9895v3taogV2/1ZHO0JWsYaQwYCmTqI5xrmlWD1GKDkMMASa5JtpWWPrLdXgyRr7ojbFj8a2rNIxUJ/d7gsWhV82+SuDQT9LvefWr2Yt4BAag1nsbyvazOVsE= ARC-Authentication-Results: i=1; mx.zohomail.com; dkim=pass; spf=pass (zohomail.com: domain of redhat.com designates 207.211.31.120 as permitted sender) smtp.mailfrom=libvir-list-bounces@redhat.com; dmarc=pass header.from= (p=none dis=none) header.from= Return-Path: Received: from us-smtp-1.mimecast.com (us-smtp-delivery-1.mimecast.com [207.211.31.120]) by mx.zohomail.com with SMTPS id 1594391655614728.1841692331519; Fri, 10 Jul 2020 07:34:15 -0700 (PDT) Received: from mimecast-mx01.redhat.com (mimecast-mx01.redhat.com [209.132.183.4]) (Using TLS) by relay.mimecast.com with ESMTP id us-mta-313-810_4guIOTOp4h-ghCpTRQ-1; Fri, 10 Jul 2020 10:34:12 -0400 Received: from smtp.corp.redhat.com (int-mx07.intmail.prod.int.phx2.redhat.com [10.5.11.22]) (using TLSv1.2 with cipher AECDH-AES256-SHA (256/256 bits)) (No client certificate requested) by mimecast-mx01.redhat.com (Postfix) with ESMTPS id 62CAB1932488; Fri, 10 Jul 2020 14:34:06 +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 3DF961002382; Fri, 10 Jul 2020 14:34:06 +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 CDA721809563; Fri, 10 Jul 2020 14:34:05 +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 06AEXoW1007021 for ; Fri, 10 Jul 2020 10:33:51 -0400 Received: by smtp.corp.redhat.com (Postfix) id F1ACD7880F; Fri, 10 Jul 2020 14:33:50 +0000 (UTC) Received: from speedmetal.redhat.com (unknown [10.40.208.29]) by smtp.corp.redhat.com (Postfix) with ESMTP id 5D49F17D82 for ; Fri, 10 Jul 2020 14:33:50 +0000 (UTC) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=redhat.com; s=mimecast20190719; t=1594391654; h=from:from:sender:sender:reply-to:subject:subject:date:date: message-id:message-id:to:to:cc:mime-version:mime-version: content-type:content-type: content-transfer-encoding:content-transfer-encoding: in-reply-to:in-reply-to:references:references:list-id:list-help: list-unsubscribe:list-subscribe:list-post; bh=jHeIMaI3YXBgM/9F0mgw/jJerClLabV19jItcODRZgk=; b=jJr77nTmDoRjsvaaUfXCAEQkdj1n5g48VEVjqks+hQy+A0OgVmiqaNyrbdH0swOjpPl75S AOmfQaGiHNwiQLPk205acQxY7zgIhQhoeS4hiTqy7DB6xNMM+PAA6tTohBq1Ucqt3my0xp Hcz12qDHpiS9Idwhue/neDQoU1KS0wE= X-MC-Unique: 810_4guIOTOp4h-ghCpTRQ-1 From: Peter Krempa To: libvir-list@redhat.com Subject: [PATCH 06/18] qemustatusxml2xmltest: Add tests for iSCSI hostdev private data handling Date: Fri, 10 Jul 2020 16:33:27 +0200 Message-Id: In-Reply-To: References: MIME-Version: 1.0 X-Scanned-By: MIMEDefang 2.79 on 10.5.11.14 X-loop: libvir-list@redhat.com 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: , Sender: libvir-list-bounces@redhat.com Errors-To: libvir-list-bounces@redhat.com X-Scanned-By: MIMEDefang 2.84 on 10.5.11.22 X-Mimecast-Spam-Score: 0 X-Mimecast-Originator: redhat.com Content-Transfer-Encoding: quoted-printable X-ZohoMail-DKIM: pass (identity @redhat.com) Content-Type: text/plain; charset="utf-8" Signed-off-by: Peter Krempa Reviewed-by: J=C3=A1n Tomko --- tests/qemustatusxml2xmldata/modern-in.xml | 18 ++++++++++++++++++ 1 file changed, 18 insertions(+) diff --git a/tests/qemustatusxml2xmldata/modern-in.xml b/tests/qemustatusxm= l2xmldata/modern-in.xml index 63ef9caed3..0a3990bd3e 100644 --- a/tests/qemustatusxml2xmldata/modern-in.xml +++ b/tests/qemustatusxml2xmldata/modern-in.xml @@ -458,6 +458,24 @@
+ + + + + + + + + + + + + + + + +
+
--=20 2.26.2 From nobody Sun May 19 22:21:35 2024 Delivered-To: importer@patchew.org Received-SPF: pass (zohomail.com: domain of redhat.com designates 207.211.31.81 as permitted sender) client-ip=207.211.31.81; envelope-from=libvir-list-bounces@redhat.com; helo=us-smtp-delivery-1.mimecast.com; Authentication-Results: mx.zohomail.com; dkim=pass; spf=pass (zohomail.com: domain of redhat.com designates 207.211.31.81 as permitted sender) smtp.mailfrom=libvir-list-bounces@redhat.com; dmarc=pass(p=none dis=none) header.from=redhat.com ARC-Seal: i=1; a=rsa-sha256; t=1594391658; cv=none; d=zohomail.com; s=zohoarc; b=IO+ImXtEb2iceGPSpqXh8WTclPLxS/FXPIQ7ZabaG8EO1QvHjFnP4lSOgRxPF60UfrBKG7CHX+XnVbC+jGnzfcXLADLJ+nbeEHqjJqSOuNuPcYjBjhy28+bvpKDKC/B/irrht0kk4lV+qzi4c+RytM1d+tpWXHLOpkI7YhAKZSI= ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=zohomail.com; s=zohoarc; t=1594391658; h=Content-Type:Content-Transfer-Encoding:Date:From:In-Reply-To:List-Subscribe:List-Post:List-Id:List-Archive:List-Help:List-Unsubscribe:MIME-Version:Message-ID:References:Sender:Subject:To; bh=nOXEuNmHj+L1YXuy9pA0fL4qqTFjsftBiyIq7LEFPh8=; b=foX7NU+c/AWh8O5mwU4Hldj01kVWAb1Y0SVpqOGNii4coxrH7KRKiLP6ba+87FQmQrON2oFWVCiwMe7jndAqql+yuCq853jEPYJvcB93bEAFCPqoUFWx0flU31EvWv4bkvC17WthpLATg4a/Ea0E0nkFUC4LqMNZete4cSfsFgo= ARC-Authentication-Results: i=1; mx.zohomail.com; dkim=pass; spf=pass (zohomail.com: domain of redhat.com designates 207.211.31.81 as permitted sender) smtp.mailfrom=libvir-list-bounces@redhat.com; dmarc=pass header.from= (p=none dis=none) header.from= Return-Path: Received: from us-smtp-delivery-1.mimecast.com (us-smtp-1.mimecast.com [207.211.31.81]) by mx.zohomail.com with SMTPS id 1594391658977269.8504243091603; Fri, 10 Jul 2020 07:34:18 -0700 (PDT) Received: from mimecast-mx01.redhat.com (mimecast-mx01.redhat.com [209.132.183.4]) (Using TLS) by relay.mimecast.com with ESMTP id us-mta-493-paABp-_gOwGg94FskJoiLg-1; Fri, 10 Jul 2020 10:34:14 -0400 Received: from smtp.corp.redhat.com (int-mx02.intmail.prod.int.phx2.redhat.com [10.5.11.12]) (using TLSv1.2 with cipher AECDH-AES256-SHA (256/256 bits)) (No client certificate requested) by mimecast-mx01.redhat.com (Postfix) with ESMTPS id EBE7A8027F7; Fri, 10 Jul 2020 14:34:08 +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 C36A260C05; Fri, 10 Jul 2020 14:34:08 +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 8D8B51809561; Fri, 10 Jul 2020 14:34:08 +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 06AEXq6f007031 for ; Fri, 10 Jul 2020 10:33:52 -0400 Received: by smtp.corp.redhat.com (Postfix) id 10AA67880F; Fri, 10 Jul 2020 14:33:52 +0000 (UTC) Received: from speedmetal.redhat.com (unknown [10.40.208.29]) by smtp.corp.redhat.com (Postfix) with ESMTP id 646A017D82 for ; Fri, 10 Jul 2020 14:33:51 +0000 (UTC) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=redhat.com; s=mimecast20190719; t=1594391657; h=from:from:sender:sender:reply-to:subject:subject:date:date: message-id:message-id:to:to:cc:mime-version:mime-version: content-type:content-type: content-transfer-encoding:content-transfer-encoding: in-reply-to:in-reply-to:references:references:list-id:list-help: list-unsubscribe:list-subscribe:list-post; bh=nOXEuNmHj+L1YXuy9pA0fL4qqTFjsftBiyIq7LEFPh8=; b=ZfUrNafkFABQ/IKeZfVxFq44sh0YVxm06cqjEQI0fnQifirK2H8efZbPRr3Ym+FUzQv2EE RLMl7FSkdP2xF8j+7dIlUutXstBUaIcw0QRXtj+JHhDsk17cP9a2ujECcPlIq0ZbufFwtF wci64aG14i+eHjBt5FWWDPareOoWRz8= X-MC-Unique: paABp-_gOwGg94FskJoiLg-1 From: Peter Krempa To: libvir-list@redhat.com Subject: [PATCH 07/18] qemuDomainSecretHostdevDestroy: Don't clear secinfo alias Date: Fri, 10 Jul 2020 16:33:28 +0200 Message-Id: In-Reply-To: References: MIME-Version: 1.0 X-Scanned-By: MIMEDefang 2.79 on 10.5.11.14 X-loop: libvir-list@redhat.com 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: , Sender: libvir-list-bounces@redhat.com Errors-To: libvir-list-bounces@redhat.com X-Scanned-By: MIMEDefang 2.79 on 10.5.11.12 X-Mimecast-Spam-Score: 0 X-Mimecast-Originator: redhat.com Content-Transfer-Encoding: quoted-printable X-ZohoMail-DKIM: pass (identity @redhat.com) Content-Type: text/plain; charset="utf-8" We need the alias to deal with hot-unplug of the hostdev. Use qemuDomainSecretInfoDestroy which clears only the secrets and not the alias. The same function is used also for handling disk secrets. Signed-off-by: Peter Krempa Reviewed-by: J=C3=A1n Tomko --- src/qemu/qemu_domain.c | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/src/qemu/qemu_domain.c b/src/qemu/qemu_domain.c index 248e259634..3141a94136 100644 --- a/src/qemu/qemu_domain.c +++ b/src/qemu/qemu_domain.c @@ -1216,8 +1216,8 @@ qemuDomainSecretHostdevDestroy(virDomainHostdevDefPtr= hostdev) if (scsisrc->protocol =3D=3D VIR_DOMAIN_HOSTDEV_SCSI_PROTOCOL_TYPE= _ISCSI) { srcPriv =3D QEMU_DOMAIN_STORAGE_SOURCE_PRIVATE(iscsisrc->src); - if (srcPriv && srcPriv->secinfo) - g_clear_pointer(&srcPriv->secinfo, qemuDomainSecretInfoFre= e); + if (srcPriv) + qemuDomainSecretInfoDestroy(srcPriv->secinfo); } } } --=20 2.26.2 From nobody Sun May 19 22:21:35 2024 Delivered-To: importer@patchew.org Received-SPF: pass (zohomail.com: domain of redhat.com designates 205.139.110.61 as permitted sender) client-ip=205.139.110.61; envelope-from=libvir-list-bounces@redhat.com; helo=us-smtp-delivery-1.mimecast.com; Authentication-Results: mx.zohomail.com; dkim=pass; spf=pass (zohomail.com: domain of redhat.com designates 205.139.110.61 as permitted sender) smtp.mailfrom=libvir-list-bounces@redhat.com; dmarc=pass(p=none dis=none) header.from=redhat.com ARC-Seal: i=1; a=rsa-sha256; t=1594391662; cv=none; d=zohomail.com; s=zohoarc; b=eoWrcUT1YigkEUeu1FdIAFfb7tbwHt+qij++5dXzNuRwIbDpCv+h8OEwcuIKMyE8/09O5Ajujhxx9/IEuiQBDwABiOiE5+lpFeq0/RRCjH6jU1Q+CZg74RhCuhoct5xJaArfpVD0yay8FoiaoFYSUbU2m4R9PuA4iGAEkDwkYtg= ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=zohomail.com; s=zohoarc; t=1594391662; h=Content-Type:Content-Transfer-Encoding:Date:From:In-Reply-To:List-Subscribe:List-Post:List-Id:List-Archive:List-Help:List-Unsubscribe:MIME-Version:Message-ID:References:Sender:Subject:To; bh=8sHspuyKAoFpfYi1Ekken9iSPzqXko5wufoHjuHFCC4=; b=l8QUYhDvbvRAH9Kja6dkyXFMdvqbnFzqS6cOkt3iZm3A6nnsLoYza0Gx5Iw2bMz5WMMIw8f8916V49mIOVMbIAkRiCn2IF7X7qMHE4CzhzsWX5bvSM2Ry7iUPC7aCRyzjHR/p9CFn1RkVPtDtUvWhIts6EkdYftGxXpjRitjt+g= ARC-Authentication-Results: i=1; mx.zohomail.com; dkim=pass; spf=pass (zohomail.com: domain of redhat.com designates 205.139.110.61 as permitted sender) smtp.mailfrom=libvir-list-bounces@redhat.com; dmarc=pass header.from= (p=none dis=none) header.from= Return-Path: Received: from us-smtp-delivery-1.mimecast.com (us-smtp-2.mimecast.com [205.139.110.61]) by mx.zohomail.com with SMTPS id 1594391662914245.34159948986587; Fri, 10 Jul 2020 07:34:22 -0700 (PDT) Received: from mimecast-mx01.redhat.com (mimecast-mx01.redhat.com [209.132.183.4]) (Using TLS) by relay.mimecast.com with ESMTP id us-mta-196-UNkbpBZPMQu_jKs0fPmA-Q-1; Fri, 10 Jul 2020 10:34:18 -0400 Received: from smtp.corp.redhat.com (int-mx08.intmail.prod.int.phx2.redhat.com [10.5.11.23]) (using TLSv1.2 with cipher AECDH-AES256-SHA (256/256 bits)) (No client certificate requested) by mimecast-mx01.redhat.com (Postfix) with ESMTPS id BA086102C7F7; Fri, 10 Jul 2020 14:34:08 +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 9713B1A7D9; Fri, 10 Jul 2020 14:34:08 +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 660E71809563; Fri, 10 Jul 2020 14:34:08 +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 06AEXr9s007044 for ; Fri, 10 Jul 2020 10:33:53 -0400 Received: by smtp.corp.redhat.com (Postfix) id 223817880F; Fri, 10 Jul 2020 14:33:53 +0000 (UTC) Received: from speedmetal.redhat.com (unknown [10.40.208.29]) by smtp.corp.redhat.com (Postfix) with ESMTP id 7FB6717D82 for ; Fri, 10 Jul 2020 14:33:52 +0000 (UTC) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=redhat.com; s=mimecast20190719; t=1594391661; h=from:from:sender:sender:reply-to:subject:subject:date:date: message-id:message-id:to:to:cc:mime-version:mime-version: content-type:content-type: content-transfer-encoding:content-transfer-encoding: in-reply-to:in-reply-to:references:references:list-id:list-help: list-unsubscribe:list-subscribe:list-post; bh=8sHspuyKAoFpfYi1Ekken9iSPzqXko5wufoHjuHFCC4=; b=XF0rktJR6STVbrp3Oggw2HGYidTyOiJUCyLTtXJLhhGo2Cl5s4uOalGSVnW7Haa9FRQfzI Uc1YVkG+IGqwL226SbGKzZ63wdU7FIfnG2scnZScPyxN0LyzRp9ilfeuijubsxkmoKlWcS JhUKpSzQ1diEfoOWoNRwX7u5GnPCI9o= X-MC-Unique: UNkbpBZPMQu_jKs0fPmA-Q-1 From: Peter Krempa To: libvir-list@redhat.com Subject: [PATCH 08/18] qemu: domain: Regenerate hostdev source private data Date: Fri, 10 Jul 2020 16:33:29 +0200 Message-Id: In-Reply-To: References: MIME-Version: 1.0 X-Scanned-By: MIMEDefang 2.79 on 10.5.11.14 X-loop: libvir-list@redhat.com 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: , Sender: libvir-list-bounces@redhat.com Errors-To: libvir-list-bounces@redhat.com X-Scanned-By: MIMEDefang 2.84 on 10.5.11.23 X-Mimecast-Spam-Score: 0 X-Mimecast-Originator: redhat.com Content-Transfer-Encoding: quoted-printable X-ZohoMail-DKIM: pass (identity @redhat.com) Content-Type: text/plain; charset="utf-8" When upgrading from a libvirt which didn't format private data of a virStorageSource representing an iSCSI hostdev source, we might need to generate some internal data so that the code still works as if it was present in the status XML. Signed-off-by: Peter Krempa Reviewed-by: J=C3=A1n Tomko --- src/qemu/qemu_domain.c | 54 ++++++++++++++++++- .../disk-secinfo-upgrade-in.xml | 20 +++++++ .../disk-secinfo-upgrade-out.xml | 30 +++++++++++ 3 files changed, 102 insertions(+), 2 deletions(-) diff --git a/src/qemu/qemu_domain.c b/src/qemu/qemu_domain.c index 3141a94136..41e4d5dd0b 100644 --- a/src/qemu/qemu_domain.c +++ b/src/qemu/qemu_domain.c @@ -5319,6 +5319,51 @@ qemuDomainVsockDefPostParse(virDomainVsockDefPtr vso= ck) } +/** + * qemuDomainDeviceHostdevDefPostParseRestoreSecAlias: + * + * Re-generate aliases for objects related to the storage source if they + * were not stored in the status XML by an older libvirt. + * + * Note that qemuCaps should be always present for a status XML. + */ +static int +qemuDomainDeviceHostdevDefPostParseRestoreSecAlias(virDomainHostdevDefPtr = hostdev, + virQEMUCapsPtr qemuCaps, + unsigned int parseFlags) +{ + qemuDomainStorageSourcePrivatePtr priv; + virDomainHostdevSubsysSCSIPtr scsisrc =3D &hostdev->source.subsys.u.sc= si; + virDomainHostdevSubsysSCSIiSCSIPtr iscsisrc =3D &scsisrc->u.iscsi; + g_autofree char *authalias =3D NULL; + + if (!(parseFlags & VIR_DOMAIN_DEF_PARSE_STATUS) || + !qemuCaps || + !virQEMUCapsGet(qemuCaps, QEMU_CAPS_OBJECT_SECRET)) + return 0; + + if (hostdev->mode !=3D VIR_DOMAIN_HOSTDEV_MODE_SUBSYS || + hostdev->source.subsys.type !=3D VIR_DOMAIN_HOSTDEV_SUBSYS_TYPE_SC= SI || + scsisrc->protocol !=3D VIR_DOMAIN_HOSTDEV_SCSI_PROTOCOL_TYPE_ISCSI= || + !virQEMUCapsGet(qemuCaps, QEMU_CAPS_ISCSI_PASSWORD_SECRET) || + !qemuDomainStorageSourceHasAuth(iscsisrc->src)) + return 0; + + if (!(priv =3D qemuDomainStorageSourcePrivateFetch(iscsisrc->src))) + return -1; + + if (priv->secinfo) + return 0; + + authalias =3D g_strdup_printf("%s-secret0", hostdev->info->alias); + + if (qemuStorageSourcePrivateDataAssignSecinfo(&priv->secinfo, &authali= as) < 0) + return -1; + + return 0; +} + + static int qemuDomainHostdevDefMdevPostParse(virDomainHostdevSubsysMediatedDevPtr mde= vsrc, virQEMUCapsPtr qemuCaps) @@ -5336,10 +5381,15 @@ qemuDomainHostdevDefMdevPostParse(virDomainHostdevS= ubsysMediatedDevPtr mdevsrc, static int qemuDomainHostdevDefPostParse(virDomainHostdevDefPtr hostdev, - virQEMUCapsPtr qemuCaps) + virQEMUCapsPtr qemuCaps, + unsigned int parseFlags) { virDomainHostdevSubsysPtr subsys =3D &hostdev->source.subsys; + if (qemuDomainDeviceHostdevDefPostParseRestoreSecAlias(hostdev, qemuCa= ps, + parseFlags) < 0) + return -1; + if (hostdev->mode =3D=3D VIR_DOMAIN_HOSTDEV_MODE_SUBSYS && hostdev->source.subsys.type =3D=3D VIR_DOMAIN_HOSTDEV_SUBSYS_TYPE_= MDEV && qemuDomainHostdevDefMdevPostParse(&subsys->u.mdev, qemuCaps) < 0) @@ -5414,7 +5464,7 @@ qemuDomainDeviceDefPostParse(virDomainDeviceDefPtr de= v, break; case VIR_DOMAIN_DEVICE_HOSTDEV: - ret =3D qemuDomainHostdevDefPostParse(dev->data.hostdev, qemuCaps); + ret =3D qemuDomainHostdevDefPostParse(dev->data.hostdev, qemuCaps,= parseFlags); break; case VIR_DOMAIN_DEVICE_TPM: diff --git a/tests/qemustatusxml2xmldata/disk-secinfo-upgrade-in.xml b/test= s/qemustatusxml2xmldata/disk-secinfo-upgrade-in.xml index ce55a70637..8023857ffe 100644 --- a/tests/qemustatusxml2xmldata/disk-secinfo-upgrade-in.xml +++ b/tests/qemustatusxml2xmldata/disk-secinfo-upgrade-in.xml @@ -491,6 +491,26 @@
+ + + + + + + + +
+ + + + + + + + + +
+
diff --git a/tests/qemustatusxml2xmldata/disk-secinfo-upgrade-out.xml b/tes= ts/qemustatusxml2xmldata/disk-secinfo-upgrade-out.xml index 5d3287606f..d5534fb0f5 100644 --- a/tests/qemustatusxml2xmldata/disk-secinfo-upgrade-out.xml +++ b/tests/qemustatusxml2xmldata/disk-secinfo-upgrade-out.xml @@ -513,6 +513,36 @@
+ + + + + + + + + + + + + +
+ + + + + + + + + + + + + + +
+
--=20 2.26.2 From nobody Sun May 19 22:21:35 2024 Delivered-To: importer@patchew.org Received-SPF: pass (zohomail.com: domain of redhat.com designates 205.139.110.61 as permitted sender) client-ip=205.139.110.61; envelope-from=libvir-list-bounces@redhat.com; helo=us-smtp-delivery-1.mimecast.com; Authentication-Results: mx.zohomail.com; dkim=pass; spf=pass (zohomail.com: domain of redhat.com designates 205.139.110.61 as permitted sender) smtp.mailfrom=libvir-list-bounces@redhat.com; dmarc=pass(p=none dis=none) header.from=redhat.com ARC-Seal: i=1; a=rsa-sha256; t=1594391707; cv=none; d=zohomail.com; s=zohoarc; b=jjQnSjYpCD44vE6fLHg8LRMpH8/9GXF3wBYkRFR1DtqE8slSM02DS8MHllrI0ZKv3n04rj9z/8kyxEpDtl4aO9ZuCzYr64bDnQHpsGOyt/B47NknGD+C4vmAIUYpbCObrwma7QYKsukrqXmXl/cT4YTnqTlz7J3X5BnZHhJB5bQ= ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=zohomail.com; s=zohoarc; t=1594391707; h=Content-Type:Content-Transfer-Encoding:Date:From:In-Reply-To:List-Subscribe:List-Post:List-Id:List-Archive:List-Help:List-Unsubscribe:MIME-Version:Message-ID:References:Sender:Subject:To; bh=q1Bf/aojESPUzCrQRP2cvITSR+qd414WGiLJQ7GTFyk=; b=f9k/Mhv4BTGJRGAxOi+iQtcabMtWpZMVbq5IjA8YTzSs+Oe1yxESuSPjB2C8fhU8yfPbo9+6jKO9qxUjEspUzb87jQtAhZ5vAU1cc3kb9dqzojtYEEbbuMtfWkSIewHmffbIaaMpnyEIomVkulCHOpuL6DVZJUF2cavuhIVgjfc= ARC-Authentication-Results: i=1; mx.zohomail.com; dkim=pass; spf=pass (zohomail.com: domain of redhat.com designates 205.139.110.61 as permitted sender) smtp.mailfrom=libvir-list-bounces@redhat.com; dmarc=pass header.from= (p=none dis=none) header.from= Return-Path: Received: from us-smtp-delivery-1.mimecast.com (us-smtp-2.mimecast.com [205.139.110.61]) by mx.zohomail.com with SMTPS id 1594391707261254.3866188187135; Fri, 10 Jul 2020 07:35:07 -0700 (PDT) Received: from mimecast-mx01.redhat.com (mimecast-mx01.redhat.com [209.132.183.4]) (Using TLS) by relay.mimecast.com with ESMTP id us-mta-56-j6jwLVZYMf2FRDj2MlNn4Q-1; Fri, 10 Jul 2020 10:34:23 -0400 Received: from smtp.corp.redhat.com (int-mx07.intmail.prod.int.phx2.redhat.com [10.5.11.22]) (using TLSv1.2 with cipher AECDH-AES256-SHA (256/256 bits)) (No client certificate requested) by mimecast-mx01.redhat.com (Postfix) with ESMTPS id 5CE30193248F; Fri, 10 Jul 2020 14:34:11 +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 310FC10016DA; Fri, 10 Jul 2020 14:34:11 +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 EFA5F1806B0B; Fri, 10 Jul 2020 14:34:10 +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 06AEXsik007056 for ; Fri, 10 Jul 2020 10:33:54 -0400 Received: by smtp.corp.redhat.com (Postfix) id 3705E7880F; Fri, 10 Jul 2020 14:33:54 +0000 (UTC) Received: from speedmetal.redhat.com (unknown [10.40.208.29]) by smtp.corp.redhat.com (Postfix) with ESMTP id 8794717D82 for ; Fri, 10 Jul 2020 14:33:53 +0000 (UTC) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=redhat.com; s=mimecast20190719; t=1594391706; h=from:from:sender:sender:reply-to:subject:subject:date:date: message-id:message-id:to:to:cc:mime-version:mime-version: content-type:content-type: content-transfer-encoding:content-transfer-encoding: in-reply-to:in-reply-to:references:references:list-id:list-help: list-unsubscribe:list-subscribe:list-post; bh=q1Bf/aojESPUzCrQRP2cvITSR+qd414WGiLJQ7GTFyk=; b=bQP81eUG3IT+PicucBkHG2QqEn3cndr3jV/a0pvHYUwHdVmnq7ps+3UZP6BN29SW6V2BNQ gD4PlPud0HBh8owlhb8k0u9mnsboqeVfqkPz4Dw/ZNr/AebdiW8UGb2P2ueLjJc8lXUwbt g3bmDqyEQUTLCtewpltoebgXQ7rgETU= X-MC-Unique: j6jwLVZYMf2FRDj2MlNn4Q-1 From: Peter Krempa To: libvir-list@redhat.com Subject: [PATCH 09/18] qemu: hotplug: Don't regenerate iSCSI secret alias Date: Fri, 10 Jul 2020 16:33:30 +0200 Message-Id: <533df4e9487aefb1f642c8046dd390baf24589ac.1594391524.git.pkrempa@redhat.com> In-Reply-To: References: MIME-Version: 1.0 X-Scanned-By: MIMEDefang 2.79 on 10.5.11.14 X-loop: libvir-list@redhat.com 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: , Sender: libvir-list-bounces@redhat.com Errors-To: libvir-list-bounces@redhat.com X-Scanned-By: MIMEDefang 2.84 on 10.5.11.22 Authentication-Results: relay.mimecast.com; auth=pass smtp.auth=CUSA124A263 smtp.mailfrom=libvir-list-bounces@redhat.com X-Mimecast-Spam-Score: 0 X-Mimecast-Originator: redhat.com Content-Transfer-Encoding: quoted-printable X-ZohoMail-DKIM: pass (identity @redhat.com) Content-Type: text/plain; charset="utf-8" We now store the alias of the secrets in the status XML so there's no need to generate it again. Signed-off-by: Peter Krempa Reviewed-by: J=C3=A1n Tomko --- src/qemu/qemu_hotplug.c | 19 +++++++------------ 1 file changed, 7 insertions(+), 12 deletions(-) diff --git a/src/qemu/qemu_hotplug.c b/src/qemu/qemu_hotplug.c index e897c059dd..cbd4c88abe 100644 --- a/src/qemu/qemu_hotplug.c +++ b/src/qemu/qemu_hotplug.c @@ -4473,7 +4473,7 @@ qemuDomainRemoveHostDevice(virQEMUDriverPtr driver, size_t i; qemuDomainObjPrivatePtr priv =3D vm->privateData; g_autofree char *drivealias =3D NULL; - g_autofree char *objAlias =3D NULL; + const char *secretObjAlias =3D NULL; VIR_DEBUG("Removing host device %s from domain %p %s", hostdev->info->alias, vm, vm->def->name); @@ -4485,22 +4485,17 @@ qemuDomainRemoveHostDevice(virQEMUDriverPtr driver, if (!(drivealias =3D qemuAliasFromHostdev(hostdev))) return -1; - /* Look for the markers that the iSCSI hostdev was added with a - * secret object to manage the username/password. If present, let's - * attempt to remove the object as well. */ - if (scsisrc->protocol =3D=3D VIR_DOMAIN_HOSTDEV_SCSI_PROTOCOL_TYPE= _ISCSI && - virQEMUCapsGet(priv->qemuCaps, QEMU_CAPS_ISCSI_PASSWORD_SECRET= ) && - qemuDomainStorageSourceHasAuth(iscsisrc->src)) { - if (!(objAlias =3D qemuAliasForSecret(hostdev->info->alias, NU= LL))) - return -1; + if (scsisrc->protocol =3D=3D VIR_DOMAIN_HOSTDEV_SCSI_PROTOCOL_TYPE= _ISCSI) { + qemuDomainStorageSourcePrivatePtr srcPriv =3D QEMU_DOMAIN_STOR= AGE_SOURCE_PRIVATE(iscsisrc->src); + if (srcPriv && srcPriv->secinfo) + secretObjAlias =3D srcPriv->secinfo->s.aes.alias; } qemuDomainObjEnterMonitor(driver, vm); qemuMonitorDriveDel(priv->mon, drivealias); - /* If it fails, then so be it - it was a best shot */ - if (objAlias) - ignore_value(qemuMonitorDelObject(priv->mon, objAlias, false)); + if (secretObjAlias) + ignore_value(qemuMonitorDelObject(priv->mon, secretObjAlias, f= alse)); if (qemuDomainObjExitMonitor(driver, vm) < 0) return -1; --=20 2.26.2 From nobody Sun May 19 22:21:35 2024 Delivered-To: importer@patchew.org Received-SPF: pass (zohomail.com: domain of redhat.com designates 207.211.31.120 as permitted sender) client-ip=207.211.31.120; envelope-from=libvir-list-bounces@redhat.com; helo=us-smtp-1.mimecast.com; Authentication-Results: mx.zohomail.com; dkim=pass; spf=pass (zohomail.com: domain of redhat.com designates 207.211.31.120 as permitted sender) smtp.mailfrom=libvir-list-bounces@redhat.com; dmarc=pass(p=none dis=none) header.from=redhat.com ARC-Seal: i=1; a=rsa-sha256; t=1594391661; cv=none; d=zohomail.com; s=zohoarc; b=RC42XFViySA8J2UazGF2/aK86eYyYzevnaBZ3sys8feP4uJaPZL2r7gL/HGKtm/FcNGCCrzT0zpSM4t5j67EEw3Dwgz1pauTc0186JYdzGjJiwZIab+4cmk961Nipz4O7w3wVga1wm0LcdyFTfSgC9kG1WBUWnhjHIBdSfPV9/I= ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=zohomail.com; s=zohoarc; t=1594391661; h=Content-Type:Content-Transfer-Encoding:Date:From:In-Reply-To:List-Subscribe:List-Post:List-Id:List-Archive:List-Help:List-Unsubscribe:MIME-Version:Message-ID:References:Sender:Subject:To; bh=dlHkIgkQ/3FTZeVwxAwCZgeLl8AXeAVU8nV3eDmTGfQ=; b=YJvuVL/zWfEQg2JLiUxNoxdK8mz2W9gHO0Z+scawC2mU1psxWnjhCnav+DMGnziKWnHbPAfQqQR73iQPFDw25xxOmN7hI48q0yW4l9eq+hnxpiu8o/HOAQ91UEfQ1I+epXTXKwtk7AHIL5p1S8cCWRuH+ujP3p4qVb3Fhuk85Tk= ARC-Authentication-Results: i=1; mx.zohomail.com; dkim=pass; spf=pass (zohomail.com: domain of redhat.com designates 207.211.31.120 as permitted sender) smtp.mailfrom=libvir-list-bounces@redhat.com; dmarc=pass header.from= (p=none dis=none) header.from= Return-Path: Received: from us-smtp-1.mimecast.com (us-smtp-delivery-1.mimecast.com [207.211.31.120]) by mx.zohomail.com with SMTPS id 1594391661324550.9565784429624; Fri, 10 Jul 2020 07:34:21 -0700 (PDT) Received: from mimecast-mx01.redhat.com (mimecast-mx01.redhat.com [209.132.183.4]) (Using TLS) by relay.mimecast.com with ESMTP id us-mta-181-ae9DtBl7MseGUuSvpNBqtA-1; Fri, 10 Jul 2020 10:34:17 -0400 Received: from smtp.corp.redhat.com (int-mx05.intmail.prod.int.phx2.redhat.com [10.5.11.15]) (using TLSv1.2 with cipher AECDH-AES256-SHA (256/256 bits)) (No client certificate requested) by mimecast-mx01.redhat.com (Postfix) with ESMTPS id 60DC5108E; Fri, 10 Jul 2020 14:34:11 +0000 (UTC) Received: from colo-mx.corp.redhat.com (colo-mx02.intmail.prod.int.phx2.redhat.com [10.5.11.21]) by smtp.corp.redhat.com (Postfix) with ESMTPS id 423BB7EF9E; Fri, 10 Jul 2020 14:34:11 +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 0E0FB8436F; Fri, 10 Jul 2020 14:34:11 +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 06AEXtR9007063 for ; Fri, 10 Jul 2020 10:33:55 -0400 Received: by smtp.corp.redhat.com (Postfix) id 489DB7880F; Fri, 10 Jul 2020 14:33:55 +0000 (UTC) Received: from speedmetal.redhat.com (unknown [10.40.208.29]) by smtp.corp.redhat.com (Postfix) with ESMTP id A57AA17D82 for ; Fri, 10 Jul 2020 14:33:54 +0000 (UTC) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=redhat.com; s=mimecast20190719; t=1594391660; h=from:from:sender:sender:reply-to:subject:subject:date:date: message-id:message-id:to:to:cc:mime-version:mime-version: content-type:content-type: content-transfer-encoding:content-transfer-encoding: in-reply-to:in-reply-to:references:references:list-id:list-help: list-unsubscribe:list-subscribe:list-post; bh=dlHkIgkQ/3FTZeVwxAwCZgeLl8AXeAVU8nV3eDmTGfQ=; b=enhlIHKAve8zTWh57M5p+GdnoCgAw9CECXZnEVmh6J8FqQ1pngXkopRjEoGoBST+3i61Zj iDHIrVIZ5OJsonbPKL2bTlF9Jwh7lm/XIhB8QDqxuE0ulU2zLlI9d9l5R7HlINPPJTlFTR XthYi17cluee1948CiJGYl2VGFx9Ihw= X-MC-Unique: ae9DtBl7MseGUuSvpNBqtA-1 From: Peter Krempa To: libvir-list@redhat.com Subject: [PATCH 10/18] qemuBuildHostdevCommandLine: Extract (i)SCSI code Date: Fri, 10 Jul 2020 16:33:31 +0200 Message-Id: <4a169d07a0da2a1bd6b9d814c5494e599b4fd7fe.1594391524.git.pkrempa@redhat.com> In-Reply-To: References: MIME-Version: 1.0 X-Scanned-By: MIMEDefang 2.79 on 10.5.11.14 X-loop: libvir-list@redhat.com 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: , Sender: libvir-list-bounces@redhat.com Errors-To: libvir-list-bounces@redhat.com X-Scanned-By: MIMEDefang 2.79 on 10.5.11.15 X-Mimecast-Spam-Score: 0 X-Mimecast-Originator: redhat.com Content-Transfer-Encoding: quoted-printable X-ZohoMail-DKIM: pass (identity @redhat.com) Content-Type: text/plain; charset="utf-8" Move all (i)SCSI related code into a new function named 'qemuBuildHostdevSCSICommandLine'. Signed-off-by: Peter Krempa Reviewed-by: J=C3=A1n Tomko --- src/qemu/qemu_command.c | 61 +++++++++++++++++++++++++---------------- 1 file changed, 38 insertions(+), 23 deletions(-) diff --git a/src/qemu/qemu_command.c b/src/qemu/qemu_command.c index c41976b903..3d9479f863 100644 --- a/src/qemu/qemu_command.c +++ b/src/qemu/qemu_command.c @@ -5063,6 +5063,43 @@ qemuBuildHostdevMediatedDevStr(const virDomainDef *d= ef, return virBufferContentAndReset(&buf); } + +static int +qemuBuildHostdevSCSICommandLine(virCommandPtr cmd, + const virDomainDef *def, + virDomainHostdevDefPtr hostdev, + virQEMUCapsPtr qemuCaps) +{ + virDomainHostdevSubsysSCSIPtr scsisrc =3D &hostdev->source.subsys.u.sc= si; + g_autofree char *devstr =3D NULL; + g_autofree char *drvstr =3D NULL; + + if (scsisrc->protocol =3D=3D VIR_DOMAIN_HOSTDEV_SCSI_PROTOCOL_TYPE_ISC= SI) { + virDomainHostdevSubsysSCSIiSCSIPtr iscsisrc =3D + &scsisrc->u.iscsi; + qemuDomainStorageSourcePrivatePtr srcPriv =3D + QEMU_DOMAIN_STORAGE_SOURCE_PRIVATE(iscsisrc->src); + + if (qemuBuildDiskSecinfoCommandLine(cmd, srcPriv ? + srcPriv->secinfo : + NULL) < 0) + return -1; + } + + virCommandAddArg(cmd, "-drive"); + if (!(drvstr =3D qemuBuildSCSIHostdevDrvStr(hostdev, qemuCaps))) + return -1; + virCommandAddArg(cmd, drvstr); + + virCommandAddArg(cmd, "-device"); + if (!(devstr =3D qemuBuildSCSIHostdevDevStr(def, hostdev))) + return -1; + virCommandAddArg(cmd, devstr); + + return 0; +} + + static int qemuBuildHostdevCommandLine(virCommandPtr cmd, const virDomainDef *def, @@ -5074,10 +5111,8 @@ qemuBuildHostdevCommandLine(virCommandPtr cmd, for (i =3D 0; i < def->nhostdevs; i++) { virDomainHostdevDefPtr hostdev =3D def->hostdevs[i]; virDomainHostdevSubsysPtr subsys =3D &hostdev->source.subsys; - virDomainHostdevSubsysSCSIPtr scsisrc =3D &hostdev->source.subsys.= u.scsi; virDomainHostdevSubsysMediatedDevPtr mdevsrc =3D &subsys->u.mdev; g_autofree char *devstr =3D NULL; - g_autofree char *drvstr =3D NULL; g_autofree char *vhostfdName =3D NULL; unsigned int bootIndex =3D hostdev->info->bootIndex; int vhostfd =3D -1; @@ -5123,28 +5158,8 @@ qemuBuildHostdevCommandLine(virCommandPtr cmd, /* SCSI */ case VIR_DOMAIN_HOSTDEV_SUBSYS_TYPE_SCSI: - if (scsisrc->protocol =3D=3D VIR_DOMAIN_HOSTDEV_SCSI_PROTOCOL_= TYPE_ISCSI) { - virDomainHostdevSubsysSCSIiSCSIPtr iscsisrc =3D - &scsisrc->u.iscsi; - qemuDomainStorageSourcePrivatePtr srcPriv =3D - QEMU_DOMAIN_STORAGE_SOURCE_PRIVATE(iscsisrc->src); - - if (qemuBuildDiskSecinfoCommandLine(cmd, srcPriv ? - srcPriv->secinfo : - NULL) < 0) - return -1; - } - - virCommandAddArg(cmd, "-drive"); - if (!(drvstr =3D qemuBuildSCSIHostdevDrvStr(hostdev, qemuCaps)= )) + if (qemuBuildHostdevSCSICommandLine(cmd, def, hostdev, qemuCap= s) < 0) return -1; - virCommandAddArg(cmd, drvstr); - - virCommandAddArg(cmd, "-device"); - if (!(devstr =3D qemuBuildSCSIHostdevDevStr(def, hostdev))) - return -1; - virCommandAddArg(cmd, devstr); - break; /* SCSI_host */ --=20 2.26.2 From nobody Sun May 19 22:21:35 2024 Delivered-To: importer@patchew.org Received-SPF: pass (zohomail.com: domain of redhat.com designates 205.139.110.61 as permitted sender) client-ip=205.139.110.61; envelope-from=libvir-list-bounces@redhat.com; helo=us-smtp-delivery-1.mimecast.com; Authentication-Results: mx.zohomail.com; dkim=pass; spf=pass (zohomail.com: domain of redhat.com designates 205.139.110.61 as permitted sender) smtp.mailfrom=libvir-list-bounces@redhat.com; dmarc=pass(p=none dis=none) header.from=redhat.com ARC-Seal: i=1; a=rsa-sha256; t=1594391670; cv=none; d=zohomail.com; s=zohoarc; b=oDOHvQj0HQXBcjtRX3NXAZfIJFwFLXRQmhpUkhg5w27I1SLwqoi9/8WpwAc9hOvzlTTNMOBBn4wddAfThOLbR9h8nXxmlazKu2ZyrCb14x4XEBW9WDAuaBKyHFIfz7IsaNO/4RW2TKigbr4JA3x1aVR1cr8RJiqlblyioSrxUKU= ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=zohomail.com; s=zohoarc; t=1594391670; h=Content-Type:Content-Transfer-Encoding:Date:From:In-Reply-To:List-Subscribe:List-Post:List-Id:List-Archive:List-Help:List-Unsubscribe:MIME-Version:Message-ID:References:Sender:Subject:To; bh=E+yaSvbo4lX3RzUcBnh2L9yMwyOy2R59dGRfxz4r1lo=; b=F/yDJ7XYBxZD8xWjlZwaY1MKKt+JwXlAS7zM4ou8uVVs/Sk3eYO5D7cwkLrhJpam0MAZziT/TOeSgGWjmF8MNumhG0jaEiI4l6dxVTA5pTQavRFfJtKJ0zAsWpxUAL9fqDPpJVfXAMsp2Fy6MkqzCEFJnsgNXRmWDP07MmBcfKw= ARC-Authentication-Results: i=1; mx.zohomail.com; dkim=pass; spf=pass (zohomail.com: domain of redhat.com designates 205.139.110.61 as permitted sender) smtp.mailfrom=libvir-list-bounces@redhat.com; dmarc=pass header.from= (p=none dis=none) header.from= Return-Path: Received: from us-smtp-delivery-1.mimecast.com (us-smtp-2.mimecast.com [205.139.110.61]) by mx.zohomail.com with SMTPS id 1594391670781817.2543475794256; Fri, 10 Jul 2020 07:34:30 -0700 (PDT) Received: from mimecast-mx01.redhat.com (mimecast-mx01.redhat.com [209.132.183.4]) (Using TLS) by relay.mimecast.com with ESMTP id us-mta-434-6dy9AFLDP2WqBunmnxC7Sg-1; Fri, 10 Jul 2020 10:34:26 -0400 Received: from smtp.corp.redhat.com (int-mx06.intmail.prod.int.phx2.redhat.com [10.5.11.16]) (using TLSv1.2 with cipher AECDH-AES256-SHA (256/256 bits)) (No client certificate requested) by mimecast-mx01.redhat.com (Postfix) with ESMTPS id D129C102C812; Fri, 10 Jul 2020 14:34:13 +0000 (UTC) Received: from colo-mx.corp.redhat.com (colo-mx02.intmail.prod.int.phx2.redhat.com [10.5.11.21]) by smtp.corp.redhat.com (Postfix) with ESMTPS id AF61E5FC2E; Fri, 10 Jul 2020 14:34:13 +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 7ECF68436E; Fri, 10 Jul 2020 14:34:13 +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 06AEXuoC007084 for ; Fri, 10 Jul 2020 10:33:56 -0400 Received: by smtp.corp.redhat.com (Postfix) id 601EC17D82; Fri, 10 Jul 2020 14:33:56 +0000 (UTC) Received: from speedmetal.redhat.com (unknown [10.40.208.29]) by smtp.corp.redhat.com (Postfix) with ESMTP id AFBFB78A41 for ; Fri, 10 Jul 2020 14:33:55 +0000 (UTC) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=redhat.com; s=mimecast20190719; t=1594391669; h=from:from:sender:sender:reply-to:subject:subject:date:date: message-id:message-id:to:to:cc:mime-version:mime-version: content-type:content-type: content-transfer-encoding:content-transfer-encoding: in-reply-to:in-reply-to:references:references:list-id:list-help: list-unsubscribe:list-subscribe:list-post; bh=E+yaSvbo4lX3RzUcBnh2L9yMwyOy2R59dGRfxz4r1lo=; b=GUOPzKM8Wis/P2r7hlw9QNxC+BIHqce8pg9SoUQMF59PxeBFvA1xneT+mcuXSspVsPSX/W J30g+M/BhD7WwS0fHseiqK5DIMLVh5GTm6P3okZBb+uGodVLAdLce60wU6nmsG1mmB034X hnJMKaoknN6dLc1+mI30sNZ641cD2vo= X-MC-Unique: 6dy9AFLDP2WqBunmnxC7Sg-1 From: Peter Krempa To: libvir-list@redhat.com Subject: [PATCH 11/18] qemuBuildSCSIHostdevDevStr: Pass in backend alias Date: Fri, 10 Jul 2020 16:33:32 +0200 Message-Id: <015067cd046ea679914cfa36f8095f4dfbd6e4e5.1594391524.git.pkrempa@redhat.com> In-Reply-To: References: MIME-Version: 1.0 X-Scanned-By: MIMEDefang 2.79 on 10.5.11.14 X-loop: libvir-list@redhat.com 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: , Sender: libvir-list-bounces@redhat.com Errors-To: libvir-list-bounces@redhat.com X-Scanned-By: MIMEDefang 2.79 on 10.5.11.16 X-Mimecast-Spam-Score: 0 X-Mimecast-Originator: redhat.com Content-Transfer-Encoding: quoted-printable X-ZohoMail-DKIM: pass (identity @redhat.com) Content-Type: text/plain; charset="utf-8" Don't (re)generate the backend alias (alias of the -drive backend for now) internally but rather pass it in. Later on it will be replaced by the nodename when blockdev is used depending on the capabilities. Signed-off-by: Peter Krempa Reviewed-by: J=C3=A1n Tomko --- src/qemu/qemu_command.c | 14 ++++++++------ src/qemu/qemu_command.h | 4 +++- src/qemu/qemu_hotplug.c | 2 +- 3 files changed, 12 insertions(+), 8 deletions(-) diff --git a/src/qemu/qemu_command.c b/src/qemu/qemu_command.c index 3d9479f863..200decd6e0 100644 --- a/src/qemu/qemu_command.c +++ b/src/qemu/qemu_command.c @@ -4641,11 +4641,11 @@ qemuBuildSCSIHostdevDrvStr(virDomainHostdevDefPtr d= ev, char * qemuBuildSCSIHostdevDevStr(const virDomainDef *def, - virDomainHostdevDefPtr dev) + virDomainHostdevDefPtr dev, + const char *backendAlias) { g_auto(virBuffer) buf =3D VIR_BUFFER_INITIALIZER; int model =3D -1; - g_autofree char *driveAlias =3D NULL; const char *contAlias; model =3D qemuDomainFindSCSIControllerModel(def, dev->info); @@ -4687,9 +4687,7 @@ qemuBuildSCSIHostdevDevStr(const virDomainDef *def, dev->info->addr.drive.unit); } - if (!(driveAlias =3D qemuAliasFromHostdev(dev))) - return NULL; - virBufferAsprintf(&buf, ",drive=3D%s,id=3D%s", driveAlias, dev->info->= alias); + virBufferAsprintf(&buf, ",drive=3D%s,id=3D%s", backendAlias, dev->info= ->alias); if (dev->info->bootIndex) virBufferAsprintf(&buf, ",bootindex=3D%u", dev->info->bootIndex); @@ -5073,6 +5071,7 @@ qemuBuildHostdevSCSICommandLine(virCommandPtr cmd, virDomainHostdevSubsysSCSIPtr scsisrc =3D &hostdev->source.subsys.u.sc= si; g_autofree char *devstr =3D NULL; g_autofree char *drvstr =3D NULL; + g_autofree char *backendAlias =3D NULL; if (scsisrc->protocol =3D=3D VIR_DOMAIN_HOSTDEV_SCSI_PROTOCOL_TYPE_ISC= SI) { virDomainHostdevSubsysSCSIiSCSIPtr iscsisrc =3D @@ -5091,8 +5090,11 @@ qemuBuildHostdevSCSICommandLine(virCommandPtr cmd, return -1; virCommandAddArg(cmd, drvstr); + if (!(backendAlias =3D qemuAliasFromHostdev(hostdev))) + return -1; + virCommandAddArg(cmd, "-device"); - if (!(devstr =3D qemuBuildSCSIHostdevDevStr(def, hostdev))) + if (!(devstr =3D qemuBuildSCSIHostdevDevStr(def, hostdev, backendAlias= ))) return -1; virCommandAddArg(cmd, devstr); diff --git a/src/qemu/qemu_command.h b/src/qemu/qemu_command.h index 55bc67072a..d0de27d9b0 100644 --- a/src/qemu/qemu_command.h +++ b/src/qemu/qemu_command.h @@ -179,7 +179,9 @@ char *qemuBuildSCSIHostdevDrvStr(virDomainHostdevDefPtr= dev, virQEMUCapsPtr qemuCaps); char *qemuBuildSCSIHostdevDevStr(const virDomainDef *def, - virDomainHostdevDefPtr dev); + virDomainHostdevDefPtr dev, + const char *backendAlias); + char * qemuBuildSCSIVHostHostdevDevStr(const virDomainDef *def, virDomainHostdevDefPtr dev, diff --git a/src/qemu/qemu_hotplug.c b/src/qemu/qemu_hotplug.c index cbd4c88abe..fbbd6a533c 100644 --- a/src/qemu/qemu_hotplug.c +++ b/src/qemu/qemu_hotplug.c @@ -2629,7 +2629,7 @@ qemuDomainAttachHostSCSIDevice(virQEMUDriverPtr drive= r, if (!(drivealias =3D qemuAliasFromHostdev(hostdev))) goto cleanup; - if (!(devstr =3D qemuBuildSCSIHostdevDevStr(vm->def, hostdev))) + if (!(devstr =3D qemuBuildSCSIHostdevDevStr(vm->def, hostdev, driveali= as))) goto cleanup; if (VIR_REALLOC_N(vm->def->hostdevs, vm->def->nhostdevs + 1) < 0) --=20 2.26.2 From nobody Sun May 19 22:21:35 2024 Delivered-To: importer@patchew.org Received-SPF: pass (zohomail.com: domain of redhat.com designates 207.211.31.120 as permitted sender) client-ip=207.211.31.120; envelope-from=libvir-list-bounces@redhat.com; helo=us-smtp-1.mimecast.com; Authentication-Results: mx.zohomail.com; dkim=pass; spf=pass (zohomail.com: domain of redhat.com designates 207.211.31.120 as permitted sender) smtp.mailfrom=libvir-list-bounces@redhat.com; dmarc=pass(p=none dis=none) header.from=redhat.com ARC-Seal: i=1; a=rsa-sha256; t=1594391663; cv=none; d=zohomail.com; s=zohoarc; b=ZHFXI48XRcDzUOfj50lEyL/mC2CCZGJXrjTKFqDCvouhe3KVaHS9+eeoYZGX/Icbh1E0NszG9sJfkxZDjI+0bO44JKZo5Lw43WnNZkvSvmuNiDxRGj/ev+4gcJZi7aNgRT0spYjirP+xL2HhvQfolP4/6FdkhsOEj7I0BteBphg= ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=zohomail.com; s=zohoarc; t=1594391663; h=Content-Type:Content-Transfer-Encoding:Date:From:In-Reply-To:List-Subscribe:List-Post:List-Id:List-Archive:List-Help:List-Unsubscribe:MIME-Version:Message-ID:References:Sender:Subject:To; bh=o6Q+QCnrkx4wWoqHPxCEp3z7/QjEM9zpe58RzbTbhgs=; b=PgtxkNpdgJhU5cPuwiAieen7txesM8chQr8guCvBtJllFAdBPTG/qFVkeZEH34H1xEgPz0mpPe49PNveVD+a4ru+n1uCoKiSVd0v79Ya4s4q/+tnP8v1J6O0p8C50Ilww/tb0JUeg0WX//n8mC/2di8md1cZEdPCq7u2W9knKWA= ARC-Authentication-Results: i=1; mx.zohomail.com; dkim=pass; spf=pass (zohomail.com: domain of redhat.com designates 207.211.31.120 as permitted sender) smtp.mailfrom=libvir-list-bounces@redhat.com; dmarc=pass header.from= (p=none dis=none) header.from= Return-Path: Received: from us-smtp-1.mimecast.com (us-smtp-delivery-1.mimecast.com [207.211.31.120]) by mx.zohomail.com with SMTPS id 1594391663218170.90190089465102; Fri, 10 Jul 2020 07:34:23 -0700 (PDT) Received: from mimecast-mx01.redhat.com (mimecast-mx01.redhat.com [209.132.183.4]) (Using TLS) by relay.mimecast.com with ESMTP id us-mta-319-sdoVpABEO_uJo3tf0Z1mUg-1; Fri, 10 Jul 2020 10:34:19 -0400 Received: from smtp.corp.redhat.com (int-mx06.intmail.prod.int.phx2.redhat.com [10.5.11.16]) (using TLSv1.2 with cipher AECDH-AES256-SHA (256/256 bits)) (No client certificate requested) by mimecast-mx01.redhat.com (Postfix) with ESMTPS id 530DA8014D7; Fri, 10 Jul 2020 14:34:10 +0000 (UTC) Received: from colo-mx.corp.redhat.com (colo-mx02.intmail.prod.int.phx2.redhat.com [10.5.11.21]) by smtp.corp.redhat.com (Postfix) with ESMTPS id 36B875FC30; Fri, 10 Jul 2020 14:34:10 +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 071D68436D; Fri, 10 Jul 2020 14:34:10 +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 06AEXvJu007103 for ; Fri, 10 Jul 2020 10:33:57 -0400 Received: by smtp.corp.redhat.com (Postfix) id 6F1147880F; Fri, 10 Jul 2020 14:33:57 +0000 (UTC) Received: from speedmetal.redhat.com (unknown [10.40.208.29]) by smtp.corp.redhat.com (Postfix) with ESMTP id CE76F17D82 for ; Fri, 10 Jul 2020 14:33:56 +0000 (UTC) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=redhat.com; s=mimecast20190719; t=1594391662; h=from:from:sender:sender:reply-to:subject:subject:date:date: message-id:message-id:to:to:cc:mime-version:mime-version: content-type:content-type: content-transfer-encoding:content-transfer-encoding: in-reply-to:in-reply-to:references:references:list-id:list-help: list-unsubscribe:list-subscribe:list-post; bh=o6Q+QCnrkx4wWoqHPxCEp3z7/QjEM9zpe58RzbTbhgs=; b=fum9eXkLQT3PNxpYnR3+ywhIFMSPlNQpTVeDmurjHfd+NZQxVnTyp6X0btv9hh7MC/0SBL r+6A623fKig9mOR2BGKXcII98ZTsC0rFM6bKKclpLQ4onGCjbg1QDxwTHeSX2Q+mokpPhR 6YiwSjw0p2A0qfbDXat+pnmj4ceBdB8= X-MC-Unique: sdoVpABEO_uJo3tf0Z1mUg-1 From: Peter Krempa To: libvir-list@redhat.com Subject: [PATCH 12/18] qemu: capabilities: Add QEMU_CAPS_BLOCKDEV_HOSTDEV_SCSI Date: Fri, 10 Jul 2020 16:33:33 +0200 Message-Id: <330087a30f5c5c9df72eade225deb0a83593dca0.1594391524.git.pkrempa@redhat.com> In-Reply-To: References: MIME-Version: 1.0 X-Scanned-By: MIMEDefang 2.79 on 10.5.11.14 X-loop: libvir-list@redhat.com 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: , Sender: libvir-list-bounces@redhat.com Errors-To: libvir-list-bounces@redhat.com X-Scanned-By: MIMEDefang 2.79 on 10.5.11.16 X-Mimecast-Spam-Score: 0 X-Mimecast-Originator: redhat.com Content-Transfer-Encoding: quoted-printable X-ZohoMail-DKIM: pass (identity @redhat.com) Content-Type: text/plain; charset="utf-8" We want to instantiate hostdevs via -blockdev too. Add a separate capability for them for a clean transition. The new capability will be enabled when QEMU_CAPS_BLOCKDEV is present once all code is prepared. Signed-off-by: Peter Krempa Reviewed-by: J=C3=A1n Tomko --- src/qemu/qemu_capabilities.c | 1 + src/qemu/qemu_capabilities.h | 1 + 2 files changed, 2 insertions(+) diff --git a/src/qemu/qemu_capabilities.c b/src/qemu/qemu_capabilities.c index b27a5e5c81..cc54ad9283 100644 --- a/src/qemu/qemu_capabilities.c +++ b/src/qemu/qemu_capabilities.c @@ -596,6 +596,7 @@ VIR_ENUM_IMPL(virQEMUCaps, "intel-iommu.aw-bits", "spapr-tpm-proxy", "numa.hmat", + "blockdev-hostdev-scsi" ); diff --git a/src/qemu/qemu_capabilities.h b/src/qemu/qemu_capabilities.h index dac36b33d9..5d08941538 100644 --- a/src/qemu/qemu_capabilities.h +++ b/src/qemu/qemu_capabilities.h @@ -576,6 +576,7 @@ typedef enum { /* virQEMUCapsFlags grouping marker for = syntax-check */ QEMU_CAPS_INTEL_IOMMU_AW_BITS, /* intel-iommu.aw-bits */ QEMU_CAPS_DEVICE_SPAPR_TPM_PROXY, /* -device spapr-tpm-proxy */ QEMU_CAPS_NUMA_HMAT, /* -numa hmat */ + QEMU_CAPS_BLOCKDEV_HOSTDEV_SCSI, /* -blockdev used for (i)SCSI hostdev= s */ QEMU_CAPS_LAST /* this must always be the last item */ } virQEMUCapsFlags; --=20 2.26.2 From nobody Sun May 19 22:21:35 2024 Delivered-To: importer@patchew.org Received-SPF: pass (zohomail.com: domain of redhat.com designates 207.211.31.81 as permitted sender) client-ip=207.211.31.81; envelope-from=libvir-list-bounces@redhat.com; helo=us-smtp-delivery-1.mimecast.com; Authentication-Results: mx.zohomail.com; dkim=pass; spf=pass (zohomail.com: domain of redhat.com designates 207.211.31.81 as permitted sender) smtp.mailfrom=libvir-list-bounces@redhat.com; dmarc=pass(p=none dis=none) header.from=redhat.com ARC-Seal: i=1; a=rsa-sha256; t=1594391704; cv=none; d=zohomail.com; s=zohoarc; b=P7z04R/93uU8M1+rIMbM/62RR9GqGhvftneQWhhWAS7xP5xSDUnrKbzMP/SBb+w836FwSFwb6WJSTrwRLF2UkMCM1MWCVO0mONPVr1YME/7oS2eR7rw4hyuASCpMPE1ZfqZlD2+cfuct2W18Jg17maqRUuIkOH1LpkKjM6hkCOE= ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=zohomail.com; s=zohoarc; t=1594391704; h=Content-Type:Content-Transfer-Encoding:Date:From:In-Reply-To:List-Subscribe:List-Post:List-Id:List-Archive:List-Help:List-Unsubscribe:MIME-Version:Message-ID:References:Sender:Subject:To; bh=goxVBR2gQOqnfyU3NUuVwTHCruM7DeE/mjCi2M006yk=; b=bNSxF4jt9slA7fqQy0umYQfdcOA54OlVw0IcZ8wFTCNsXDFzK/99FtmpaiiIF7gddNpbgXDLxwXWHXwKJFgubHcx/V3d2gOspFGa3+WxA1I7+7wwSQjl1+zo9WAt7UqkOXupIuga5dwezDjoQhT2CdOprxhPp4k7Bm0E0b8SjtM= ARC-Authentication-Results: i=1; mx.zohomail.com; dkim=pass; spf=pass (zohomail.com: domain of redhat.com designates 207.211.31.81 as permitted sender) smtp.mailfrom=libvir-list-bounces@redhat.com; dmarc=pass header.from= (p=none dis=none) header.from= Return-Path: Received: from us-smtp-delivery-1.mimecast.com (us-smtp-2.mimecast.com [207.211.31.81]) by mx.zohomail.com with SMTPS id 159439170441695.89392318782723; Fri, 10 Jul 2020 07:35:04 -0700 (PDT) Received: from mimecast-mx01.redhat.com (mimecast-mx01.redhat.com [209.132.183.4]) (Using TLS) by relay.mimecast.com with ESMTP id us-mta-350-2rJ0naheOFKLqWZEiusC3g-1; Fri, 10 Jul 2020 10:34:20 -0400 Received: from smtp.corp.redhat.com (int-mx01.intmail.prod.int.phx2.redhat.com [10.5.11.11]) (using TLSv1.2 with cipher AECDH-AES256-SHA (256/256 bits)) (No client certificate requested) by mimecast-mx01.redhat.com (Postfix) with ESMTPS id BD75C1085; Fri, 10 Jul 2020 14:34:13 +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 9CA6A6FECF; Fri, 10 Jul 2020 14:34:13 +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 6B43C180530A; Fri, 10 Jul 2020 14:34:13 +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 06AEXwea007129 for ; Fri, 10 Jul 2020 10:33:58 -0400 Received: by smtp.corp.redhat.com (Postfix) id 829C078A3D; Fri, 10 Jul 2020 14:33:58 +0000 (UTC) Received: from speedmetal.redhat.com (unknown [10.40.208.29]) by smtp.corp.redhat.com (Postfix) with ESMTP id D419917D82 for ; Fri, 10 Jul 2020 14:33:57 +0000 (UTC) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=redhat.com; s=mimecast20190719; t=1594391703; h=from:from:sender:sender:reply-to:subject:subject:date:date: message-id:message-id:to:to:cc:mime-version:mime-version: content-type:content-type: content-transfer-encoding:content-transfer-encoding: in-reply-to:in-reply-to:references:references:list-id:list-help: list-unsubscribe:list-subscribe:list-post; bh=goxVBR2gQOqnfyU3NUuVwTHCruM7DeE/mjCi2M006yk=; b=DZ/PJofkA3BmKSOVB66MIA1K06bCbMZyQUjaaufiL1xeosWk2sr6SKQnJ2FdwbzlcRd2bU SJXRwT6Ib3FDR5xYPaNuYLI/JEnkSTXqEMRHdBnrD2EjDYmVc5FYKuQ6jnwPUh+zrQIzKm glAk+WVsT7HpLtpQfxH13FtM21xqC4Q= X-MC-Unique: 2rJ0naheOFKLqWZEiusC3g-1 From: Peter Krempa To: libvir-list@redhat.com Subject: [PATCH 13/18] qemu: command: Create qemuBlockStorageSourceAttachData for (i)SCSI hostdevs Date: Fri, 10 Jul 2020 16:33:34 +0200 Message-Id: <499faf295cb9de00052fdf0852b23c44a696fbfe.1594391524.git.pkrempa@redhat.com> In-Reply-To: References: MIME-Version: 1.0 X-Scanned-By: MIMEDefang 2.79 on 10.5.11.14 X-loop: libvir-list@redhat.com 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: , Sender: libvir-list-bounces@redhat.com Errors-To: libvir-list-bounces@redhat.com X-Scanned-By: MIMEDefang 2.79 on 10.5.11.11 X-Mimecast-Spam-Score: 0 X-Mimecast-Originator: redhat.com Content-Transfer-Encoding: quoted-printable X-ZohoMail-DKIM: pass (identity @redhat.com) Content-Type: text/plain; charset="utf-8" Add convertor for creating qemuBlockStorageSourceAttachData which will allow reusing the infrastructure which we have for attaching disks also for hostdevs. Signed-off-by: Peter Krempa Reviewed-by: J=C3=A1n Tomko --- src/qemu/qemu_command.c | 83 +++++++++++++++++++++++++++++++++++++++++ src/qemu/qemu_command.h | 8 ++++ 2 files changed, 91 insertions(+) diff --git a/src/qemu/qemu_command.c b/src/qemu/qemu_command.c index 200decd6e0..6b3b1b39ca 100644 --- a/src/qemu/qemu_command.c +++ b/src/qemu/qemu_command.c @@ -5062,6 +5062,89 @@ qemuBuildHostdevMediatedDevStr(const virDomainDef *d= ef, } +qemuBlockStorageSourceAttachData * +qemuBuildHostdevSCSIDetachPrepare(virDomainHostdevDefPtr hostdev, + virQEMUCapsPtr qemuCaps) +{ + virDomainHostdevSubsysSCSIPtr scsisrc =3D &hostdev->source.subsys.u.sc= si; + virDomainHostdevSubsysSCSIiSCSIPtr iscsisrc =3D &scsisrc->u.iscsi; + g_autoptr(qemuBlockStorageSourceAttachData) ret =3D g_new0(qemuBlockSt= orageSourceAttachData, 1); + + if (virQEMUCapsGet(qemuCaps, QEMU_CAPS_BLOCKDEV_HOSTDEV_SCSI)) { + if (scsisrc->protocol =3D=3D VIR_DOMAIN_HOSTDEV_SCSI_PROTOCOL_TYPE= _ISCSI) { + qemuDomainStorageSourcePrivatePtr srcpriv =3D QEMU_DOMAIN_STOR= AGE_SOURCE_PRIVATE(iscsisrc->src); + + ret->storageNodeName =3D iscsisrc->src->nodestorage; + + if (srcpriv && srcpriv->secinfo && + srcpriv->secinfo->type =3D=3D VIR_DOMAIN_SECRET_INFO_TYPE_= AES) + ret->authsecretAlias =3D g_strdup(srcpriv->secinfo->s.aes.= alias); + } else { + ret->storageNodeNameCopy =3D g_strdup_printf("libvirt-%s-backe= nd", hostdev->info->alias); + ret->storageNodeName =3D ret->storageNodeNameCopy; + } + + ret->storageAttached =3D true; + } else { + ret->driveAlias =3D qemuAliasFromHostdev(hostdev); + ret->driveAdded =3D true; + } + + return g_steal_pointer(&ret); +} + + +qemuBlockStorageSourceAttachData * +qemuBuildHostdevSCSIAttachPrepare(virDomainHostdevDefPtr hostdev, + const char **backendAlias, + virQEMUCapsPtr qemuCaps) +{ + virDomainHostdevSubsysSCSIPtr scsisrc =3D &hostdev->source.subsys.u.sc= si; + virDomainHostdevSubsysSCSIiSCSIPtr iscsisrc =3D &scsisrc->u.iscsi; + virStorageSourcePtr src; + g_autoptr(virStorageSource) localsrc =3D NULL; + g_autoptr(qemuBlockStorageSourceAttachData) ret =3D g_new0(qemuBlockSt= orageSourceAttachData, 1); + + if (virQEMUCapsGet(qemuCaps, QEMU_CAPS_BLOCKDEV_HOSTDEV_SCSI)) { + if (scsisrc->protocol =3D=3D VIR_DOMAIN_HOSTDEV_SCSI_PROTOCOL_TYPE= _ISCSI) { + src =3D iscsisrc->src; + } else { + g_autofree char *devstr =3D qemuBuildSCSIHostHostdevDrvStr(hos= tdev); + + if (!devstr) + return NULL; + + if (!(src =3D localsrc =3D virStorageSourceNew())) + return NULL; + + src->type =3D VIR_STORAGE_TYPE_BLOCK; + src->readonly =3D hostdev->readonly; + src->path =3D g_strdup_printf("/dev/%s", devstr); + } + + src->nodestorage =3D g_strdup_printf("libvirt-%s-backend", hostdev= ->info->alias); + ret->storageNodeNameCopy =3D g_strdup(src->nodestorage); + ret->storageNodeName =3D ret->storageNodeNameCopy; + *backendAlias =3D ret->storageNodeNameCopy; + + if (!(ret->storageProps =3D qemuBlockStorageSourceGetBackendProps(= src, + QE= MU_BLOCK_STORAGE_SOURCE_BACKEND_PROPS_SKIP_UNMAP))) + return NULL; + + } else { + ret->driveCmd =3D qemuBuildSCSIHostdevDrvStr(hostdev, qemuCaps); + ret->driveAlias =3D qemuAliasFromHostdev(hostdev); + *backendAlias =3D ret->driveAlias; + } + + if (scsisrc->protocol =3D=3D VIR_DOMAIN_HOSTDEV_SCSI_PROTOCOL_TYPE_ISC= SI && + qemuBuildStorageSourceAttachPrepareCommon(iscsisrc->src, ret, qemu= Caps) < 0) + return NULL; + + return g_steal_pointer(&ret); +} + + static int qemuBuildHostdevSCSICommandLine(virCommandPtr cmd, const virDomainDef *def, diff --git a/src/qemu/qemu_command.h b/src/qemu/qemu_command.h index d0de27d9b0..a43cdb2733 100644 --- a/src/qemu/qemu_command.h +++ b/src/qemu/qemu_command.h @@ -182,6 +182,14 @@ char *qemuBuildSCSIHostdevDevStr(const virDomainDef *d= ef, virDomainHostdevDefPtr dev, const char *backendAlias); +qemuBlockStorageSourceAttachData * +qemuBuildHostdevSCSIAttachPrepare(virDomainHostdevDefPtr hostdev, + const char **backendAlias, + virQEMUCapsPtr qemuCaps); +qemuBlockStorageSourceAttachData * +qemuBuildHostdevSCSIDetachPrepare(virDomainHostdevDefPtr hostdev, + virQEMUCapsPtr qemuCaps); + char * qemuBuildSCSIVHostHostdevDevStr(const virDomainDef *def, virDomainHostdevDefPtr dev, --=20 2.26.2 From nobody Sun May 19 22:21:35 2024 Delivered-To: importer@patchew.org Received-SPF: pass (zohomail.com: domain of redhat.com designates 207.211.31.81 as permitted sender) client-ip=207.211.31.81; envelope-from=libvir-list-bounces@redhat.com; helo=us-smtp-delivery-1.mimecast.com; Authentication-Results: mx.zohomail.com; dkim=pass; spf=pass (zohomail.com: domain of redhat.com designates 207.211.31.81 as permitted sender) smtp.mailfrom=libvir-list-bounces@redhat.com; dmarc=pass(p=none dis=none) header.from=redhat.com ARC-Seal: i=1; a=rsa-sha256; t=1594391669; cv=none; d=zohomail.com; s=zohoarc; b=IgkzIghP7/FUvlwj8aWZIUCKhLGLzPrran1Rk91kUIEURUZh2zxHf30cRMTm8hbGSZBhPZpNQQAZm80CLtfCqaPEKxQ2fjVC/67n56vUh0/jtI4UENiKXxqz3fP1cy890nIL2EIkJFt0v8wralx+/3nJWLJEgILjlci4oNN8Dlg= ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=zohomail.com; s=zohoarc; t=1594391669; h=Content-Type:Content-Transfer-Encoding:Date:From:In-Reply-To:List-Subscribe:List-Post:List-Id:List-Archive:List-Help:List-Unsubscribe:MIME-Version:Message-ID:References:Sender:Subject:To; bh=kehb8Vkt/3rVqfKJoqooREPzcgkViOya18zjosGaSqk=; b=XLCuIbHK8wqt97X4iDC6Jrg8xX0FHbS403FkPwzVdFT0hJuYTc7J/abMAoMz4TZSis8AzdKAfGJNS8o6gkIwYuY2gBm1Tne44WSG1shF8DIbkojtZxaPEGc7VPF1QT1gAvlyhbLjkmLhg25ECpK8U8ZLqqk/hVROa7j7IAnfAY4= ARC-Authentication-Results: i=1; mx.zohomail.com; dkim=pass; spf=pass (zohomail.com: domain of redhat.com designates 207.211.31.81 as permitted sender) smtp.mailfrom=libvir-list-bounces@redhat.com; dmarc=pass header.from= (p=none dis=none) header.from= Return-Path: Received: from us-smtp-delivery-1.mimecast.com (us-smtp-1.mimecast.com [207.211.31.81]) by mx.zohomail.com with SMTPS id 15943916698827.524027762978903; Fri, 10 Jul 2020 07:34:29 -0700 (PDT) Received: from mimecast-mx01.redhat.com (mimecast-mx01.redhat.com [209.132.183.4]) (Using TLS) by relay.mimecast.com with ESMTP id us-mta-147-kWgYwDtMNkOT2H_wh2qI5g-1; Fri, 10 Jul 2020 10:34:23 -0400 Received: from smtp.corp.redhat.com (int-mx08.intmail.prod.int.phx2.redhat.com [10.5.11.23]) (using TLSv1.2 with cipher AECDH-AES256-SHA (256/256 bits)) (No client certificate requested) by mimecast-mx01.redhat.com (Postfix) with ESMTPS id BE5DC102C7E9; Fri, 10 Jul 2020 14:34:12 +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 9B2A31A7D9; Fri, 10 Jul 2020 14:34:12 +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 6B5E2180CB27; Fri, 10 Jul 2020 14:34:12 +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 06AEXxP5007153 for ; Fri, 10 Jul 2020 10:33:59 -0400 Received: by smtp.corp.redhat.com (Postfix) id 92B0A17D82; Fri, 10 Jul 2020 14:33:59 +0000 (UTC) Received: from speedmetal.redhat.com (unknown [10.40.208.29]) by smtp.corp.redhat.com (Postfix) with ESMTP id EFF6678A41 for ; Fri, 10 Jul 2020 14:33:58 +0000 (UTC) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=redhat.com; s=mimecast20190719; t=1594391668; h=from:from:sender:sender:reply-to:subject:subject:date:date: message-id:message-id:to:to:cc:mime-version:mime-version: content-type:content-type: content-transfer-encoding:content-transfer-encoding: in-reply-to:in-reply-to:references:references:list-id:list-help: list-unsubscribe:list-subscribe:list-post; bh=kehb8Vkt/3rVqfKJoqooREPzcgkViOya18zjosGaSqk=; b=KZff9A1sWp/Oz7tSEHJvLoxzx4Q4vAmoMfKtdR8YTw/ZTMXr77BQ2C1iWBJv8YX8mEhd4l 7YVK2QaP4RHeluGV3IkDCkAk6jrbLLJ2cgJilhcOfO5Sqgt85JCcb5IbNmKwSFPtr/uvr/ tdXd9TodNCxWFwUEj50vLKgvwakpXcc= X-MC-Unique: kWgYwDtMNkOT2H_wh2qI5g-1 From: Peter Krempa To: libvir-list@redhat.com Subject: [PATCH 14/18] qemuBuildHostdevSCSICommandLine: Use new infrastructure Date: Fri, 10 Jul 2020 16:33:35 +0200 Message-Id: <2c7e0acd2db9bb25bbfd770d3db52f817d35202d.1594391524.git.pkrempa@redhat.com> In-Reply-To: References: MIME-Version: 1.0 X-Scanned-By: MIMEDefang 2.79 on 10.5.11.14 X-loop: libvir-list@redhat.com 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: , Sender: libvir-list-bounces@redhat.com Errors-To: libvir-list-bounces@redhat.com X-Scanned-By: MIMEDefang 2.84 on 10.5.11.23 X-Mimecast-Spam-Score: 0 X-Mimecast-Originator: redhat.com Content-Transfer-Encoding: quoted-printable X-ZohoMail-DKIM: pass (identity @redhat.com) Content-Type: text/plain; charset="utf-8" In preparation for instantiating (i)SCSI hostdevs via -blockdev, refactor qemuBuildHostdevSCSICommandLine to use the new infrastructure which will do it automatically. Signed-off-by: Peter Krempa Reviewed-by: J=C3=A1n Tomko --- src/qemu/qemu_command.c | 44 ++++------------------------------------- 1 file changed, 4 insertions(+), 40 deletions(-) diff --git a/src/qemu/qemu_command.c b/src/qemu/qemu_command.c index 6b3b1b39ca..7f624a031e 100644 --- a/src/qemu/qemu_command.c +++ b/src/qemu/qemu_command.c @@ -695,27 +695,6 @@ qemuBuildObjectSecretCommandLine(virCommandPtr cmd, } -/* qemuBuildDiskSecinfoCommandLine: - * @cmd: Pointer to the command string - * @secinfo: Pointer to a possible secinfo - * - * Add the secret object for the disks that will be using it to perform - * their authentication. - * - * Returns 0 on success, -1 w/ error on some sort of failure. - */ -static int -qemuBuildDiskSecinfoCommandLine(virCommandPtr cmd, - qemuDomainSecretInfoPtr secinfo) -{ - /* Not necessary for non AES secrets */ - if (!secinfo || secinfo->type !=3D VIR_DOMAIN_SECRET_INFO_TYPE_AES) - return 0; - - return qemuBuildObjectSecretCommandLine(cmd, secinfo); -} - - /* qemuBuildGeneralSecinfoURI: * @uri: Pointer to the URI structure to add to * @secinfo: Pointer to the secret info data (if present) @@ -5151,29 +5130,14 @@ qemuBuildHostdevSCSICommandLine(virCommandPtr cmd, virDomainHostdevDefPtr hostdev, virQEMUCapsPtr qemuCaps) { - virDomainHostdevSubsysSCSIPtr scsisrc =3D &hostdev->source.subsys.u.sc= si; + g_autoptr(qemuBlockStorageSourceAttachData) data =3D NULL; g_autofree char *devstr =3D NULL; - g_autofree char *drvstr =3D NULL; - g_autofree char *backendAlias =3D NULL; + const char *backendAlias =3D NULL; - if (scsisrc->protocol =3D=3D VIR_DOMAIN_HOSTDEV_SCSI_PROTOCOL_TYPE_ISC= SI) { - virDomainHostdevSubsysSCSIiSCSIPtr iscsisrc =3D - &scsisrc->u.iscsi; - qemuDomainStorageSourcePrivatePtr srcPriv =3D - QEMU_DOMAIN_STORAGE_SOURCE_PRIVATE(iscsisrc->src); - - if (qemuBuildDiskSecinfoCommandLine(cmd, srcPriv ? - srcPriv->secinfo : - NULL) < 0) - return -1; - } - - virCommandAddArg(cmd, "-drive"); - if (!(drvstr =3D qemuBuildSCSIHostdevDrvStr(hostdev, qemuCaps))) + if (!(data =3D qemuBuildHostdevSCSIAttachPrepare(hostdev, &backendAlia= s, qemuCaps))) return -1; - virCommandAddArg(cmd, drvstr); - if (!(backendAlias =3D qemuAliasFromHostdev(hostdev))) + if (qemuBuildBlockStorageSourceAttachDataCommandline(cmd, data) < 0) return -1; virCommandAddArg(cmd, "-device"); --=20 2.26.2 From nobody Sun May 19 22:21:35 2024 Delivered-To: importer@patchew.org Received-SPF: pass (zohomail.com: domain of redhat.com designates 207.211.31.81 as permitted sender) client-ip=207.211.31.81; envelope-from=libvir-list-bounces@redhat.com; helo=us-smtp-delivery-1.mimecast.com; Authentication-Results: mx.zohomail.com; dkim=pass; spf=pass (zohomail.com: domain of redhat.com designates 207.211.31.81 as permitted sender) smtp.mailfrom=libvir-list-bounces@redhat.com; dmarc=pass(p=none dis=none) header.from=redhat.com ARC-Seal: i=1; a=rsa-sha256; t=1594391715; cv=none; d=zohomail.com; s=zohoarc; b=kOORRjceOnBck/YvdmbKswUxLMGr+IZsLYdZGrhPhuOe6G2LH4gh4WY6od188PcK+RCLgccX1ysuJ1V4ooM3b70n3Rhv736C8beyJtTreZZMoKTieXzuv7j2M6cITXDAqCsfzwteFw7s1cQlB3PK+aU3kwoDTxKIJEcookAS6yc= ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=zohomail.com; s=zohoarc; t=1594391715; h=Content-Type:Content-Transfer-Encoding:Date:From:In-Reply-To:List-Subscribe:List-Post:List-Id:List-Archive:List-Help:List-Unsubscribe:MIME-Version:Message-ID:References:Sender:Subject:To; bh=Z6pzY4MnTvRDLsW2yzaK1nUdlM7FVHWpnfSh1ivSucI=; b=mq3KYnkQRYrzQKYuFxWF+yjLXtUYlTnDU0Ij31kazj+fGLLsORGBlLvkgsVA82C5+GqT4KtHC5U/CFsGEwYBMGJU7++8LESXGOP6zF2+yX7EznDRTEjEWfZOuBmmLPMYp7gH+CEL182Q5O6NJ2FD2q45LBwV/rm33phyOQydMio= ARC-Authentication-Results: i=1; mx.zohomail.com; dkim=pass; spf=pass (zohomail.com: domain of redhat.com designates 207.211.31.81 as permitted sender) smtp.mailfrom=libvir-list-bounces@redhat.com; dmarc=pass header.from= (p=none dis=none) header.from= Return-Path: Received: from us-smtp-delivery-1.mimecast.com (us-smtp-1.mimecast.com [207.211.31.81]) by mx.zohomail.com with SMTPS id 1594391715697347.3677458461601; Fri, 10 Jul 2020 07:35:15 -0700 (PDT) Received: from mimecast-mx01.redhat.com (mimecast-mx01.redhat.com [209.132.183.4]) (Using TLS) by relay.mimecast.com with ESMTP id us-mta-25-lHx2-GgPOEmVMlqTnkKAOw-1; Fri, 10 Jul 2020 10:34:33 -0400 Received: from smtp.corp.redhat.com (int-mx06.intmail.prod.int.phx2.redhat.com [10.5.11.16]) (using TLSv1.2 with cipher AECDH-AES256-SHA (256/256 bits)) (No client certificate requested) by mimecast-mx01.redhat.com (Postfix) with ESMTPS id 9536B80BCAF; Fri, 10 Jul 2020 14:34: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 774945C1D3; Fri, 10 Jul 2020 14:34: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 234A2180530C; Fri, 10 Jul 2020 14:34: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 06AEY3ui007216 for ; Fri, 10 Jul 2020 10:34:03 -0400 Received: by smtp.corp.redhat.com (Postfix) id 7FC4778A44; Fri, 10 Jul 2020 14:34:03 +0000 (UTC) Received: from speedmetal.redhat.com (unknown [10.40.208.29]) by smtp.corp.redhat.com (Postfix) with ESMTP id D827C78A41 for ; Fri, 10 Jul 2020 14:33:59 +0000 (UTC) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=redhat.com; s=mimecast20190719; t=1594391714; h=from:from:sender:sender:reply-to:subject:subject:date:date: message-id:message-id:to:to:cc:mime-version:mime-version: content-type:content-type: content-transfer-encoding:content-transfer-encoding: in-reply-to:in-reply-to:references:references:list-id:list-help: list-unsubscribe:list-subscribe:list-post; bh=Z6pzY4MnTvRDLsW2yzaK1nUdlM7FVHWpnfSh1ivSucI=; b=RzAicpcqQm0eMHAaUs6erx73qv0etGXXu4ia9QPtQ1q2wJj4vHSRBWmjBdzTQJYKZfj8Dn ixVEthnbbhtdqkfoi3hKSFlIHqRI5TuPrivG1ivJBrbPWfdagIh9GY2478iwk4ayxzslAm fsNqpmZ63uDS7AtBBjHCWqMqcjmSTY0= X-MC-Unique: lHx2-GgPOEmVMlqTnkKAOw-1 From: Peter Krempa To: libvir-list@redhat.com Subject: [PATCH 15/18] qemuDomainAttachHostSCSIDevice: Use new infrastructure Date: Fri, 10 Jul 2020 16:33:36 +0200 Message-Id: <1e7f061622b33bf49423b6e3b83934044da46b78.1594391524.git.pkrempa@redhat.com> In-Reply-To: References: MIME-Version: 1.0 X-Scanned-By: MIMEDefang 2.79 on 10.5.11.14 X-loop: libvir-list@redhat.com 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: , Sender: libvir-list-bounces@redhat.com Errors-To: libvir-list-bounces@redhat.com X-Scanned-By: MIMEDefang 2.79 on 10.5.11.16 Authentication-Results: relay.mimecast.com; auth=pass smtp.auth=CUSA124A263 smtp.mailfrom=libvir-list-bounces@redhat.com X-Mimecast-Spam-Score: 0 X-Mimecast-Originator: redhat.com Content-Transfer-Encoding: quoted-printable X-ZohoMail-DKIM: pass (identity @redhat.com) Content-Type: text/plain; charset="utf-8" Similarly to command line creation, use the blockdev helpers when hotplugging an (i)SCSI hostdev. Signed-off-by: Peter Krempa Reviewed-by: J=C3=A1n Tomko --- src/qemu/qemu_hotplug.c | 45 +++++++---------------------------------- 1 file changed, 7 insertions(+), 38 deletions(-) diff --git a/src/qemu/qemu_hotplug.c b/src/qemu/qemu_hotplug.c index fbbd6a533c..06b3b94ff2 100644 --- a/src/qemu/qemu_hotplug.c +++ b/src/qemu/qemu_hotplug.c @@ -2566,17 +2566,12 @@ qemuDomainAttachHostSCSIDevice(virQEMUDriverPtr dri= ver, int ret =3D -1; qemuDomainObjPrivatePtr priv =3D vm->privateData; virErrorPtr orig_err; + g_autoptr(qemuBlockStorageSourceAttachData) data =3D NULL; + const char *backendalias =3D NULL; g_autofree char *devstr =3D NULL; - g_autofree char *drvstr =3D NULL; - g_autofree char *drivealias =3D NULL; - g_autofree char *secobjAlias =3D NULL; bool teardowncgroup =3D false; bool teardownlabel =3D false; bool teardowndevice =3D false; - bool driveAdded =3D false; - virJSONValuePtr secobjProps =3D NULL; - virDomainHostdevSubsysSCSIPtr scsisrc =3D &hostdev->source.subsys.u.sc= si; - qemuDomainSecretInfoPtr secinfo =3D NULL; /* Let's make sure the disk has a controller defined and loaded before * trying to add it. The controller used by the disk must exist before= a @@ -2611,25 +2606,11 @@ qemuDomainAttachHostSCSIDevice(virQEMUDriverPtr dri= ver, if (qemuDomainSecretHostdevPrepare(priv, hostdev) < 0) goto cleanup; - if (scsisrc->protocol =3D=3D VIR_DOMAIN_HOSTDEV_SCSI_PROTOCOL_TYPE_ISC= SI) { - qemuDomainStorageSourcePrivatePtr srcPriv =3D - QEMU_DOMAIN_STORAGE_SOURCE_PRIVATE(scsisrc->u.iscsi.src); - if (srcPriv) - secinfo =3D srcPriv->secinfo; - } - - if (secinfo && secinfo->type =3D=3D VIR_DOMAIN_SECRET_INFO_TYPE_AES) { - if (qemuBuildSecretInfoProps(secinfo, &secobjProps) < 0) - goto cleanup; - } - - if (!(drvstr =3D qemuBuildSCSIHostdevDrvStr(hostdev, priv->qemuCaps))) - goto cleanup; - - if (!(drivealias =3D qemuAliasFromHostdev(hostdev))) + if (!(data =3D qemuBuildHostdevSCSIAttachPrepare(hostdev, &backendalia= s, + priv->qemuCaps))) goto cleanup; - if (!(devstr =3D qemuBuildSCSIHostdevDevStr(vm->def, hostdev, driveali= as))) + if (!(devstr =3D qemuBuildSCSIHostdevDevStr(vm->def, hostdev, backenda= lias))) goto cleanup; if (VIR_REALLOC_N(vm->def->hostdevs, vm->def->nhostdevs + 1) < 0) @@ -2637,14 +2618,9 @@ qemuDomainAttachHostSCSIDevice(virQEMUDriverPtr driv= er, qemuDomainObjEnterMonitor(driver, vm); - if (secobjProps && - qemuMonitorAddObject(priv->mon, &secobjProps, &secobjAlias) < 0) + if (qemuBlockStorageSourceAttachApply(priv->mon, data) < 0) goto exit_monitor; - if (qemuMonitorAddDrive(priv->mon, drvstr) < 0) - goto exit_monitor; - driveAdded =3D true; - if (qemuMonitorAddDevice(priv->mon, devstr) < 0) goto exit_monitor; @@ -2670,18 +2646,11 @@ qemuDomainAttachHostSCSIDevice(virQEMUDriverPtr dri= ver, VIR_WARN("Unable to remove host device from /dev"); } qemuDomainSecretHostdevDestroy(hostdev); - virJSONValueFree(secobjProps); return ret; exit_monitor: virErrorPreserveLast(&orig_err); - if (driveAdded && qemuMonitorDriveDel(priv->mon, drivealias) < 0) { - VIR_WARN("Unable to remove drive %s (%s) after failed " - "qemuMonitorAddDevice", - drvstr, devstr); - } - if (secobjAlias) - ignore_value(qemuMonitorDelObject(priv->mon, secobjAlias, false)); + qemuBlockStorageSourceAttachRollback(priv->mon, data); ignore_value(qemuDomainObjExitMonitor(driver, vm)); virErrorRestore(&orig_err); --=20 2.26.2 From nobody Sun May 19 22:21:35 2024 Delivered-To: importer@patchew.org Received-SPF: pass (zohomail.com: domain of redhat.com designates 205.139.110.61 as permitted sender) client-ip=205.139.110.61; envelope-from=libvir-list-bounces@redhat.com; helo=us-smtp-delivery-1.mimecast.com; Authentication-Results: mx.zohomail.com; dkim=pass; spf=pass (zohomail.com: domain of redhat.com designates 205.139.110.61 as permitted sender) smtp.mailfrom=libvir-list-bounces@redhat.com; dmarc=pass(p=none dis=none) header.from=redhat.com ARC-Seal: i=1; a=rsa-sha256; t=1594391704; cv=none; d=zohomail.com; s=zohoarc; b=lnwsv+7xbYVl/uoii5z1ehBZU4bF0Q+1CXCgTmdyNOY4jQ1kmD+UAKPWa1rfhLnTF9b/Iixayn1xBN9ylDmQDFrERYgXFtcQabb8fYrvLy4vHdMnOrzWQvTkolyNnr67TD911bxVIQidz2WaY4S3hafZJ3P5sr5XN0jKczB4NHs= ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=zohomail.com; s=zohoarc; t=1594391704; h=Content-Type:Content-Transfer-Encoding:Date:From:In-Reply-To:List-Subscribe:List-Post:List-Id:List-Archive:List-Help:List-Unsubscribe:MIME-Version:Message-ID:References:Sender:Subject:To; bh=Wx0/o3xMjKSFHXKmmFqtNMAiguggAzMUBuoXjZLeN7k=; b=cMDhDJL4/ntgAc2pQK+5v8D4WCgaMEBjUu7E8iElWl0aHdkWKdQmBcWU8B07N3NVjvOkwr9mga8hcWDFNJiGZvaw3P1AgEtsn5YcEMq9mTu9uc5sVHtzmkmU/19WOoVWH13SyMlU1rQSIuj2+5tcwZqC44k8ikns62CX8TsWW9Y= ARC-Authentication-Results: i=1; mx.zohomail.com; dkim=pass; spf=pass (zohomail.com: domain of redhat.com designates 205.139.110.61 as permitted sender) smtp.mailfrom=libvir-list-bounces@redhat.com; dmarc=pass header.from= (p=none dis=none) header.from= Return-Path: Received: from us-smtp-delivery-1.mimecast.com (us-smtp-2.mimecast.com [205.139.110.61]) by mx.zohomail.com with SMTPS id 1594391704033851.9596569821944; Fri, 10 Jul 2020 07:35:04 -0700 (PDT) Received: from mimecast-mx01.redhat.com (mimecast-mx01.redhat.com [209.132.183.4]) (Using TLS) by relay.mimecast.com with ESMTP id us-mta-413-f0Iq2CMJM3a6vURap_57Mg-1; Fri, 10 Jul 2020 10:34:22 -0400 Received: from smtp.corp.redhat.com (int-mx02.intmail.prod.int.phx2.redhat.com [10.5.11.12]) (using TLSv1.2 with cipher AECDH-AES256-SHA (256/256 bits)) (No client certificate requested) by mimecast-mx01.redhat.com (Postfix) with ESMTPS id 28FAE1086; Fri, 10 Jul 2020 14:34:15 +0000 (UTC) Received: from colo-mx.corp.redhat.com (colo-mx02.intmail.prod.int.phx2.redhat.com [10.5.11.21]) by smtp.corp.redhat.com (Postfix) with ESMTPS id 0614860C05; Fri, 10 Jul 2020 14:34:15 +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 CAC5084375; Fri, 10 Jul 2020 14:34:14 +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 06AEY7JD007231 for ; Fri, 10 Jul 2020 10:34:07 -0400 Received: by smtp.corp.redhat.com (Postfix) id AC63878A3D; Fri, 10 Jul 2020 14:34:07 +0000 (UTC) Received: from speedmetal.redhat.com (unknown [10.40.208.29]) by smtp.corp.redhat.com (Postfix) with ESMTP id 0E1E27880F for ; Fri, 10 Jul 2020 14:34:03 +0000 (UTC) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=redhat.com; s=mimecast20190719; t=1594391702; h=from:from:sender:sender:reply-to:subject:subject:date:date: message-id:message-id:to:to:cc:mime-version:mime-version: content-type:content-type: content-transfer-encoding:content-transfer-encoding: in-reply-to:in-reply-to:references:references:list-id:list-help: list-unsubscribe:list-subscribe:list-post; bh=Wx0/o3xMjKSFHXKmmFqtNMAiguggAzMUBuoXjZLeN7k=; b=EQrjWDbXTRhJRhurLgFc5bGdxorT8ApJCpmiVa3Fx/bOW8orFrWtVWcl72GnTNre563YeA DeIZswLmkZ4E+6NUGKf1B8+98gJrg8NgrR9+PlMzFa76VypbOXqfZCUIK1peusxTruOFZv 94GBM1D6kGqYvUjJTudpsyGAqYQ0SUM= X-MC-Unique: f0Iq2CMJM3a6vURap_57Mg-1 From: Peter Krempa To: libvir-list@redhat.com Subject: [PATCH 16/18] qemuDomainRemoveHostDevice: Use new infrastructure for (i)SCSI Date: Fri, 10 Jul 2020 16:33:37 +0200 Message-Id: In-Reply-To: References: MIME-Version: 1.0 X-Scanned-By: MIMEDefang 2.79 on 10.5.11.14 X-loop: libvir-list@redhat.com 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: , Sender: libvir-list-bounces@redhat.com Errors-To: libvir-list-bounces@redhat.com X-Scanned-By: MIMEDefang 2.79 on 10.5.11.12 X-Mimecast-Spam-Score: 0 X-Mimecast-Originator: redhat.com Content-Transfer-Encoding: quoted-printable X-ZohoMail-DKIM: pass (identity @redhat.com) Content-Type: text/plain; charset="utf-8" Similarly to previous commits, modify the hostdev detach code to use blockdev infrastructure to detach (i)SCSI hostdevs. Signed-off-by: Peter Krempa Reviewed-by: J=C3=A1n Tomko --- src/qemu/qemu_hotplug.c | 20 +++----------------- 1 file changed, 3 insertions(+), 17 deletions(-) diff --git a/src/qemu/qemu_hotplug.c b/src/qemu/qemu_hotplug.c index 06b3b94ff2..607f9fdc0f 100644 --- a/src/qemu/qemu_hotplug.c +++ b/src/qemu/qemu_hotplug.c @@ -4441,31 +4441,17 @@ qemuDomainRemoveHostDevice(virQEMUDriverPtr driver, virDomainNetDefPtr net =3D NULL; size_t i; qemuDomainObjPrivatePtr priv =3D vm->privateData; - g_autofree char *drivealias =3D NULL; - const char *secretObjAlias =3D NULL; VIR_DEBUG("Removing host device %s from domain %p %s", hostdev->info->alias, vm, vm->def->name); if (hostdev->source.subsys.type =3D=3D VIR_DOMAIN_HOSTDEV_SUBSYS_TYPE_= SCSI) { - virDomainHostdevSubsysSCSIPtr scsisrc =3D &hostdev->source.subsys.= u.scsi; - virDomainHostdevSubsysSCSIiSCSIPtr iscsisrc =3D &scsisrc->u.iscsi; + g_autoptr(qemuBlockStorageSourceAttachData) detachscsi =3D NULL; - if (!(drivealias =3D qemuAliasFromHostdev(hostdev))) - return -1; - - if (scsisrc->protocol =3D=3D VIR_DOMAIN_HOSTDEV_SCSI_PROTOCOL_TYPE= _ISCSI) { - qemuDomainStorageSourcePrivatePtr srcPriv =3D QEMU_DOMAIN_STOR= AGE_SOURCE_PRIVATE(iscsisrc->src); - if (srcPriv && srcPriv->secinfo) - secretObjAlias =3D srcPriv->secinfo->s.aes.alias; - } + detachscsi =3D qemuBuildHostdevSCSIDetachPrepare(hostdev, priv->qe= muCaps); qemuDomainObjEnterMonitor(driver, vm); - qemuMonitorDriveDel(priv->mon, drivealias); - - if (secretObjAlias) - ignore_value(qemuMonitorDelObject(priv->mon, secretObjAlias, f= alse)); - + qemuBlockStorageSourceAttachRollback(priv->mon, detachscsi); if (qemuDomainObjExitMonitor(driver, vm) < 0) return -1; } --=20 2.26.2 From nobody Sun May 19 22:21:35 2024 Delivered-To: importer@patchew.org Received-SPF: pass (zohomail.com: domain of redhat.com designates 205.139.110.61 as permitted sender) client-ip=205.139.110.61; envelope-from=libvir-list-bounces@redhat.com; helo=us-smtp-1.mimecast.com; Authentication-Results: mx.zohomail.com; dkim=pass; spf=pass (zohomail.com: domain of redhat.com designates 205.139.110.61 as permitted sender) smtp.mailfrom=libvir-list-bounces@redhat.com; dmarc=pass(p=none dis=none) header.from=redhat.com ARC-Seal: i=1; a=rsa-sha256; t=1594391710; cv=none; d=zohomail.com; s=zohoarc; b=C7vabuu6f/Qhx1H6jYc8hyDkg7yAEAyubfJ5jPk9J8qk6Gr9UJLZM8DWENVwI/akMD2dqqJo3rwtjovs1PQraRigZ5PCb7a2LcZ8qoijQg7Jh2B5QfRNRpu5X9aoL+q0pfuoKnorLZgKNJiHkGh6nsSkHJkE6dLkFV9141RHf8M= ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=zohomail.com; s=zohoarc; t=1594391710; h=Content-Type:Content-Transfer-Encoding:Date:From:In-Reply-To:List-Subscribe:List-Post:List-Id:List-Archive:List-Help:List-Unsubscribe:MIME-Version:Message-ID:References:Sender:Subject:To; bh=vaBAB/rfc4VX83QC4Z/j/frK99AsxyjZ3nTqaJdwejk=; b=mFSF8aDycFZyRB0r57ux8slGnr9QLsQQv7d1VusdDX4zAMLCpOq4ggfW7TX1CkUToM6EdRO+wqiWv7ZqEdzyOk/D9zrwVpOP+R+yTyVqNCN5pFxkUUgcyJ1OebFwXhOBJAztPBqjTPO63IN3AO5CVWKsIKlge+B2CmP4LvCcyfw= ARC-Authentication-Results: i=1; mx.zohomail.com; dkim=pass; spf=pass (zohomail.com: domain of redhat.com designates 205.139.110.61 as permitted sender) smtp.mailfrom=libvir-list-bounces@redhat.com; dmarc=pass header.from= (p=none dis=none) header.from= Return-Path: Received: from us-smtp-1.mimecast.com (us-smtp-1.mimecast.com [205.139.110.61]) by mx.zohomail.com with SMTPS id 1594391710523294.61157503665254; Fri, 10 Jul 2020 07:35:10 -0700 (PDT) Received: from mimecast-mx01.redhat.com (mimecast-mx01.redhat.com [209.132.183.4]) (Using TLS) by relay.mimecast.com with ESMTP id us-mta-507-cadBtvzLM3ymNSLYgJ4q2w-1; Fri, 10 Jul 2020 10:34:27 -0400 Received: from smtp.corp.redhat.com (int-mx08.intmail.prod.int.phx2.redhat.com [10.5.11.23]) (using TLSv1.2 with cipher AECDH-AES256-SHA (256/256 bits)) (No client certificate requested) by mimecast-mx01.redhat.com (Postfix) with ESMTPS id 2794E100A62B; Fri, 10 Jul 2020 14:34:19 +0000 (UTC) Received: from colo-mx.corp.redhat.com (colo-mx02.intmail.prod.int.phx2.redhat.com [10.5.11.21]) by smtp.corp.redhat.com (Postfix) with ESMTPS id F09461A836; Fri, 10 Jul 2020 14:34:18 +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 BD79484378; Fri, 10 Jul 2020 14:34:18 +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 06AEYAIJ007259 for ; Fri, 10 Jul 2020 10:34:10 -0400 Received: by smtp.corp.redhat.com (Postfix) id D0B0178A41; Fri, 10 Jul 2020 14:34:10 +0000 (UTC) Received: from speedmetal.redhat.com (unknown [10.40.208.29]) by smtp.corp.redhat.com (Postfix) with ESMTP id 278D278A51 for ; Fri, 10 Jul 2020 14:34:07 +0000 (UTC) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=redhat.com; s=mimecast20190719; t=1594391709; h=from:from:sender:sender:reply-to:subject:subject:date:date: message-id:message-id:to:to:cc:mime-version:mime-version: content-type:content-type: content-transfer-encoding:content-transfer-encoding: in-reply-to:in-reply-to:references:references:list-id:list-help: list-unsubscribe:list-subscribe:list-post; bh=vaBAB/rfc4VX83QC4Z/j/frK99AsxyjZ3nTqaJdwejk=; b=BCmV3RHqoNAHUqfer7acgJaJ1cqTxrOS11uBf2NxGqm737ah+PWSDqF986jS9VWUdPw9CR vaERDYBtMSJGqDyPGEkVAIoQvkZr7hIVzsJ1rdIjU4pyYEm+ryqVzz0gLz6RF5P7cRfH1q DtoJEpbthX3isowhIVN4neBLSd/JXls= X-MC-Unique: cadBtvzLM3ymNSLYgJ4q2w-1 From: Peter Krempa To: libvir-list@redhat.com Subject: [PATCH 17/18] qemu: caps: Enable QEMU_CAPS_BLOCKDEV_HOSTDEV_SCSI Date: Fri, 10 Jul 2020 16:33:38 +0200 Message-Id: In-Reply-To: References: MIME-Version: 1.0 X-Scanned-By: MIMEDefang 2.79 on 10.5.11.14 X-loop: libvir-list@redhat.com 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: , Sender: libvir-list-bounces@redhat.com Errors-To: libvir-list-bounces@redhat.com X-Scanned-By: MIMEDefang 2.84 on 10.5.11.23 X-Mimecast-Spam-Score: 0 X-Mimecast-Originator: redhat.com Content-Transfer-Encoding: quoted-printable X-ZohoMail-DKIM: pass (identity @redhat.com) Content-Type: text/plain; charset="utf-8" Enable it when regular QEMU_CAPS_BLOCKDEV is present. Signed-off-by: Peter Krempa Reviewed-by: J=C3=A1n Tomko --- src/qemu/qemu_capabilities.c | 3 ++ .../caps_4.2.0.aarch64.xml | 1 + .../qemucapabilitiesdata/caps_4.2.0.s390x.xml | 1 + .../caps_4.2.0.x86_64.xml | 1 + .../caps_5.0.0.aarch64.xml | 1 + .../qemucapabilitiesdata/caps_5.0.0.ppc64.xml | 1 + .../caps_5.0.0.riscv64.xml | 1 + .../caps_5.0.0.x86_64.xml | 1 + .../caps_5.1.0.x86_64.xml | 1 + .../hostdev-scsi-lsi.x86_64-latest.args | 52 +++++++++++-------- ...ostdev-scsi-virtio-scsi.x86_64-latest.args | 46 ++++++++-------- 11 files changed, 65 insertions(+), 44 deletions(-) diff --git a/src/qemu/qemu_capabilities.c b/src/qemu/qemu_capabilities.c index cc54ad9283..d6bfec9996 100644 --- a/src/qemu/qemu_capabilities.c +++ b/src/qemu/qemu_capabilities.c @@ -5124,6 +5124,9 @@ virQEMUCapsInitProcessCapsInterlock(virQEMUCapsPtr qe= muCaps) !virQEMUCapsGet(qemuCaps, QEMU_CAPS_USB_STORAGE_WERROR)) { virQEMUCapsClear(qemuCaps, QEMU_CAPS_STORAGE_WERROR); } + + if (virQEMUCapsGet(qemuCaps, QEMU_CAPS_BLOCKDEV)) + virQEMUCapsSet(qemuCaps, QEMU_CAPS_BLOCKDEV_HOSTDEV_SCSI); } diff --git a/tests/qemucapabilitiesdata/caps_4.2.0.aarch64.xml b/tests/qemu= capabilitiesdata/caps_4.2.0.aarch64.xml index 98cee36669..11a964ed39 100644 --- a/tests/qemucapabilitiesdata/caps_4.2.0.aarch64.xml +++ b/tests/qemucapabilitiesdata/caps_4.2.0.aarch64.xml @@ -188,6 +188,7 @@ + 4001050 0 61700242 diff --git a/tests/qemucapabilitiesdata/caps_4.2.0.s390x.xml b/tests/qemuca= pabilitiesdata/caps_4.2.0.s390x.xml index 0b174ffeec..76e2747b65 100644 --- a/tests/qemucapabilitiesdata/caps_4.2.0.s390x.xml +++ b/tests/qemucapabilitiesdata/caps_4.2.0.s390x.xml @@ -152,6 +152,7 @@ + 4002000 0 39100242 diff --git a/tests/qemucapabilitiesdata/caps_4.2.0.x86_64.xml b/tests/qemuc= apabilitiesdata/caps_4.2.0.x86_64.xml index 91ce30ba44..fd63a0ee02 100644 --- a/tests/qemucapabilitiesdata/caps_4.2.0.x86_64.xml +++ b/tests/qemucapabilitiesdata/caps_4.2.0.x86_64.xml @@ -235,6 +235,7 @@ + 4002000 0 43100242 diff --git a/tests/qemucapabilitiesdata/caps_5.0.0.aarch64.xml b/tests/qemu= capabilitiesdata/caps_5.0.0.aarch64.xml index 9446ddc22a..928af2a01c 100644 --- a/tests/qemucapabilitiesdata/caps_5.0.0.aarch64.xml +++ b/tests/qemucapabilitiesdata/caps_5.0.0.aarch64.xml @@ -198,6 +198,7 @@ + 5000000 0 61700241 diff --git a/tests/qemucapabilitiesdata/caps_5.0.0.ppc64.xml b/tests/qemuca= pabilitiesdata/caps_5.0.0.ppc64.xml index 8c371a045b..e8668a25a9 100644 --- a/tests/qemucapabilitiesdata/caps_5.0.0.ppc64.xml +++ b/tests/qemucapabilitiesdata/caps_5.0.0.ppc64.xml @@ -207,6 +207,7 @@ + 5000000 0 42900241 diff --git a/tests/qemucapabilitiesdata/caps_5.0.0.riscv64.xml b/tests/qemu= capabilitiesdata/caps_5.0.0.riscv64.xml index 15c9d54332..85a8a46dac 100644 --- a/tests/qemucapabilitiesdata/caps_5.0.0.riscv64.xml +++ b/tests/qemucapabilitiesdata/caps_5.0.0.riscv64.xml @@ -194,6 +194,7 @@ + 5000000 0 0 diff --git a/tests/qemucapabilitiesdata/caps_5.0.0.x86_64.xml b/tests/qemuc= apabilitiesdata/caps_5.0.0.x86_64.xml index dafca26b89..546b9b0422 100644 --- a/tests/qemucapabilitiesdata/caps_5.0.0.x86_64.xml +++ b/tests/qemucapabilitiesdata/caps_5.0.0.x86_64.xml @@ -242,6 +242,7 @@ + 5000000 0 43100241 diff --git a/tests/qemucapabilitiesdata/caps_5.1.0.x86_64.xml b/tests/qemuc= apabilitiesdata/caps_5.1.0.x86_64.xml index bd6e83ccaf..e05290fcfe 100644 --- a/tests/qemucapabilitiesdata/caps_5.1.0.x86_64.xml +++ b/tests/qemucapabilitiesdata/caps_5.1.0.x86_64.xml @@ -242,6 +242,7 @@ + 5000050 0 43100242 diff --git a/tests/qemuxml2argvdata/hostdev-scsi-lsi.x86_64-latest.args b/t= ests/qemuxml2argvdata/hostdev-scsi-lsi.x86_64-latest.args index 76a0708336..d4599f6002 100644 --- a/tests/qemuxml2argvdata/hostdev-scsi-lsi.x86_64-latest.args +++ b/tests/qemuxml2argvdata/hostdev-scsi-lsi.x86_64-latest.args @@ -34,34 +34,42 @@ file=3D/tmp/lib/domain--1-QEMUGuest2/master-key.aes \ -blockdev '{"node-name":"libvirt-1-format","read-only":false,"driver":"raw= ",\ "file":"libvirt-1-storage"}' \ -device ide-hd,bus=3Dide.0,unit=3D0,drive=3Dlibvirt-1-format,id=3Dide0-0-0= ,bootindex=3D1 \ --drive file=3D/dev/sg0,if=3Dnone,format=3Draw,id=3Ddrive-hostdev0 \ --device scsi-generic,bus=3Dscsi0.0,scsi-id=3D7,drive=3Ddrive-hostdev0,id= =3Dhostdev0 \ --drive file=3D/dev/sg0,if=3Dnone,format=3Draw,id=3Ddrive-hostdev1,readonly= =3Don \ --device scsi-generic,bus=3Dscsi0.0,scsi-id=3D6,drive=3Ddrive-hostdev1,id= =3Dhostdev1 \ --drive file.driver=3Discsi,file.portal=3Dexample.org:3260,\ -file.target=3Diqn.1992-01.com.example,file.lun=3D0,file.transport=3Dtcp,if= =3Dnone,\ -format=3Draw,id=3Ddrive-hostdev2 \ --device scsi-generic,bus=3Dscsi0.0,scsi-id=3D4,drive=3Ddrive-hostdev2,id= =3Dhostdev2 \ --drive file.driver=3Discsi,file.portal=3Dexample.org:3260,\ -file.target=3Diqn.1992-01.com.example,file.lun=3D1,file.transport=3Dtcp,if= =3Dnone,\ -format=3Draw,id=3Ddrive-hostdev3 \ --device scsi-generic,bus=3Dscsi0.0,scsi-id=3D5,drive=3Ddrive-hostdev3,id= =3Dhostdev3 \ +-blockdev '{"driver":"host_device","filename":"/dev/sg0",\ +"node-name":"libvirt-hostdev0-backend","read-only":false}' \ +-device scsi-generic,bus=3Dscsi0.0,scsi-id=3D7,drive=3Dlibvirt-hostdev0-ba= ckend,\ +id=3Dhostdev0 \ +-blockdev '{"driver":"host_device","filename":"/dev/sg0",\ +"node-name":"libvirt-hostdev1-backend","read-only":true}' \ +-device scsi-generic,bus=3Dscsi0.0,scsi-id=3D6,drive=3Dlibvirt-hostdev1-ba= ckend,\ +id=3Dhostdev1 \ +-blockdev '{"driver":"iscsi","portal":"example.org:3260",\ +"target":"iqn.1992-01.com.example","lun":0,"transport":"tcp",\ +"node-name":"libvirt-hostdev2-backend","read-only":false}' \ +-device scsi-generic,bus=3Dscsi0.0,scsi-id=3D4,drive=3Dlibvirt-hostdev2-ba= ckend,\ +id=3Dhostdev2 \ +-blockdev '{"driver":"iscsi","portal":"example.org:3260",\ +"target":"iqn.1992-01.com.example","lun":1,"transport":"tcp",\ +"node-name":"libvirt-hostdev3-backend","read-only":false}' \ +-device scsi-generic,bus=3Dscsi0.0,scsi-id=3D5,drive=3Dlibvirt-hostdev3-ba= ckend,\ +id=3Dhostdev3 \ -object secret,id=3Dhostdev4-secret0,\ data=3D9eao5F8qtkGt+seB1HYivWIxbtwUu6MQtg1zpj/oDtUsPr1q8wBYM91uEHCn6j/1,\ keyid=3DmasterKey0,iv=3DAAECAwQFBgcICQoLDA0ODw=3D=3D,format=3Dbase64 \ --drive file.driver=3Discsi,file.portal=3Dexample.org:3260,\ -file.target=3Diqn.1992-01.com.example:storage,file.lun=3D1,file.transport= =3Dtcp,\ -file.user=3Dmyname,file.password-secret=3Dhostdev4-secret0,if=3Dnone,forma= t=3Draw,\ -id=3Ddrive-hostdev4 \ --device scsi-generic,bus=3Dscsi0.0,scsi-id=3D3,drive=3Ddrive-hostdev4,id= =3Dhostdev4 \ +-blockdev '{"driver":"iscsi","portal":"example.org:3260",\ +"target":"iqn.1992-01.com.example:storage","lun":1,"transport":"tcp",\ +"user":"myname","password-secret":"hostdev4-secret0",\ +"node-name":"libvirt-hostdev4-backend","read-only":false}' \ +-device scsi-generic,bus=3Dscsi0.0,scsi-id=3D3,drive=3Dlibvirt-hostdev4-ba= ckend,\ +id=3Dhostdev4 \ -object secret,id=3Dhostdev5-secret0,\ data=3D9eao5F8qtkGt+seB1HYivWIxbtwUu6MQtg1zpj/oDtUsPr1q8wBYM91uEHCn6j/1,\ keyid=3DmasterKey0,iv=3DAAECAwQFBgcICQoLDA0ODw=3D=3D,format=3Dbase64 \ --drive file.driver=3Discsi,file.portal=3Dexample.org:3260,\ -file.target=3Diqn.1992-01.com.example:storage,file.lun=3D2,file.transport= =3Dtcp,\ -file.user=3Dmyname,file.password-secret=3Dhostdev5-secret0,if=3Dnone,forma= t=3Draw,\ -id=3Ddrive-hostdev5 \ --device scsi-generic,bus=3Dscsi0.0,scsi-id=3D2,drive=3Ddrive-hostdev5,id= =3Dhostdev5 \ +-blockdev '{"driver":"iscsi","portal":"example.org:3260",\ +"target":"iqn.1992-01.com.example:storage","lun":2,"transport":"tcp",\ +"user":"myname","password-secret":"hostdev5-secret0",\ +"node-name":"libvirt-hostdev5-backend","read-only":false}' \ +-device scsi-generic,bus=3Dscsi0.0,scsi-id=3D2,drive=3Dlibvirt-hostdev5-ba= ckend,\ +id=3Dhostdev5 \ -device virtio-balloon-pci,id=3Dballoon0,bus=3Dpci.0,addr=3D0x3 \ -sandbox on,obsolete=3Ddeny,elevateprivileges=3Ddeny,spawn=3Ddeny,\ resourcecontrol=3Ddeny \ diff --git a/tests/qemuxml2argvdata/hostdev-scsi-virtio-scsi.x86_64-latest.= args b/tests/qemuxml2argvdata/hostdev-scsi-virtio-scsi.x86_64-latest.args index 99b0117447..72980d58b8 100644 --- a/tests/qemuxml2argvdata/hostdev-scsi-virtio-scsi.x86_64-latest.args +++ b/tests/qemuxml2argvdata/hostdev-scsi-virtio-scsi.x86_64-latest.args @@ -34,40 +34,42 @@ file=3D/tmp/lib/domain--1-QEMUGuest2/master-key.aes \ -blockdev '{"node-name":"libvirt-1-format","read-only":false,"driver":"raw= ",\ "file":"libvirt-1-storage"}' \ -device ide-hd,bus=3Dide.0,unit=3D0,drive=3Dlibvirt-1-format,id=3Dide0-0-0= ,bootindex=3D1 \ --drive file=3D/dev/sg0,if=3Dnone,format=3Draw,id=3Ddrive-hostdev0 \ +-blockdev '{"driver":"host_device","filename":"/dev/sg0",\ +"node-name":"libvirt-hostdev0-backend","read-only":false}' \ -device scsi-generic,bus=3Dscsi0.0,channel=3D0,scsi-id=3D4,lun=3D8,\ -drive=3Ddrive-hostdev0,id=3Dhostdev0 \ --drive file=3D/dev/sg0,if=3Dnone,format=3Draw,id=3Ddrive-hostdev1,readonly= =3Don \ +drive=3Dlibvirt-hostdev0-backend,id=3Dhostdev0 \ +-blockdev '{"driver":"host_device","filename":"/dev/sg0",\ +"node-name":"libvirt-hostdev1-backend","read-only":true}' \ -device scsi-generic,bus=3Dscsi0.0,channel=3D0,scsi-id=3D4,lun=3D7,\ -drive=3Ddrive-hostdev1,id=3Dhostdev1 \ --drive file.driver=3Discsi,file.portal=3Dexample.org:3260,\ -file.target=3Diqn.1992-01.com.example,file.lun=3D0,file.transport=3Dtcp,if= =3Dnone,\ -format=3Draw,id=3Ddrive-hostdev2 \ +drive=3Dlibvirt-hostdev1-backend,id=3Dhostdev1 \ +-blockdev '{"driver":"iscsi","portal":"example.org:3260",\ +"target":"iqn.1992-01.com.example","lun":0,"transport":"tcp",\ +"node-name":"libvirt-hostdev2-backend","read-only":false}' \ -device scsi-generic,bus=3Dscsi0.0,channel=3D0,scsi-id=3D2,lun=3D4,\ -drive=3Ddrive-hostdev2,id=3Dhostdev2 \ --drive file.driver=3Discsi,file.portal=3Dexample.org:3260,\ -file.target=3Diqn.1992-01.com.example,file.lun=3D1,file.transport=3Dtcp,if= =3Dnone,\ -format=3Draw,id=3Ddrive-hostdev3 \ +drive=3Dlibvirt-hostdev2-backend,id=3Dhostdev2 \ +-blockdev '{"driver":"iscsi","portal":"example.org:3260",\ +"target":"iqn.1992-01.com.example","lun":1,"transport":"tcp",\ +"node-name":"libvirt-hostdev3-backend","read-only":false}' \ -device scsi-generic,bus=3Dscsi0.0,channel=3D0,scsi-id=3D2,lun=3D5,\ -drive=3Ddrive-hostdev3,id=3Dhostdev3 \ +drive=3Dlibvirt-hostdev3-backend,id=3Dhostdev3 \ -object secret,id=3Dhostdev4-secret0,\ data=3D9eao5F8qtkGt+seB1HYivWIxbtwUu6MQtg1zpj/oDtUsPr1q8wBYM91uEHCn6j/1,\ keyid=3DmasterKey0,iv=3DAAECAwQFBgcICQoLDA0ODw=3D=3D,format=3Dbase64 \ --drive file.driver=3Discsi,file.portal=3Dexample.org:3260,\ -file.target=3Diqn.1992-01.com.example:storage,file.lun=3D1,file.transport= =3Dtcp,\ -file.user=3Dmyname,file.password-secret=3Dhostdev4-secret0,if=3Dnone,forma= t=3Draw,\ -id=3Ddrive-hostdev4 \ +-blockdev '{"driver":"iscsi","portal":"example.org:3260",\ +"target":"iqn.1992-01.com.example:storage","lun":1,"transport":"tcp",\ +"user":"myname","password-secret":"hostdev4-secret0",\ +"node-name":"libvirt-hostdev4-backend","read-only":false}' \ -device scsi-generic,bus=3Dscsi0.0,channel=3D0,scsi-id=3D3,lun=3D4,\ -drive=3Ddrive-hostdev4,id=3Dhostdev4 \ +drive=3Dlibvirt-hostdev4-backend,id=3Dhostdev4 \ -object secret,id=3Dhostdev5-secret0,\ data=3D9eao5F8qtkGt+seB1HYivWIxbtwUu6MQtg1zpj/oDtUsPr1q8wBYM91uEHCn6j/1,\ keyid=3DmasterKey0,iv=3DAAECAwQFBgcICQoLDA0ODw=3D=3D,format=3Dbase64 \ --drive file.driver=3Discsi,file.portal=3Dexample.org:3260,\ -file.target=3Diqn.1992-01.com.example:storage,file.lun=3D2,file.transport= =3Dtcp,\ -file.user=3Dmyname,file.password-secret=3Dhostdev5-secret0,if=3Dnone,forma= t=3Draw,\ -id=3Ddrive-hostdev5 \ +-blockdev '{"driver":"iscsi","portal":"example.org:3260",\ +"target":"iqn.1992-01.com.example:storage","lun":2,"transport":"tcp",\ +"user":"myname","password-secret":"hostdev5-secret0",\ +"node-name":"libvirt-hostdev5-backend","read-only":false}' \ -device scsi-generic,bus=3Dscsi0.0,channel=3D0,scsi-id=3D3,lun=3D5,\ -drive=3Ddrive-hostdev5,id=3Dhostdev5 \ +drive=3Dlibvirt-hostdev5-backend,id=3Dhostdev5 \ -device virtio-balloon-pci,id=3Dballoon0,bus=3Dpci.0,addr=3D0x3 \ -sandbox on,obsolete=3Ddeny,elevateprivileges=3Ddeny,spawn=3Ddeny,\ resourcecontrol=3Ddeny \ --=20 2.26.2 From nobody Sun May 19 22:21:35 2024 Delivered-To: importer@patchew.org Received-SPF: pass (zohomail.com: domain of redhat.com designates 207.211.31.120 as permitted sender) client-ip=207.211.31.120; envelope-from=libvir-list-bounces@redhat.com; helo=us-smtp-1.mimecast.com; Authentication-Results: mx.zohomail.com; dkim=pass; spf=pass (zohomail.com: domain of redhat.com designates 207.211.31.120 as permitted sender) smtp.mailfrom=libvir-list-bounces@redhat.com; dmarc=pass(p=none dis=none) header.from=redhat.com ARC-Seal: i=1; a=rsa-sha256; t=1594391710; cv=none; d=zohomail.com; s=zohoarc; b=n8KA55c1UCMpEfI/UR7r1I6d4qSfgrRxT7G5dZFzns2fMvGiiLPY2+ylqWuaq4UMFUM7RkuMJHvLDTQo215lB2TwdKxm4Ny/aE3hYxjiZrpx1pVrreHe3K3J63S2Ey9oUIIwj3N6Cvs3swc4QNnqpQWF5/OOjf63i5KgZnGpWME= ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=zohomail.com; s=zohoarc; t=1594391710; h=Content-Type:Content-Transfer-Encoding:Date:From:In-Reply-To:List-Subscribe:List-Post:List-Id:List-Archive:List-Help:List-Unsubscribe:MIME-Version:Message-ID:References:Sender:Subject:To; bh=3w38y1wg2OTQe6spZW+tzHSjMoFFHjpJUH4uPBKMAeM=; b=UvXUM/TJRBx81Al+AspuzDCbttpALvbedxfebz+bY5kOg5pGfkYPcZ56OKr7d17NWOiiRQetawqtC+/wtXezrvfFbzK+/0awkuJnli8t6J9QJH8Tyu1CygN8Z314pD22HfeTvi89jozs91SR2VuX9G6biOmddmRImPvfeDFPohY= ARC-Authentication-Results: i=1; mx.zohomail.com; dkim=pass; spf=pass (zohomail.com: domain of redhat.com designates 207.211.31.120 as permitted sender) smtp.mailfrom=libvir-list-bounces@redhat.com; dmarc=pass header.from= (p=none dis=none) header.from= Return-Path: Received: from us-smtp-1.mimecast.com (us-smtp-delivery-1.mimecast.com [207.211.31.120]) by mx.zohomail.com with SMTPS id 1594391710851667.8157175655731; Fri, 10 Jul 2020 07:35:10 -0700 (PDT) Received: from mimecast-mx01.redhat.com (mimecast-mx01.redhat.com [209.132.183.4]) (Using TLS) by relay.mimecast.com with ESMTP id us-mta-149-ZjCxagIHMlqrVoFM61rsJA-1; Fri, 10 Jul 2020 10:34:28 -0400 Received: from smtp.corp.redhat.com (int-mx08.intmail.prod.int.phx2.redhat.com [10.5.11.23]) (using TLSv1.2 with cipher AECDH-AES256-SHA (256/256 bits)) (No client certificate requested) by mimecast-mx01.redhat.com (Postfix) with ESMTPS id EC6C2193249A; Fri, 10 Jul 2020 14:34: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 C87D71A7D9; Fri, 10 Jul 2020 14:34: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 9812D180530F; Fri, 10 Jul 2020 14:34: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 06AEYBNA007267 for ; Fri, 10 Jul 2020 10:34:11 -0400 Received: by smtp.corp.redhat.com (Postfix) id E452678A3D; Fri, 10 Jul 2020 14:34:11 +0000 (UTC) Received: from speedmetal.redhat.com (unknown [10.40.208.29]) by smtp.corp.redhat.com (Postfix) with ESMTP id 3FE4478A41 for ; Fri, 10 Jul 2020 14:34:11 +0000 (UTC) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=redhat.com; s=mimecast20190719; t=1594391709; h=from:from:sender:sender:reply-to:subject:subject:date:date: message-id:message-id:to:to:cc:mime-version:mime-version: content-type:content-type: content-transfer-encoding:content-transfer-encoding: in-reply-to:in-reply-to:references:references:list-id:list-help: list-unsubscribe:list-subscribe:list-post; bh=3w38y1wg2OTQe6spZW+tzHSjMoFFHjpJUH4uPBKMAeM=; b=WJOZgK0eU8F65i8NP8JT8K3LCUj+kLj0Q/j4wxdFBrYv7TucCNP6J/qLZSVjJfnfYKEsDx RKtgyXlSWnqc+ATRZFZ3xKeMsW2YzE8o+WNu5sIqz3krtbdmvQs+zrDoP4zfYZ4VakxFCR +RpHlA7h9i2yjw/GVjbKRMLUb6/U9ow= X-MC-Unique: ZjCxagIHMlqrVoFM61rsJA-1 From: Peter Krempa To: libvir-list@redhat.com Subject: [PATCH 18/18] qemuBuildSCSIHostdevDrvStr: unexport Date: Fri, 10 Jul 2020 16:33:39 +0200 Message-Id: In-Reply-To: References: MIME-Version: 1.0 X-Scanned-By: MIMEDefang 2.79 on 10.5.11.14 X-loop: libvir-list@redhat.com 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: , Sender: libvir-list-bounces@redhat.com Errors-To: libvir-list-bounces@redhat.com X-Scanned-By: MIMEDefang 2.84 on 10.5.11.23 X-Mimecast-Spam-Score: 0 X-Mimecast-Originator: redhat.com Content-Transfer-Encoding: quoted-printable X-ZohoMail-DKIM: pass (identity @redhat.com) Content-Type: text/plain; charset="utf-8" The function is no longer called from other modules. Signed-off-by: Peter Krempa Reviewed-by: J=C3=A1n Tomko --- src/qemu/qemu_command.c | 2 +- src/qemu/qemu_command.h | 3 --- 2 files changed, 1 insertion(+), 4 deletions(-) diff --git a/src/qemu/qemu_command.c b/src/qemu/qemu_command.c index 7f624a031e..839c93bfb4 100644 --- a/src/qemu/qemu_command.c +++ b/src/qemu/qemu_command.c @@ -4589,7 +4589,7 @@ qemuBuildSCSIVHostHostdevDevStr(const virDomainDef *d= ef, return virBufferContentAndReset(&buf); } -char * +static char * qemuBuildSCSIHostdevDrvStr(virDomainHostdevDefPtr dev, virQEMUCapsPtr qemuCaps) { diff --git a/src/qemu/qemu_command.h b/src/qemu/qemu_command.h index a43cdb2733..b579817b44 100644 --- a/src/qemu/qemu_command.h +++ b/src/qemu/qemu_command.h @@ -175,9 +175,6 @@ char *qemuBuildUSBHostdevDevStr(const virDomainDef *def, virDomainHostdevDefPtr dev, virQEMUCapsPtr qemuCaps); -char *qemuBuildSCSIHostdevDrvStr(virDomainHostdevDefPtr dev, - virQEMUCapsPtr qemuCaps); - char *qemuBuildSCSIHostdevDevStr(const virDomainDef *def, virDomainHostdevDefPtr dev, const char *backendAlias); --=20 2.26.2