From nobody Fri Apr 19 18:18:35 2024 Delivered-To: importer@patchew.org Received-SPF: pass (zohomail.com: domain of redhat.com designates 170.10.133.124 as permitted sender) client-ip=170.10.133.124; envelope-from=libvir-list-bounces@redhat.com; helo=us-smtp-delivery-124.mimecast.com; Authentication-Results: mx.zohomail.com; dkim=pass; spf=pass (zohomail.com: domain of redhat.com designates 170.10.133.124 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=1633516172; cv=none; d=zohomail.com; s=zohoarc; b=TO1lyXGVuOi7mwl3E8rYmcQLkDIbcUeOeiWpmqgbNGSKMKf7GV8vU0EvPEFRU7p9h9ITgfnAy+etFP8gGwpWg28A8uwO2jA5L6m3ogz3EpjrTVfAOu/vUBOVCeYPKIoNwUkLN5/EDIukgpb4mGz33TYsDtaM5AfcXzqTAMjxWuQ= ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=zohomail.com; s=zohoarc; t=1633516172; 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=8RQGUXGq3LopPIWEeTrYiqT+DDO2Q8LKwFkNfbJsX/s=; b=VoTY0GBsQAmMtH9tgNgVv4hyIPoh/2cIZRd+8N7bFXDVvisTrmZX/pzJ4N6B6UUTj8xa9cKVCz8MuaiU1oVfPf3UqiCGBOLyihaBHmr3V7RhXmjhUViOaTQe3GVeZes6T4OPpBui4CoddTyCma1vWNgOhweWb7aF/HHeSQtAp0s= ARC-Authentication-Results: i=1; mx.zohomail.com; dkim=pass; spf=pass (zohomail.com: domain of redhat.com designates 170.10.133.124 as permitted sender) smtp.mailfrom=libvir-list-bounces@redhat.com; dmarc=pass header.from= (p=none dis=none) Return-Path: Received: from us-smtp-delivery-124.mimecast.com (us-smtp-delivery-124.mimecast.com [170.10.133.124]) by mx.zohomail.com with SMTPS id 163351617264117.520160078884373; Wed, 6 Oct 2021 03:29:32 -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-158-NX9twh2qOTqryEI_nEEdwg-1; Wed, 06 Oct 2021 06:29:29 -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 A93C5835DE2; Wed, 6 Oct 2021 10:29:24 +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 89C4960C05; Wed, 6 Oct 2021 10:29:24 +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 CA0B64E58F; Wed, 6 Oct 2021 10:29:23 +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 196AKSjL025050 for ; Wed, 6 Oct 2021 06:20:29 -0400 Received: by smtp.corp.redhat.com (Postfix) id F28845D9DD; Wed, 6 Oct 2021 10:20:28 +0000 (UTC) Received: from fedora.redhat.com (unknown [10.43.2.44]) by smtp.corp.redhat.com (Postfix) with ESMTP id 7C3EE5D9C6 for ; Wed, 6 Oct 2021 10:20:28 +0000 (UTC) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=redhat.com; s=mimecast20190719; t=1633516171; 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=8RQGUXGq3LopPIWEeTrYiqT+DDO2Q8LKwFkNfbJsX/s=; b=PvHxeLIDhqjHAcdS+Wvw9pgWrqPlkyx1+Q17z2j4OfpPe2K0wCxcw+Q42rv0QEvAbApmMN SWWRsU1IsePzzWmdC4/3zWQekzgXqjwJ69sCQdV2B7jSf5rG+gTw9kix+CciBLpsS2HRtF 1UTgPkUbiMdii2+w4h4JKXkNtJYGfzw= X-MC-Unique: NX9twh2qOTqryEI_nEEdwg-1 From: =?UTF-8?q?J=C3=A1n=20Tomko?= To: libvir-list@redhat.com Subject: [libvirt PATCHv2 1/5] logging: define cleanup func for virLogManager Date: Wed, 6 Oct 2021 12:20:19 +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 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-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: quoted-printable X-ZohoMail-DKIM: pass (identity @redhat.com) X-ZM-MESSAGEID: 1633516173426100001 Signed-off-by: J=C3=A1n Tomko Reviewed-by: Peter Krempa --- src/logging/log_manager.h | 2 ++ 1 file changed, 2 insertions(+) diff --git a/src/logging/log_manager.h b/src/logging/log_manager.h index 9a8f9b6af8..80f14934d7 100644 --- a/src/logging/log_manager.h +++ b/src/logging/log_manager.h @@ -27,6 +27,8 @@ typedef struct _virLogManager virLogManager; virLogManager *virLogManagerNew(bool privileged); =20 void virLogManagerFree(virLogManager *mgr); +G_DEFINE_AUTOPTR_CLEANUP_FUNC(virLogManager, virLogManagerFree); + =20 int virLogManagerDomainOpenLogFile(virLogManager *mgr, const char *driver, --=20 2.31.1 From nobody Fri Apr 19 18:18:35 2024 Delivered-To: importer@patchew.org Received-SPF: pass (zohomail.com: domain of redhat.com designates 216.205.24.124 as permitted sender) client-ip=216.205.24.124; envelope-from=libvir-list-bounces@redhat.com; helo=us-smtp-delivery-124.mimecast.com; Authentication-Results: mx.zohomail.com; dkim=pass; spf=pass (zohomail.com: domain of redhat.com designates 216.205.24.124 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=1633516196; cv=none; d=zohomail.com; s=zohoarc; b=Iq/SQwU+EjeHi/11Cx6Qe2A7kYSL7PGfU883G2JFSomKjjFw2HcpAnvyLUaCSispJUSs0ZjnBmVtuoG7G+I08PV8u85QyEJ17froAQ8r1purgEMB8nEdSIIpNCyQ0UEOoCl072A73+2KiBpSaNeJ0xdcTyJuHJPtKRIIcQ7otNA= ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=zohomail.com; s=zohoarc; t=1633516196; 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=kH3omtostUzP6MmpNwqHrpbPbVSiRogA0op2ZUYErYc=; b=Je/rCihVxeWVNgUML555W91y5xSfEv9rCckVE0H48HpJuKswJfvi8cutbRQvnqnnpKISNyzrBlrTZC93wHylbhqJqOaOEJeqD8Iy7Ioolyqyxd0H73ju7P6PNc9M9RAhTbyN7iu3si3E5sEkja2bYrEf1AnbEnnjrAfOWKlxwxw= ARC-Authentication-Results: i=1; mx.zohomail.com; dkim=pass; spf=pass (zohomail.com: domain of redhat.com designates 216.205.24.124 as permitted sender) smtp.mailfrom=libvir-list-bounces@redhat.com; dmarc=pass header.from= (p=none dis=none) Return-Path: Received: from us-smtp-delivery-124.mimecast.com (us-smtp-delivery-124.mimecast.com [216.205.24.124]) by mx.zohomail.com with SMTPS id 1633516196169287.31707006782085; Wed, 6 Oct 2021 03:29:56 -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-81-VgqXt0CjPFSwAAWKW2L-OA-1; Wed, 06 Oct 2021 06:29:50 -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 8589B19057A2; Wed, 6 Oct 2021 10:29:45 +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 662AF100164A; Wed, 6 Oct 2021 10:29:45 +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 09F724EA29; Wed, 6 Oct 2021 10:29:45 +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 196AKT8b025060 for ; Wed, 6 Oct 2021 06:20:29 -0400 Received: by smtp.corp.redhat.com (Postfix) id C0BF35D9DD; Wed, 6 Oct 2021 10:20:29 +0000 (UTC) Received: from fedora.redhat.com (unknown [10.43.2.44]) by smtp.corp.redhat.com (Postfix) with ESMTP id 4AEAE5D9C6 for ; Wed, 6 Oct 2021 10:20:29 +0000 (UTC) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=redhat.com; s=mimecast20190719; t=1633516195; 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=kH3omtostUzP6MmpNwqHrpbPbVSiRogA0op2ZUYErYc=; b=QiS/xW6dxro+E0+aZc9fs5AnkpCm1maEP17NyTL5fA6FqSJKzoCOUKGbLHas/U33Hh3jIK yf5bNqYkGS05Bw/A9+5uFqU0UGQqbUnDiX4foXwINS7/ojYfe+9pXUjpa8BYQuLyYWqOb+ wI+XeD+7fvK+b6UvHXA7zduR7ky94Ro= X-MC-Unique: VgqXt0CjPFSwAAWKW2L-OA-1 From: =?UTF-8?q?J=C3=A1n=20Tomko?= To: libvir-list@redhat.com Subject: [libvirt PATCHv2 2/5] qemu: virtiofs: open a separate connection to virtlogd Date: Wed, 6 Oct 2021 12:20:20 +0200 Message-Id: <35deb4986a935e1f48881f8bc51d872464dfbcbe.1633515396.git.jtomko@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-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: quoted-printable X-ZohoMail-DKIM: pass (identity @redhat.com) X-ZM-MESSAGEID: 1633516197659100001 Do not depend on passing a logManager. Create a new connection. Signed-off-by: J=C3=A1n Tomko Reviewed-by: Peter Krempa --- src/qemu/qemu_extdevice.c | 4 ++-- src/qemu/qemu_virtiofs.c | 8 ++++++-- src/qemu/qemu_virtiofs.h | 3 +-- 3 files changed, 9 insertions(+), 6 deletions(-) diff --git a/src/qemu/qemu_extdevice.c b/src/qemu/qemu_extdevice.c index ef0b3f1981..3c34bb8321 100644 --- a/src/qemu/qemu_extdevice.c +++ b/src/qemu/qemu_extdevice.c @@ -166,7 +166,7 @@ qemuExtDevicesCleanupHost(virQEMUDriver *driver, int qemuExtDevicesStart(virQEMUDriver *driver, virDomainObj *vm, - virLogManager *logManager, + virLogManager *logManager G_GNUC_UNUSED, bool incomingMigration) { virDomainDef *def =3D vm->def; @@ -197,7 +197,7 @@ qemuExtDevicesStart(virQEMUDriver *driver, virDomainFSDef *fs =3D def->fss[i]; =20 if (fs->fsdriver =3D=3D VIR_DOMAIN_FS_DRIVER_TYPE_VIRTIOFS && !fs-= >sock) { - if (qemuVirtioFSStart(logManager, driver, vm, fs) < 0) + if (qemuVirtioFSStart(driver, vm, fs) < 0) return -1; } } diff --git a/src/qemu/qemu_virtiofs.c b/src/qemu/qemu_virtiofs.c index 08a8b4ed42..3ca45457c1 100644 --- a/src/qemu/qemu_virtiofs.c +++ b/src/qemu/qemu_virtiofs.c @@ -157,8 +157,7 @@ qemuVirtioFSBuildCommandLine(virQEMUDriverConfig *cfg, } =20 int -qemuVirtioFSStart(virLogManager *logManager, - virQEMUDriver *driver, +qemuVirtioFSStart(virQEMUDriver *driver, virDomainObj *vm, virDomainFSDef *fs) { @@ -191,6 +190,11 @@ qemuVirtioFSStart(virLogManager *logManager, logpath =3D qemuVirtioFSCreateLogFilename(cfg, vm->def, fs->info.alias= ); =20 if (cfg->stdioLogD) { + g_autoptr(virLogManager) logManager =3D virLogManagerNew(driver->p= rivileged); + + if (!logManager) + goto cleanup; + if ((logfd =3D virLogManagerDomainOpenLogFile(logManager, "qemu", vm->def->uuid, diff --git a/src/qemu/qemu_virtiofs.h b/src/qemu/qemu_virtiofs.h index 1886339394..5463acef98 100644 --- a/src/qemu/qemu_virtiofs.h +++ b/src/qemu/qemu_virtiofs.h @@ -27,8 +27,7 @@ qemuVirtioFSCreateSocketFilename(virDomainObj *vm, const char *alias); =20 int -qemuVirtioFSStart(virLogManager *logManager, - virQEMUDriver *driver, +qemuVirtioFSStart(virQEMUDriver *driver, virDomainObj *vm, virDomainFSDef *fs); void --=20 2.31.1 From nobody Fri Apr 19 18:18:35 2024 Delivered-To: importer@patchew.org Received-SPF: pass (zohomail.com: domain of redhat.com designates 170.10.129.124 as permitted sender) client-ip=170.10.129.124; envelope-from=libvir-list-bounces@redhat.com; helo=us-smtp-delivery-124.mimecast.com; Authentication-Results: mx.zohomail.com; dkim=pass; spf=pass (zohomail.com: domain of redhat.com designates 170.10.129.124 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=1633516211; cv=none; d=zohomail.com; s=zohoarc; b=mokHawivS9n5iA91Rou4j6Yh+T67qnn9z0+MXjJwfscx/DiAVoeshWiCB2eJCA8dAbNfSGOGuawYHo/lgfDrCvI5DUTsvEWzu1xBz+I6LfJiH4kFumbqvgGULva7FI+dxwKsngmflDGusBmxqWItt+uVuGL/aFvCKxBSJk+BjPc= ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=zohomail.com; s=zohoarc; t=1633516211; 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=7O9uDHUixA/VfoCf0iklFWYsQF934Yj0wSHGjXzpsQ8=; b=AFJYdZQO1UYBkKMVw2JQsa9y7vKEX9y2zMjBwCJ3mMM1aiW0WmT3RuIGbrHKPUVgSWk7mGyU5/SoGP1aO6DrDVmnxodZmdhgcVcsi+jPrUo4/GEuUQ+vwR4184nnGYHC+oTbvacTSiiz3vyt6hSIb3SZWQf/5bd61fjD1W/siVA= ARC-Authentication-Results: i=1; mx.zohomail.com; dkim=pass; spf=pass (zohomail.com: domain of redhat.com designates 170.10.129.124 as permitted sender) smtp.mailfrom=libvir-list-bounces@redhat.com; dmarc=pass header.from= (p=none dis=none) Return-Path: Received: from us-smtp-delivery-124.mimecast.com (us-smtp-delivery-124.mimecast.com [170.10.129.124]) by mx.zohomail.com with SMTPS id 1633516211731443.38944367928525; Wed, 6 Oct 2021 03:30:11 -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-11-RGkOsp4SNXKdzWb4P8R_Qw-1; Wed, 06 Oct 2021 06:30:09 -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 247081084685; Wed, 6 Oct 2021 10:30:04 +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 038CD5F4F3; Wed, 6 Oct 2021 10:30:04 +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 C151418199EE; Wed, 6 Oct 2021 10:30:03 +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 196AKUmH025065 for ; Wed, 6 Oct 2021 06:20:30 -0400 Received: by smtp.corp.redhat.com (Postfix) id 8FFC85D9DD; Wed, 6 Oct 2021 10:20:30 +0000 (UTC) Received: from fedora.redhat.com (unknown [10.43.2.44]) by smtp.corp.redhat.com (Postfix) with ESMTP id 1A0335D9C6 for ; Wed, 6 Oct 2021 10:20:29 +0000 (UTC) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=redhat.com; s=mimecast20190719; t=1633516210; 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=7O9uDHUixA/VfoCf0iklFWYsQF934Yj0wSHGjXzpsQ8=; b=KbArReHmdPa+wMTS9u8z0Xu6GClOCRJ1A+VM9jG/uTsqmdfW5+f8jy3tfsnEH1ApSfyOOK k+IOW3iiF7dd5jdeAiL7dS/+ml8kznie2KoBW1dNKGaWtomkQSlCC3oJmwCb20CrKJC5Fa 79+jpERZ/2T+JkIsRXSkkf8oUrZXGEo= X-MC-Unique: RGkOsp4SNXKdzWb4P8R_Qw-1 From: =?UTF-8?q?J=C3=A1n=20Tomko?= To: libvir-list@redhat.com Subject: [libvirt PATCHv2 3/5] qemu: Revert "qemuExtDevicesStart: pass logManager" Date: Wed, 6 Oct 2021 12:20:21 +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-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: quoted-printable X-ZohoMail-DKIM: pass (identity @redhat.com) X-ZM-MESSAGEID: 1633516213319100001 This reverts commit b164eac5e1d4ebe17e673f0427b70f862a670f94 Signed-off-by: J=C3=A1n Tomko Reviewed-by: Peter Krempa --- src/qemu/qemu_extdevice.c | 1 - src/qemu/qemu_extdevice.h | 1 - src/qemu/qemu_process.c | 4 +--- 3 files changed, 1 insertion(+), 5 deletions(-) diff --git a/src/qemu/qemu_extdevice.c b/src/qemu/qemu_extdevice.c index 3c34bb8321..537b130394 100644 --- a/src/qemu/qemu_extdevice.c +++ b/src/qemu/qemu_extdevice.c @@ -166,7 +166,6 @@ qemuExtDevicesCleanupHost(virQEMUDriver *driver, int qemuExtDevicesStart(virQEMUDriver *driver, virDomainObj *vm, - virLogManager *logManager G_GNUC_UNUSED, bool incomingMigration) { virDomainDef *def =3D vm->def; diff --git a/src/qemu/qemu_extdevice.h b/src/qemu/qemu_extdevice.h index 5f638438a8..43d2a4dfff 100644 --- a/src/qemu/qemu_extdevice.h +++ b/src/qemu/qemu_extdevice.h @@ -46,7 +46,6 @@ void qemuExtDevicesCleanupHost(virQEMUDriver *driver, =20 int qemuExtDevicesStart(virQEMUDriver *driver, virDomainObj *vm, - virLogManager *logManager, bool incomingMigration) ATTRIBUTE_NONNULL(1) ATTRIBUTE_NONNULL(2) G_GNUC_WARN_UNUSED_RESULT; diff --git a/src/qemu/qemu_process.c b/src/qemu/qemu_process.c index 1d0165af6d..96b7d1edc7 100644 --- a/src/qemu/qemu_process.c +++ b/src/qemu/qemu_process.c @@ -7238,9 +7238,7 @@ qemuProcessLaunch(virConnectPtr conn, if (qemuProcessGenID(vm, flags) < 0) goto cleanup; =20 - if (qemuExtDevicesStart(driver, vm, - qemuDomainLogContextGetManager(logCtxt), - incoming !=3D NULL) < 0) + if (qemuExtDevicesStart(driver, vm, incoming !=3D NULL) < 0) goto cleanup; =20 VIR_DEBUG("Building emulator command line"); --=20 2.31.1 From nobody Fri Apr 19 18:18:35 2024 Delivered-To: importer@patchew.org Received-SPF: pass (zohomail.com: domain of redhat.com designates 216.205.24.124 as permitted sender) client-ip=216.205.24.124; envelope-from=libvir-list-bounces@redhat.com; helo=us-smtp-delivery-124.mimecast.com; Authentication-Results: mx.zohomail.com; dkim=pass; spf=pass (zohomail.com: domain of redhat.com designates 216.205.24.124 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=1633516207; cv=none; d=zohomail.com; s=zohoarc; b=edbPm0pTzQZaI8TG7UJoL6GQGQsVoaL/wmjtGtZMCYFsZn7eCUEihjmNSVP67CpNTOpi4Jv1tNokHaZih0splqFeuzS323YDWTkUhxyJvRsMKundKRQsBASLrO3pOTrQp+AApOQ8PTcu0LPOR9eqTTDgIjSq8eN5LmHaOZrZzqY= ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=zohomail.com; s=zohoarc; t=1633516207; 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=Z+gDs4wUmcG3i467Y+aeBxtyD2qrDlnCQxyr6HH+tPo=; b=mlvmnVCmNxj9a77lKqozbP2/7YjeYv2Cc142Ac032EqAArrukZT4r9Pv1DWFz6pFq2+sKkhxtW7WvYPBh7EUytEU3mdQd6bYeRD3dxytmeKpzHtJRPdbCsDnK+0Cn/QistZ24z8XcXL2OZsKdtDzNCCiAowyUe+5mD70+yq5GW4= ARC-Authentication-Results: i=1; mx.zohomail.com; dkim=pass; spf=pass (zohomail.com: domain of redhat.com designates 216.205.24.124 as permitted sender) smtp.mailfrom=libvir-list-bounces@redhat.com; dmarc=pass header.from= (p=none dis=none) Return-Path: Received: from us-smtp-delivery-124.mimecast.com (us-smtp-delivery-124.mimecast.com [216.205.24.124]) by mx.zohomail.com with SMTPS id 1633516207832168.33673296662107; Wed, 6 Oct 2021 03:30: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-417-gTpn8bE6NUOXWgGRP72iKA-1; Wed, 06 Oct 2021 06:30:05 -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 6464C19057A2; Wed, 6 Oct 2021 10:30:00 +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 484A560BD8; Wed, 6 Oct 2021 10:30:00 +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 1CE271806D04; Wed, 6 Oct 2021 10:30:00 +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 196AKVJW025070 for ; Wed, 6 Oct 2021 06:20:31 -0400 Received: by smtp.corp.redhat.com (Postfix) id 5EF655D9D5; Wed, 6 Oct 2021 10:20:31 +0000 (UTC) Received: from fedora.redhat.com (unknown [10.43.2.44]) by smtp.corp.redhat.com (Postfix) with ESMTP id DCF815D9C6 for ; Wed, 6 Oct 2021 10:20:30 +0000 (UTC) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=redhat.com; s=mimecast20190719; t=1633516206; 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=Z+gDs4wUmcG3i467Y+aeBxtyD2qrDlnCQxyr6HH+tPo=; b=TxcwIqSFF3GawJzOE7ILRpDG20V6b4PH7cevijF1SvP/MnOH8xH9R40vGf14NVWstNRRu+ 4rCiR7MsMoXKIJvVqMqYHH96DscqCSr6mtxMsi2RAtuVUeZbP22YwmHicl19WW4XB/Ck0d 5KIpuwOzC2BnyAJ1Ff8J9sDzJxkS284= X-MC-Unique: gTpn8bE6NUOXWgGRP72iKA-1 From: =?UTF-8?q?J=C3=A1n=20Tomko?= To: libvir-list@redhat.com Subject: [libvirt PATCHv2 4/5] qemu: implement virtiofs hotplug Date: Wed, 6 Oct 2021 12:20:22 +0200 Message-Id: <804a6303ba2890d72314f981a092ffe915d073d2.1633515396.git.jtomko@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 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-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: quoted-printable X-ZohoMail-DKIM: pass (identity @redhat.com) X-ZM-MESSAGEID: 1633516208913100001 https://bugzilla.redhat.com/show_bug.cgi?id=3D1897708 Signed-off-by: J=C3=A1n Tomko Reviewed-by: Peter Krempa --- src/qemu/qemu_driver.c | 9 +++- src/qemu/qemu_hotplug.c | 99 +++++++++++++++++++++++++++++++++++++++++ 2 files changed, 107 insertions(+), 1 deletion(-) diff --git a/src/qemu/qemu_driver.c b/src/qemu/qemu_driver.c index 760d30a867..65b2ef8e86 100644 --- a/src/qemu/qemu_driver.c +++ b/src/qemu/qemu_driver.c @@ -6945,8 +6945,15 @@ qemuDomainAttachDeviceLive(virDomainObj *vm, } break; =20 - case VIR_DOMAIN_DEVICE_NONE: case VIR_DOMAIN_DEVICE_FS: + ret =3D qemuDomainAttachFSDevice(driver, vm, dev->data.fs); + if (ret =3D=3D 0) { + alias =3D dev->data.fs->info.alias; + dev->data.fs =3D NULL; + } + break; + + case VIR_DOMAIN_DEVICE_NONE: case VIR_DOMAIN_DEVICE_SOUND: case VIR_DOMAIN_DEVICE_VIDEO: case VIR_DOMAIN_DEVICE_GRAPHICS: diff --git a/src/qemu/qemu_hotplug.c b/src/qemu/qemu_hotplug.c index 22239b2689..73e5a39852 100644 --- a/src/qemu/qemu_hotplug.c +++ b/src/qemu/qemu_hotplug.c @@ -35,6 +35,7 @@ #include "qemu_security.h" #include "qemu_block.h" #include "qemu_snapshot.h" +#include "qemu_virtiofs.h" #include "domain_audit.h" #include "netdev_bandwidth_conf.h" #include "domain_nwfilter.h" @@ -3396,6 +3397,104 @@ qemuDomainAttachVsockDevice(virQEMUDriver *driver, } =20 =20 +int +qemuDomainAttachFSDevice(virQEMUDriver *driver, + virDomainObj *vm, + virDomainFSDef *fs) +{ + qemuDomainObjPrivate *priv =3D vm->privateData; + virDomainDeviceDef dev =3D { VIR_DOMAIN_DEVICE_FS, + { .fs =3D fs } }; + g_autoptr(virDomainChrSourceDef) chardev =3D NULL; + virErrorPtr origErr =3D NULL; + bool releaseaddr =3D false; + bool chardevAdded =3D false; + bool started =3D false; + g_autofree char *devstr =3D NULL; + g_autofree char *charAlias =3D NULL; + int ret =3D -1; + + if (fs->fsdriver !=3D VIR_DOMAIN_FS_DRIVER_TYPE_VIRTIOFS) { + virReportError(VIR_ERR_OPERATION_UNSUPPORTED, "%s", + _("only virtiofs filesystems can be hotplugged")); + return -1; + } + + if (qemuDomainEnsureVirtioAddress(&releaseaddr, vm, &dev) < 0) + return -1; + + if (qemuAssignDeviceFSAlias(vm->def, fs) < 0) + goto cleanup; + + chardev =3D virDomainChrSourceDefNew(priv->driver->xmlopt); + chardev->type =3D VIR_DOMAIN_CHR_TYPE_UNIX; + chardev->data.nix.path =3D qemuDomainGetVHostUserFSSocketPath(priv, fs= ); + + charAlias =3D qemuDomainGetVhostUserChrAlias(fs->info.alias); + + if (!(devstr =3D qemuBuildVHostUserFsDevStr(fs, vm->def, charAlias, pr= iv))) + goto cleanup; + + if (!fs->sock) { + if (qemuVirtioFSPrepareDomain(driver, fs) < 0) + goto cleanup; + + if (qemuVirtioFSStart(driver, vm, fs) < 0) + goto cleanup; + started =3D true; + + if (qemuVirtioFSSetupCgroup(vm, fs, priv->cgroup) < 0) + goto cleanup; + } + + qemuDomainObjEnterMonitor(driver, vm); + + if (qemuMonitorAttachCharDev(priv->mon, charAlias, chardev) < 0) + goto exit_monitor; + chardevAdded =3D true; + + if (qemuDomainAttachExtensionDevice(priv->mon, &fs->info) < 0) + goto exit_monitor; + + if (qemuMonitorAddDevice(priv->mon, devstr) < 0) { + ignore_value(qemuDomainDetachExtensionDevice(priv->mon, &fs->info)= ); + goto exit_monitor; + } + + if (qemuDomainObjExitMonitor(driver, vm) < 0) { + releaseaddr =3D false; + goto cleanup; + } + + VIR_APPEND_ELEMENT_COPY(vm->def->fss, vm->def->nfss, fs); + + ret =3D 0; + + audit: + virDomainAuditFS(vm, NULL, fs, "attach", ret =3D=3D 0); + cleanup: + if (ret < 0) { + virErrorPreserveLast(&origErr); + if (releaseaddr) + qemuDomainReleaseDeviceAddress(vm, &fs->info); + if (started) + qemuVirtioFSStop(driver, vm, fs); + virErrorRestore(&origErr); + } + + return ret; + + exit_monitor: + virErrorPreserveLast(&origErr); + if (chardevAdded) + ignore_value(qemuMonitorDetachCharDev(priv->mon, charAlias)); + if (qemuDomainObjExitMonitor(driver, vm) < 0) + releaseaddr =3D false; + virErrorRestore(&origErr); + goto audit; +} + + int qemuDomainAttachLease(virQEMUDriver *driver, virDomainObj *vm, --=20 2.31.1 From nobody Fri Apr 19 18:18:35 2024 Delivered-To: importer@patchew.org Received-SPF: pass (zohomail.com: domain of redhat.com designates 170.10.133.124 as permitted sender) client-ip=170.10.133.124; envelope-from=libvir-list-bounces@redhat.com; helo=us-smtp-delivery-124.mimecast.com; Authentication-Results: mx.zohomail.com; dkim=pass; spf=pass (zohomail.com: domain of redhat.com designates 170.10.133.124 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=1633516304; cv=none; d=zohomail.com; s=zohoarc; b=P1twjdk7AxRY6gLF0h2pd2/C5mVKqCuqY4TAltNs2gh153YCjMFMxO03Oqy4BW41QHbTV5HzbBTadHkv9qa2J+NKPXJ3JGFh2x1I4tU9m7oUvfhoYJDD4NJRldrDBnQpOBUQ9bQfLgYmRbi3JOnfeyGMHdV5mse3nxhHC1/As/U= ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=zohomail.com; s=zohoarc; t=1633516304; 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=xIfpLa36I82PMKjnqJZP1Ud9pLZeEPp/c9H0IItXed0=; b=RiRpoZyfn7auQdebGFFT/Yj3G4QPZ07XzntL8+jLya5gB3f6CiziulX0faix3IVGvvQvSBpNNOu0lW2jgSB4cW0xDllADCdTHu4X3316oQN16apRbCGSM0O45TQrx0XGfF5EScuujou3TTdgg+SCU82YmCNfoGWltck65zOwJDI= ARC-Authentication-Results: i=1; mx.zohomail.com; dkim=pass; spf=pass (zohomail.com: domain of redhat.com designates 170.10.133.124 as permitted sender) smtp.mailfrom=libvir-list-bounces@redhat.com; dmarc=pass header.from= (p=none dis=none) Return-Path: Received: from us-smtp-delivery-124.mimecast.com (us-smtp-delivery-124.mimecast.com [170.10.133.124]) by mx.zohomail.com with SMTPS id 1633516304895316.9265963532197; Wed, 6 Oct 2021 03:31:44 -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-460-1FOkTuGCNIGfeEsL90wjXw-1; Wed, 06 Oct 2021 06:31:42 -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 53C25802B9E; Wed, 6 Oct 2021 10:31:37 +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 347CE9AA41; Wed, 6 Oct 2021 10:31:37 +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 01BC34EA2F; Wed, 6 Oct 2021 10:31:37 +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 196AKWng025085 for ; Wed, 6 Oct 2021 06:20:32 -0400 Received: by smtp.corp.redhat.com (Postfix) id 2D4D75D9D5; Wed, 6 Oct 2021 10:20:32 +0000 (UTC) Received: from fedora.redhat.com (unknown [10.43.2.44]) by smtp.corp.redhat.com (Postfix) with ESMTP id ABB355D9C6 for ; Wed, 6 Oct 2021 10:20:31 +0000 (UTC) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=redhat.com; s=mimecast20190719; t=1633516303; 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=xIfpLa36I82PMKjnqJZP1Ud9pLZeEPp/c9H0IItXed0=; b=G80Pht3BB3GQCMDw6hkJXTIglhc8KvoeerEwYyl7p5E+tmoQXtVtWfFWvJkIwXBRUKHg37 rCC8MxJ330lXlrsWMirTHhYN73snz9+p8Gtq6WX3QcwyTQBe2FoIwoeZ0apDa9kX+d+gPw Pj8PSfIfj0+fCsOXRvu838vIaL+3Sxs= X-MC-Unique: 1FOkTuGCNIGfeEsL90wjXw-1 From: =?UTF-8?q?J=C3=A1n=20Tomko?= To: libvir-list@redhat.com Subject: [libvirt PATCHv2 5/5] qemu: implement virtiofs hotunplug Date: Wed, 6 Oct 2021 12:20:23 +0200 Message-Id: <898d678c941b26cf316e309e2ee7bff474335f7c.1633515396.git.jtomko@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-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: quoted-printable X-ZohoMail-DKIM: pass (identity @redhat.com) X-ZM-MESSAGEID: 1633516307101100001 Signed-off-by: J=C3=A1n Tomko --- src/conf/domain_conf.c | 24 +++++++++++ src/conf/domain_conf.h | 2 + src/libvirt_private.syms | 1 + src/qemu/qemu_hotplug.c | 87 +++++++++++++++++++++++++++++++++++++++- 4 files changed, 112 insertions(+), 2 deletions(-) diff --git a/src/conf/domain_conf.c b/src/conf/domain_conf.c index b8370f6950..057dbf91a5 100644 --- a/src/conf/domain_conf.c +++ b/src/conf/domain_conf.c @@ -28829,6 +28829,30 @@ virDomainFSRemove(virDomainDef *def, size_t i) return fs; } =20 +ssize_t +virDomainFSDefFind(virDomainDef *def, + virDomainFSDef *fs) +{ + size_t i =3D 0; + + for (i =3D 0; i < def->nfss; i++) { + virDomainFSDef *tmp =3D def->fss[i]; + + if (fs->dst && STRNEQ_NULLABLE(fs->dst, tmp->dst)) + continue; + + if (fs->info.type !=3D VIR_DOMAIN_DEVICE_ADDRESS_TYPE_NONE && + !virDomainDeviceInfoAddressIsEqual(&fs->info, &tmp->info)) + continue; + + if (fs->info.alias && STRNEQ_NULLABLE(fs->info.alias, tmp->info.al= ias)) + continue; + + return i; + } + return -1; +} + virDomainFSDef * virDomainGetFilesystemForTarget(virDomainDef *def, const char *target) diff --git a/src/conf/domain_conf.h b/src/conf/domain_conf.h index c23c233184..1fcef7b0e1 100644 --- a/src/conf/domain_conf.h +++ b/src/conf/domain_conf.h @@ -3757,6 +3757,8 @@ virDomainFSDef *virDomainGetFilesystemForTarget(virDo= mainDef *def, int virDomainFSInsert(virDomainDef *def, virDomainFSDef *fs); int virDomainFSIndexByName(virDomainDef *def, const char *name); virDomainFSDef *virDomainFSRemove(virDomainDef *def, size_t i); +ssize_t virDomainFSDefFind(virDomainDef *def, + virDomainFSDef *fs); =20 unsigned int virDomainVideoDefaultRAM(const virDomainDef *def, const virDomainVideoType type); diff --git a/src/libvirt_private.syms b/src/libvirt_private.syms index fd0eea0777..687a3bbc4c 100644 --- a/src/libvirt_private.syms +++ b/src/libvirt_private.syms @@ -410,6 +410,7 @@ virDomainFeatureTypeFromString; virDomainFeatureTypeToString; virDomainFSAccessModeTypeToString; virDomainFSCacheModeTypeToString; +virDomainFSDefFind; virDomainFSDefFree; virDomainFSDefNew; virDomainFSDriverTypeToString; diff --git a/src/qemu/qemu_hotplug.c b/src/qemu/qemu_hotplug.c index 73e5a39852..0947243c16 100644 --- a/src/qemu/qemu_hotplug.c +++ b/src/qemu/qemu_hotplug.c @@ -5183,6 +5183,51 @@ qemuDomainRemoveRedirdevDevice(virQEMUDriver *driver, } =20 =20 +static int +qemuDomainRemoveFSDevice(virQEMUDriver *driver, + virDomainObj *vm, + virDomainFSDef *fs) +{ + g_autofree char *charAlias =3D NULL; + qemuDomainObjPrivate *priv =3D vm->privateData; + ssize_t idx; + int rc =3D 0; + + VIR_DEBUG("Removing FS device %s from domain %p %s", + fs->info.alias, vm, vm->def->name); + + if (fs->fsdriver !=3D VIR_DOMAIN_FS_DRIVER_TYPE_VIRTIOFS) { + virReportError(VIR_ERR_OPERATION_UNSUPPORTED, "%s", + _("only virtiofs filesystems can be hotplugged")); + return -1; + } + + charAlias =3D qemuDomainGetVhostUserChrAlias(fs->info.alias); + + qemuDomainObjEnterMonitor(driver, vm); + + if (qemuMonitorDetachCharDev(priv->mon, charAlias) < 0) + rc =3D -1; + + if (qemuDomainObjExitMonitor(driver, vm) < 0) + return -1; + + virDomainAuditFS(vm, fs, NULL, "detach", rc =3D=3D 0); + + if (rc < 0) + return -1; + + if (!fs->sock) + qemuVirtioFSStop(driver, vm, fs); + + if ((idx =3D virDomainFSDefFind(vm->def, fs)) >=3D 0) + virDomainFSRemove(vm->def, idx); + qemuDomainReleaseDeviceAddress(vm, &fs->info); + virDomainFSDefFree(fs); + return 0; +} + + static void qemuDomainRemoveAuditDevice(virDomainObj *vm, virDomainDeviceDef *detach, @@ -5221,6 +5266,10 @@ qemuDomainRemoveAuditDevice(virDomainObj *vm, virDomainAuditRedirdev(vm, detach->data.redirdev, "detach", succes= s); break; =20 + case VIR_DOMAIN_DEVICE_FS: + virDomainAuditFS(vm, detach->data.fs, NULL, "detach", success); + break; + case VIR_DOMAIN_DEVICE_LEASE: case VIR_DOMAIN_DEVICE_CONTROLLER: case VIR_DOMAIN_DEVICE_WATCHDOG: @@ -5228,7 +5277,6 @@ qemuDomainRemoveAuditDevice(virDomainObj *vm, /* These devices don't have associated audit logs */ break; =20 - case VIR_DOMAIN_DEVICE_FS: case VIR_DOMAIN_DEVICE_SOUND: case VIR_DOMAIN_DEVICE_VIDEO: case VIR_DOMAIN_DEVICE_GRAPHICS: @@ -5326,9 +5374,13 @@ qemuDomainRemoveDevice(virQEMUDriver *driver, return -1; break; =20 + case VIR_DOMAIN_DEVICE_FS: + if (qemuDomainRemoveFSDevice(driver, vm, dev->data.fs) < 0) + return -1; + break; + case VIR_DOMAIN_DEVICE_NONE: case VIR_DOMAIN_DEVICE_LEASE: - case VIR_DOMAIN_DEVICE_FS: case VIR_DOMAIN_DEVICE_SOUND: case VIR_DOMAIN_DEVICE_VIDEO: case VIR_DOMAIN_DEVICE_GRAPHICS: @@ -6023,6 +6075,31 @@ qemuDomainDetachPrepVsock(virDomainObj *vm, } =20 =20 +static int +qemuDomainDetachPrepFS(virDomainObj *vm, + virDomainFSDef *match, + virDomainFSDef **detach) +{ + ssize_t idx; + + if ((idx =3D virDomainFSDefFind(vm->def, match)) < 0) { + virReportError(VIR_ERR_DEVICE_MISSING, "%s", + _("matching filesystem not found")); + return -1; + } + + if (vm->def->fss[idx]->fsdriver !=3D VIR_DOMAIN_FS_DRIVER_TYPE_VIRTIOF= S) { + virReportError(VIR_ERR_OPERATION_UNSUPPORTED, "%s", + _("only virtiofs filesystems can be hotplugged")); + return -1; + } + + *detach =3D vm->def->fss[idx]; + + return 0; +} + + static int qemuDomainDetachDeviceLease(virQEMUDriver *driver, virDomainObj *vm, @@ -6144,6 +6221,12 @@ qemuDomainDetachDeviceLive(virDomainObj *vm, break; =20 case VIR_DOMAIN_DEVICE_FS: + if (qemuDomainDetachPrepFS(vm, match->data.fs, + &detach.data.fs) < 0) { + return -1; + } + break; + case VIR_DOMAIN_DEVICE_SOUND: case VIR_DOMAIN_DEVICE_VIDEO: case VIR_DOMAIN_DEVICE_GRAPHICS: --=20 2.31.1