From nobody Sat May 18 21:45:28 2024 Delivered-To: importer@patchew.org Received-SPF: none (zohomail.com: 8.43.85.245 is neither permitted nor denied by domain of lists.libvirt.org) client-ip=8.43.85.245; envelope-from=devel-bounces@lists.libvirt.org; helo=lists.libvirt.org; Authentication-Results: mx.zohomail.com; spf=none (zohomail.com: 8.43.85.245 is neither permitted nor denied by domain of lists.libvirt.org) smtp.mailfrom=devel-bounces@lists.libvirt.org; dmarc=fail(p=none dis=none) header.from=redhat.com Return-Path: Received: from lists.libvirt.org (lists.libvirt.org [8.43.85.245]) by mx.zohomail.com with SMTPS id 170238201087189.84409332079758; Tue, 12 Dec 2023 03:53:30 -0800 (PST) Received: by lists.libvirt.org (Postfix, from userid 996) id CC824188D; Tue, 12 Dec 2023 06:53:29 -0500 (EST) Received: from lists.libvirt.org (localhost [IPv6:::1]) by lists.libvirt.org (Postfix) with ESMTP id 8FEC3186C; Tue, 12 Dec 2023 06:51:08 -0500 (EST) Received: by lists.libvirt.org (Postfix, from userid 996) id A16FA17B0; Tue, 12 Dec 2023 06:50:58 -0500 (EST) Received: from us-smtp-delivery-124.mimecast.com (us-smtp-delivery-124.mimecast.com [170.10.133.124]) (using TLSv1.2 with cipher ECDHE-RSA-AES128-GCM-SHA256 (128/128 bits)) (No client certificate requested) by lists.libvirt.org (Postfix) with ESMTPS id C5F9B17B2 for ; Tue, 12 Dec 2023 06:50:57 -0500 (EST) Received: from mimecast-mx02.redhat.com (mx-ext.redhat.com [66.187.233.73]) by relay.mimecast.com with ESMTP with STARTTLS (version=TLSv1.3, cipher=TLS_AES_256_GCM_SHA384) id us-mta-612-EvOg0G8YOG-SljbY2MQ7QA-1; Tue, 12 Dec 2023 06:50:56 -0500 Received: from smtp.corp.redhat.com (int-mx04.intmail.prod.int.rdu2.redhat.com [10.11.54.4]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (2048 bits) server-digest SHA256) (No client certificate requested) by mimecast-mx02.redhat.com (Postfix) with ESMTPS id E9D832810D46 for ; Tue, 12 Dec 2023 11:50:55 +0000 (UTC) Received: from maggie.brq.redhat.com (unknown [10.43.3.102]) by smtp.corp.redhat.com (Postfix) with ESMTP id 9596E2026D66 for ; Tue, 12 Dec 2023 11:50:55 +0000 (UTC) X-Spam-Checker-Version: SpamAssassin 3.4.4 (2020-01-24) on lists.libvirt.org X-Spam-Level: X-Spam-Status: No, score=-0.8 required=5.0 tests=HEADER_FROM_DIFFERENT_DOMAINS, MAILING_LIST_MULTI,RCVD_IN_DNSWL_NONE,RCVD_IN_MSPIKE_H3, RCVD_IN_MSPIKE_WL,SPF_HELO_NONE,T_SCC_BODY_TEXT_LINE autolearn=unavailable autolearn_force=no version=3.4.4 X-MC-Unique: EvOg0G8YOG-SljbY2MQ7QA-1 From: Michal Privoznik To: devel@lists.libvirt.org Subject: [PATCH 1/2] qemu: Drop support for C implementation of virtiofsd Date: Tue, 12 Dec 2023 12:50:52 +0100 Message-ID: In-Reply-To: References: MIME-Version: 1.0 X-Scanned-By: MIMEDefang 3.4.1 on 10.11.54.4 X-Mimecast-Spam-Score: 0 X-Mimecast-Originator: redhat.com Message-ID-Hash: GH6ZK5ZI233OAXIJ2L6SPQX4Y3MVWODN X-Message-ID-Hash: GH6ZK5ZI233OAXIJ2L6SPQX4Y3MVWODN X-MailFrom: mprivozn@redhat.com X-Mailman-Rule-Misses: dmarc-mitigation; no-senders; approved; emergency; loop; banned-address; member-moderation; header-match-config-1; header-match-config-2; header-match-config-3; header-match-devel.lists.libvirt.org-0; nonmember-moderation; administrivia; implicit-dest; max-recipients; max-size; news-moderation; no-subject; suspicious-header X-Mailman-Version: 3.2.2 Precedence: list List-Id: Development discussions about the libvirt library & tools Archived-At: List-Archive: List-Help: List-Post: List-Subscribe: List-Unsubscribe: Content-Type: text/plain; charset="utf-8"; x-default="true" Content-Transfer-Encoding: quoted-printable X-ZM-MESSAGEID: 1702382012048100001 Virtiofsd has two implementations: C and Rust. The former is now deprecated (QEMU commit v7.0.0-rc0~52^2~1) and in fact removed from QEMU (QEMU commit v8.0.0-rc0~55). While Rust version was originally a drop in replacement it is not the case anymore. Some arguments are silently ignored (like file locking) and there's no way to make them work for both implementations. Remove support for the C implementation. Signed-off-by: Michal Privoznik --- src/qemu/qemu_validate.c | 6 ++++++ src/qemu/qemu_virtiofs.c | 14 ++++---------- tests/qemuxml2argvdata/vhost-user-fs-fd-memory.xml | 1 - 3 files changed, 10 insertions(+), 11 deletions(-) diff --git a/src/qemu/qemu_validate.c b/src/qemu/qemu_validate.c index e475ad035e..2c70409756 100644 --- a/src/qemu/qemu_validate.c +++ b/src/qemu/qemu_validate.c @@ -4368,6 +4368,12 @@ qemuValidateDomainDeviceDefFS(virDomainFSDef *fs, _("virtiofs does not support fmode and dmode")); return -1; } + if (fs->flock !=3D VIR_TRISTATE_SWITCH_ABSENT || + fs->posix_lock !=3D VIR_TRISTATE_SWITCH_ABSENT) { + virReportError(VIR_ERR_CONFIG_UNSUPPORTED, "%s", + _("file locking is not supported")); + return -1; + } if (qemuValidateDomainDefVhostUserRequireSharedMemory(def, "virtio= fs") < 0) { return -1; } diff --git a/src/qemu/qemu_virtiofs.c b/src/qemu/qemu_virtiofs.c index 230f85c291..7ff6066f07 100644 --- a/src/qemu/qemu_virtiofs.c +++ b/src/qemu/qemu_virtiofs.c @@ -132,6 +132,10 @@ qemuVirtioFSBuildCommandLine(virQEMUDriverConfig *cfg, g_autoptr(virCommand) cmd =3D NULL; g_auto(virBuffer) opts =3D VIR_BUFFER_INITIALIZER; =20 + /* Some @fs attributes (lock and posix_lock) are not handled here nor + * anywhwere else. The reason is they exist because (now deprecated) C + * implementation of virtiofsd supported them, but RUST implementation= does + * not. And we only support the latter. */ cmd =3D virCommandNew(fs->binary); =20 virCommandAddArgFormat(cmd, "--fd=3D%d", *fd); @@ -151,16 +155,6 @@ qemuVirtioFSBuildCommandLine(virQEMUDriverConfig *cfg, else if (fs->xattr =3D=3D VIR_TRISTATE_SWITCH_OFF) virBufferAddLit(&opts, ",no_xattr"); =20 - if (fs->flock =3D=3D VIR_TRISTATE_SWITCH_ON) - virBufferAddLit(&opts, ",flock"); - else if (fs->flock =3D=3D VIR_TRISTATE_SWITCH_OFF) - virBufferAddLit(&opts, ",no_flock"); - - if (fs->posix_lock =3D=3D VIR_TRISTATE_SWITCH_ON) - virBufferAddLit(&opts, ",posix_lock"); - else if (fs->posix_lock =3D=3D VIR_TRISTATE_SWITCH_OFF) - virBufferAddLit(&opts, ",no_posix_lock"); - virCommandAddArgBuffer(cmd, &opts); =20 if (fs->thread_pool_size >=3D 0) diff --git a/tests/qemuxml2argvdata/vhost-user-fs-fd-memory.xml b/tests/qem= uxml2argvdata/vhost-user-fs-fd-memory.xml index 81de8c0dd7..5bc758b8d6 100644 --- a/tests/qemuxml2argvdata/vhost-user-fs-fd-memory.xml +++ b/tests/qemuxml2argvdata/vhost-user-fs-fd-memory.xml @@ -31,7 +31,6 @@ - --=20 2.41.0 _______________________________________________ Devel mailing list -- devel@lists.libvirt.org To unsubscribe send an email to devel-leave@lists.libvirt.org From nobody Sat May 18 21:45:28 2024 Delivered-To: importer@patchew.org Received-SPF: none (zohomail.com: 8.43.85.245 is neither permitted nor denied by domain of lists.libvirt.org) client-ip=8.43.85.245; envelope-from=devel-bounces@lists.libvirt.org; helo=lists.libvirt.org; Authentication-Results: mx.zohomail.com; spf=none (zohomail.com: 8.43.85.245 is neither permitted nor denied by domain of lists.libvirt.org) smtp.mailfrom=devel-bounces@lists.libvirt.org; dmarc=fail(p=none dis=none) header.from=redhat.com Return-Path: Received: from lists.libvirt.org (lists.libvirt.org [8.43.85.245]) by mx.zohomail.com with SMTPS id 1702382084034695.668833568601; Tue, 12 Dec 2023 03:54:44 -0800 (PST) Received: by lists.libvirt.org (Postfix, from userid 996) id B99371812; Tue, 12 Dec 2023 06:54:42 -0500 (EST) Received: from lists.libvirt.org (localhost [IPv6:::1]) by lists.libvirt.org (Postfix) with ESMTP id 7340F17D1; Tue, 12 Dec 2023 06:51:19 -0500 (EST) Received: by lists.libvirt.org (Postfix, from userid 996) id 65D7817B2; Tue, 12 Dec 2023 06:50:59 -0500 (EST) Received: from us-smtp-delivery-124.mimecast.com (us-smtp-delivery-124.mimecast.com [170.10.129.124]) (using TLSv1.2 with cipher ECDHE-RSA-AES128-GCM-SHA256 (128/128 bits)) (No client certificate requested) by lists.libvirt.org (Postfix) with ESMTPS id D471A17A2 for ; Tue, 12 Dec 2023 06:50:58 -0500 (EST) Received: from mimecast-mx02.redhat.com (mx-ext.redhat.com [66.187.233.73]) by relay.mimecast.com with ESMTP with STARTTLS (version=TLSv1.3, cipher=TLS_AES_256_GCM_SHA384) id us-mta-141-19zSsFZ2OqWGWT93fUDmyw-1; Tue, 12 Dec 2023 06:50:56 -0500 Received: from smtp.corp.redhat.com (int-mx04.intmail.prod.int.rdu2.redhat.com [10.11.54.4]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (2048 bits) server-digest SHA256) (No client certificate requested) by mimecast-mx02.redhat.com (Postfix) with ESMTPS id 7D1B12810D4C for ; Tue, 12 Dec 2023 11:50:56 +0000 (UTC) Received: from maggie.brq.redhat.com (unknown [10.43.3.102]) by smtp.corp.redhat.com (Postfix) with ESMTP id 28E882026D66 for ; Tue, 12 Dec 2023 11:50:56 +0000 (UTC) X-Spam-Checker-Version: SpamAssassin 3.4.4 (2020-01-24) on lists.libvirt.org X-Spam-Level: X-Spam-Status: No, score=-0.8 required=5.0 tests=HEADER_FROM_DIFFERENT_DOMAINS, MAILING_LIST_MULTI,RCVD_IN_DNSWL_NONE,RCVD_IN_MSPIKE_H4, RCVD_IN_MSPIKE_WL,SPF_HELO_NONE,T_SCC_BODY_TEXT_LINE autolearn=unavailable autolearn_force=no version=3.4.4 X-MC-Unique: 19zSsFZ2OqWGWT93fUDmyw-1 From: Michal Privoznik To: devel@lists.libvirt.org Subject: [PATCH 2/2] qemu_virtiofs: Don't use deprecated cmd line Date: Tue, 12 Dec 2023 12:50:53 +0100 Message-ID: In-Reply-To: References: MIME-Version: 1.0 X-Scanned-By: MIMEDefang 3.4.1 on 10.11.54.4 X-Mimecast-Spam-Score: 0 X-Mimecast-Originator: redhat.com Message-ID-Hash: HKFYI26DTCB4DVW2CULVXVBO7MNOAMI3 X-Message-ID-Hash: HKFYI26DTCB4DVW2CULVXVBO7MNOAMI3 X-MailFrom: mprivozn@redhat.com X-Mailman-Rule-Misses: dmarc-mitigation; no-senders; approved; emergency; loop; banned-address; member-moderation; header-match-config-1; header-match-config-2; header-match-config-3; header-match-devel.lists.libvirt.org-0; nonmember-moderation; administrivia; implicit-dest; max-recipients; max-size; news-moderation; no-subject; suspicious-header X-Mailman-Version: 3.2.2 Precedence: list List-Id: Development discussions about the libvirt library & tools Archived-At: List-Archive: List-Help: List-Post: List-Subscribe: List-Unsubscribe: Content-Type: text/plain; charset="utf-8"; x-default="true" Content-Transfer-Encoding: quoted-printable X-ZM-MESSAGEID: 1702382085597100001 Rust implementation has deprecated use if "-o option1,option2" in favor of "--option1" "--option2". Actually, they did so quite while ago and continued using the old way only for backwards compatibility. Use "modern" way. Resolves: https://issues.redhat.com/browse/RHEL-7108 Signed-off-by: Michal Privoznik --- src/qemu/qemu_virtiofs.c | 19 +++++++------------ 1 file changed, 7 insertions(+), 12 deletions(-) diff --git a/src/qemu/qemu_virtiofs.c b/src/qemu/qemu_virtiofs.c index 7ff6066f07..2d8eaa4bc5 100644 --- a/src/qemu/qemu_virtiofs.c +++ b/src/qemu/qemu_virtiofs.c @@ -130,7 +130,6 @@ qemuVirtioFSBuildCommandLine(virQEMUDriverConfig *cfg, int *fd) { g_autoptr(virCommand) cmd =3D NULL; - g_auto(virBuffer) opts =3D VIR_BUFFER_INITIALIZER; =20 /* Some @fs attributes (lock and posix_lock) are not handled here nor * anywhwere else. The reason is they exist because (now deprecated) C @@ -142,26 +141,22 @@ qemuVirtioFSBuildCommandLine(virQEMUDriverConfig *cfg, virCommandPassFD(cmd, *fd, VIR_COMMAND_PASS_FD_CLOSE_PARENT); *fd =3D -1; =20 - virCommandAddArg(cmd, "-o"); - virBufferAddLit(&opts, "source=3D"); - virQEMUBuildBufferEscapeComma(&opts, fs->src->path); + virCommandAddArgPair(cmd, "--shared-dir", fs->src->path); + if (fs->cache) - virBufferAsprintf(&opts, ",cache=3D%s", virDomainFSCacheModeTypeTo= String(fs->cache)); + virCommandAddArgPair(cmd, "--cache", virDomainFSCacheModeTypeToStr= ing(fs->cache)); + if (fs->sandbox) - virBufferAsprintf(&opts, ",sandbox=3D%s", virDomainFSSandboxModeTy= peToString(fs->sandbox)); + virCommandAddArgPair(cmd, "--sandbox", virDomainFSSandboxModeTypeT= oString(fs->sandbox)); =20 if (fs->xattr =3D=3D VIR_TRISTATE_SWITCH_ON) - virBufferAddLit(&opts, ",xattr"); - else if (fs->xattr =3D=3D VIR_TRISTATE_SWITCH_OFF) - virBufferAddLit(&opts, ",no_xattr"); - - virCommandAddArgBuffer(cmd, &opts); + virCommandAddArg(cmd, "--xattr"); =20 if (fs->thread_pool_size >=3D 0) virCommandAddArgFormat(cmd, "--thread-pool-size=3D%i", fs->thread_= pool_size); =20 if (cfg->virtiofsdDebug) - virCommandAddArg(cmd, "-d"); + virCommandAddArg(cmd, "--log-level=3Ddebug"); =20 return g_steal_pointer(&cmd); } --=20 2.41.0 _______________________________________________ Devel mailing list -- devel@lists.libvirt.org To unsubscribe send an email to devel-leave@lists.libvirt.org