From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: from firstgate.proxmox.com (firstgate.proxmox.com [212.224.123.68]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (2048 bits)) (No client certificate requested) by lists.proxmox.com (Postfix) with ESMTPS id 6818096B29 for ; Fri, 1 Mar 2024 09:06:15 +0100 (CET) Received: from firstgate.proxmox.com (localhost [127.0.0.1]) by firstgate.proxmox.com (Proxmox) with ESMTP id 438C41DC14 for ; Fri, 1 Mar 2024 09:05:45 +0100 (CET) Received: from proxmox-new.maurer-it.com (proxmox-new.maurer-it.com [94.136.29.106]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (2048 bits)) (No client certificate requested) by firstgate.proxmox.com (Proxmox) with ESMTPS for ; Fri, 1 Mar 2024 09:05:44 +0100 (CET) Received: from proxmox-new.maurer-it.com (localhost.localdomain [127.0.0.1]) by proxmox-new.maurer-it.com (Proxmox) with ESMTP id 5D615481E8 for ; Fri, 1 Mar 2024 09:05:44 +0100 (CET) From: Markus Frank To: pve-devel@lists.proxmox.com Date: Fri, 1 Mar 2024 09:05:19 +0100 Message-Id: <20240301080526.57798-1-m.frank@proxmox.com> X-Mailer: git-send-email 2.39.2 MIME-Version: 1.0 Content-Transfer-Encoding: 8bit X-SPAM-LEVEL: Spam detection results: 0 AWL -0.031 Adjusted score from AWL reputation of From: address BAYES_00 -1.9 Bayes spam probability is 0 to 1% DMARC_MISSING 0.1 Missing DMARC policy KAM_DMARC_STATUS 0.01 Test Rule for DKIM or SPF Failure with Strict Alignment SPF_HELO_NONE 0.001 SPF: HELO does not publish an SPF Record SPF_PASS -0.001 SPF: sender matches SPF record T_SCC_BODY_TEXT_LINE -0.01 - URIBL_BLOCKED 0.001 ADMINISTRATOR NOTICE: The query to URIBL was blocked. See http://wiki.apache.org/spamassassin/DnsBlocklists#dnsbl-block for more information. [qemu.pm, shared.pm, mapping.pm, memory.pm, qemuserver.pm, virtiofs.pm, dir.pm, cluster.pm] Subject: [pve-devel] [PATCH cluster/guest-common/docs/qemu-server/manager v9 0/7] virtiofs X-BeenThere: pve-devel@lists.proxmox.com X-Mailman-Version: 2.1.29 Precedence: list List-Id: Proxmox VE development discussion List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Fri, 01 Mar 2024 08:06:15 -0000 Virtio-fs is a shared file system that enables sharing a directory between host and guest VM. It takes advantage of the locality of virtual machines and the hypervisor to get a higher throughput than the 9p remote file system protocol. build-order: 1. cluster 2. guest-common 3. docs 4. qemu-server 5. manager I did not get virtiofsd to run with run_command without creating zombie processes after stutdown. So I replaced run_command with exec for now. Maybe someone can find out why this happens. cluser: Markus Frank (1): add mapping/dir.cfg for resource mapping src/PVE/Cluster.pm | 1 + src/pmxcfs/status.c | 1 + 2 files changed, 2 insertions(+) guest-common: v9: * fixed wrong indentation * changed parameter description * added check_duplicate function to prevent multiple mappings for one node v7: * renamed DIR to Dir * made xattr & acl settings per directory-id and not per node Markus Frank (1): add dir mapping section config src/Makefile | 1 + src/PVE/Mapping/Dir.pm | 205 +++++++++++++++++++++++++++++++++++++++++ 2 files changed, 206 insertions(+) create mode 100644 src/PVE/Mapping/Dir.pm docs: v9: * corrected grammatical errors and capitalization v8: * added "Known Limitations" * removed old mount tag Markus Frank (1): add doc section for the shared filesystem virtio-fs qm.adoc | 94 +++++++++++++++++++++++++++++++++++++++++++++++++++++++-- 1 file changed, 92 insertions(+), 2 deletions(-) qemu-server: v9: * moved virtiofs code to Virtiofs module * combined "Permission check for virtiofs directory access" with "feature #1027: virtio-fs support" patch * separated debian/control change into its own patch v8: * changed permission checks to cover cloning and restoring and made the helper functions similar to the PCI, USB permission check functions. * warn if acl is activated on Windows VM, since the virtiofs device cannot be mounted on Windows if acl is on and moved with dir config validation to its own function. This function is called in config_to_command so that no virtiofsd command is running although qmstart died because a second virtiofs device was incorrectly configured. v7: * enabled use of hugepages * renamed variables * added acl & xattr parameters that overwrite the default directory mapping settings v6: * added virtiofsd dependency * 2 new patches: * Permission check for virtiofs directory access * check_local_resources: virtiofs v5: * allow numa settings with virtio-fs * added direct-io & cache settings * changed to rust implementation of virtiofsd * made double fork and closed all file descriptor so that the lockfile gets released. v3: * created own socket and get file descriptor for virtiofsd so there is no race between starting virtiofsd & qemu * added TODO to replace virtiofsd with rust implementation in bookworm (I packaged the rust implementation for bookworm & the C implementation in qemu will be removed in qemu 8.0) v2: * replaced sharedfiles_fmt path in qemu-server with dirid: * user can use the dirid to specify the directory without requiring root access Markus Frank (3): add virtiofsd as runtime dependency for qemu-server fix #1027: virtio-fs support migration: check_local_resources for virtiofs PVE/API2/Qemu.pm | 39 ++++++- PVE/QemuServer.pm | 29 ++++- PVE/QemuServer/Makefile | 3 +- PVE/QemuServer/Memory.pm | 34 ++++-- PVE/QemuServer/Virtiofs.pm | 212 +++++++++++++++++++++++++++++++++++ debian/control | 1 + test/MigrationTest/Shared.pm | 7 ++ 7 files changed, 313 insertions(+), 12 deletions(-) create mode 100644 PVE/QemuServer/Virtiofs.pm manager: v9: * changed API descriptions * prevent multiple mappings for one node with PVE::Mapping::Dir::check_duplicate v8: * removed ui patches for now Markus Frank (1): api: add resource map api endpoints for directories PVE/API2/Cluster/Mapping.pm | 7 + PVE/API2/Cluster/Mapping/Dir.pm | 317 ++++++++++++++++++++++++++++++ PVE/API2/Cluster/Mapping/Makefile | 1 + 3 files changed, 325 insertions(+) create mode 100644 PVE/API2/Cluster/Mapping/Dir.pm -- 2.39.2