From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: from OSPPR02CU001.outbound.protection.outlook.com (mail-norwayeastazon11023084.outbound.protection.outlook.com [40.107.159.84]) by lore.virtuozzo.com (Postfix) with ESMTPS id 587A980E7E for ; Wed, 28 Oct 2026 12:33:41 +0000 (UTC) ARC-Seal: i=1; a=rsa-sha256; s=arcselector10001; d=microsoft.com; cv=none; b=KDWGS97nYULCI/JSSvt+8AA+0gCdfENKaAhGrXXb0gsEsTh+XUW4xOCz9c+S6/9wK0V81LckkCeYfOkrl69xxbvwaAAjc3ZDfn24unuUqcvQk+LvDf9sLVDgtuKiLhdWgbBCJvx9AWRv8Kv5UcICgTz5z3H2c+4mAIX6Cv6igE+0nhhmRgx6JRjeDRTWQytsWJKcfhNFNoTDFNri6vnlHrT0525sw9Q7YfianyJJEBP3OgVcpIonu6zW+v/uAqXzHBjbQ4XBX3pkon+AdlBeWGR+2Sqx6x0V62IRzXZ4aUxbacMgQSHP5IBvROE6lPdwTdt06awE8Ii7drLV/Oqdig== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com; s=arcselector10001; h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-AntiSpam-MessageData-ChunkCount:X-MS-Exchange-AntiSpam-MessageData-0:X-MS-Exchange-AntiSpam-MessageData-1; bh=4Sn1xLbvJ7T51l3NA//7ji622K+2YAFvR10QRLJZHeE=; b=Ud3pFSrA+4drJ5M5W7nFHm9xD06EGJlcJsEdTAyJaL1Fq3Bb96LR185yL+lnXPlgLYWnzvP+6B1LRD4dVyICi+bMtk6gs7oEOU0O3UA4zocDnAxvwXt1p8EsTmmfkjlHhn2QQpPXMMPKkotDK4rZKfIW95VubtqBv9u5/8Fzlk1RV3j3+urw2HCKiHhIDs+M3rnzAjMDmBgwJP8v6ZMj6CHzgFsOtHgH4D1jGUQRJ7qmDiEddaWoKXl8zuGDqkydzUlkPOBQkx4LEbkRHMZt+vLvSu3bdM0BenhM39UMF84rU4kqooRlFiyWCXOGL1l3LHyZGfBUVC4Hvqr9Mmp7uw== ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass (sender ip is 130.117.225.111) smtp.rcpttodomain=virtuozzo.com smtp.mailfrom=virtuozzo.com; dmarc=pass (p=quarantine sp=quarantine pct=100) action=none header.from=virtuozzo.com; dkim=pass (signature was verified) header.d=virtuozzo.com; arc=none (0) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=virtuozzo.com; s=selector2; h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck; bh=4Sn1xLbvJ7T51l3NA//7ji622K+2YAFvR10QRLJZHeE=; b=dU3X50XcKSA/Vdl5qx4W2p8YFMZ7k8N50bBUvUtENYuT5c0f7LS7D6eCzvL4crBJ9MvaiQ+54Eyd9s6bt4z9+EFszGX5JktRo78FmyJtjgDWWUC7mJcdfOdSwrsEGfGClhQhC+39oLaiCSUhp7c2HM0HqJtDy4vLIX0FvuqbsIMk573ZWTcAYCLH+HiUYw7oXNo5PXmY80FvOKSmqp/TlyfhGkm35AWoKiRT7hBdMImFjp4pTqSqUSPQmnNDrTO8pN+PJR2IOlDsHNnRszm2nxCrpxsf60BoZeYOCGK+Tkq1Xwk+vgBYn6iOSnbDw8rgulv/0naUYv5mh0Ho8UfNvg== Received: from PAZP264CA0225.FRAP264.PROD.OUTLOOK.COM (2603:10a6:102:238::7) by MI9PR08MB975321.eurprd08.prod.outlook.com (2603:10a6:290:c1::15) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.21.546.22; Wed, 28 Oct 2026 12:33:37 +0000 Received: from AM7PEPF00000050.EURPRD83.prod.outlook.com (2603:10a6:102:238:cafe::45) by PAZP264CA0225.outlook.office365.com (2603:10a6:102:238::7) with Microsoft SMTP Server (version=TLS1_3, cipher=TLS_AES_256_GCM_SHA384) id 15.21.546.22 via Frontend Transport; Wed, 28 Oct 2026 12:33:37 +0000 X-MS-Exchange-Authentication-Results: mx.microsoft.com 1; spf=pass (sender IP is 130.117.225.111) smtp.mailfrom=virtuozzo.com; dkim=pass (signature was verified) header.d=virtuozzo.com;dmarc=pass action=none header.from=virtuozzo.com; Received-SPF: Pass (protection.outlook.com: domain of virtuozzo.com designates 130.117.225.111 as permitted sender) receiver=protection.outlook.com; client-ip=130.117.225.111; helo=relay.virtuozzo.com; pr=C Received: from relay.virtuozzo.com (130.117.225.111) by AM7PEPF00000050.mail.protection.outlook.com (10.167.242.36) with Microsoft SMTP Server (version=TLS1_3, cipher=TLS_AES_256_GCM_SHA384) id 15.21.592.0 via Frontend Transport; Wed, 28 Oct 2026 12:33:37 +0000 DKIM-Signature: v=1; a=rsa-sha256; q=dns/txt; c=relaxed/relaxed; d=virtuozzo.com; s=relay; h=MIME-Version:Message-ID:Date:Subject:From: Content-Type; bh=4Sn1xLbvJ7T51l3NA//7ji622K+2YAFvR10QRLJZHeE=; b=ocW5Fg7X5hcX CptqNdSG8tRR4qmRXK+X67rEwVBvCgaoGH+niufkgZkvSD3pyWNNW3HHRJ7531w9jFlD1XW3supvw bLS/jFsNJkSXs1NmIL1tnMeIaG+qC0KSbPkxkxqArrmzyJ6Q2gSK9aW9dF5Lar4iD8U7O9KmtJeo8 QNvE9SPWbsvo/UziUxRDoZAD9SPKJEoRUltEHw0GBW4YH+5mjVdidYh9dLNeVdfi4wYNZ6R49vmkP CWNe/cOGzCm2FBqglL5ghDSNXnHlTcoumrOSOD5D2IEi4mXdk/TVBx1u8wEMY9bbidBQrzIHcD2xh nxV6MSSZ/7vg6FzJjX5WOw==; Received: from ch-vpn.virtuozzo.com ([130.117.225.6] helo=sky) by relay.virtuozzo.com with esmtps (TLS1.3) tls TLS_AES_256_GCM_SHA384 (Exim 4.96) (envelope-from ) id 1xM2mk-007Thg-28; Wed, 28 Oct 2026 13:33:36 +0100 From: Alexander Ivanov To: andrey.zhadchenko@virtuozzo.com Cc: andrey.drobyshev@virtuozzo.com, svt-core@virtuozzo.com Subject: [PATCH hci-8.1 v3 1/4] vhost-backend: add vhost_set_fork_from_owner op Date: Wed, 28 Oct 2026 13:33:30 +0100 Message-ID: <20261028123333.3145676-2-alexander.ivanov@virtuozzo.com> X-Mailer: git-send-email 2.53.0 In-Reply-To: <20261028123333.3145676-1-alexander.ivanov@virtuozzo.com> References: <20261028123333.3145676-1-alexander.ivanov@virtuozzo.com> MIME-Version: 1.0 Content-Transfer-Encoding: 8bit X-EOPAttributedMessage: 0 X-MS-PublicTrafficType: Email X-MS-TrafficTypeDiagnostic: AM7PEPF00000050:EE_|MI9PR08MB975321:EE_ X-MS-Office365-Filtering-Correlation-Id: 2e545d46-8931-4762-84b6-08df34efb06e X-LD-Processed: 0bc7f26d-0264-416e-a6fc-8352af79c58f,ExtAddr List-Id: svt-core@virtuozzo.com X-MS-Exchange-Transport-Rules-Loop: 1 X-MS-Exchange-SenderADCheck: 1 X-MS-Exchange-AntiSpam-Relay: 0 X-Microsoft-Antispam: BCL:0;ARA:13230040|376014|1800799024|82310400026|36860700016|23010399003|261009223027099003|56012099006|261021121427099003|261009221227099003|10067099003|18002099003|22082099003|5113699003; X-Microsoft-Antispam-Message-Info: eq15S8F+xu/pfLmLbv+oA0t8f9bVBxOolYWfC1iOp3jBJNkIt1dhDinqT/7hiljJOVXMLlqyJAKfqUBFxXY89KNbf8KdxQ7YjHobifu4VO082APeAPsW0pm4pdIqi/U0m2mWjFjJgSA7IKIAi1qU9YE2b1p/U2xXVERwu6J9f9XwgmQQSSUVkOzqWTXgcqtomd8BDwrvRRrZsbuHxkAeKstMFErXUmqfFA4A8QVqa+azIpZjoQLzwGXoGypNQe9czw0/8ZputxjmxFxVGcEZYsZ0o08jQR7xdGAofYJILDuHFGLWtYRx3m6CkPdJeU9TLq/hLCwT7Uj8GaLcBZcdlPl5IJJ3RxU2Gh5HA4WIBKlc31i3rqUW+jUhM0xfwPlESIE8LZQlcru19Z/5RGhjVLf3ATNqP4y4lj6ryS2LbUQeWAMC6kSPYEIBdhcTMWTbbsQ69rlKPuXYKpZeEtJC3HkyFVnEzpfGcTX6r3JVyXuhz/BQ+PCI6EcimN2XN8rlLrz2YngnP6C1cI0VKqaj+2TSBB93wZWGeWkgZSXFTnC8d7UvTstaNPVdmtEu8oWk4HdvtwWZVG6JW/TmBnCALdtCGgslHpDnfR4EAwd+M8eveTNxTrkJYgKdRm/PrPuKmlt1447EXv9G2salISVidOhKSP0jBAU4AeQ+8l6xGwY= X-Forefront-Antispam-Report: CIP:130.117.225.111;CTRY:CH;LANG:en;SCL:1;SRV:;IPV:NLI;SFV:NSPM;H:relay.virtuozzo.com;PTR:relay.virtuozzo.com;CAT:NONE;SFS:(13230040)(376014)(1800799024)(82310400026)(36860700016)(23010399003)(261009223027099003)(56012099006)(261021121427099003)(261009221227099003)(10067099003)(18002099003)(22082099003)(5113699003);DIR:OUT;SFP:1102; X-MS-Exchange-AntiSpam-MessageData-ChunkCount: 1 X-MS-Exchange-AntiSpam-MessageData-0: nzM84Z5lKvI1LcifC4El11+PrTHlRxgm3e7ngktQ29V4k4x0axk2lH2REtbQvf1UAKwl1AJN5pSgHKShnNbT1SexxxZiphn3tb/Z/NfT5G1/8BcPkvBty0FVYUmB7dG5EkbExS4bLTnmc25PDHiQZVYcH1Ha3NROUnxsJC3Q7Whxs2er75yF1u0U4UyVb1i11NP8VEB6wX1X3E+3R5mrtQBOM5OTjh4JoZklhSXVyqGtcHAWzLALIxWnHND14KLTGcf1msZ7JNE8qay0ERaZsNHxa3z1snJNIxDChM5qQmZYrOSgs2HXWHyvjZ3fupTVg4S8gehpArUl7n4VkGhPrCz76lf40dsavlcOa3AZhGTtFE4uXD9kdZnIUxFTUvHyuf4LX/+9j1ieJZKMJCXJJSDg+VmjT2/XRCJF7q+sPinOqrxCusmpxGmE17D8RENe X-OriginatorOrg: virtuozzo.com X-MS-Exchange-CrossTenant-OriginalArrivalTime: 28 Oct 2026 12:33:37.1416 (UTC) X-MS-Exchange-CrossTenant-Network-Message-Id: 2e545d46-8931-4762-84b6-08df34efb06e X-MS-Exchange-CrossTenant-Id: 0bc7f26d-0264-416e-a6fc-8352af79c58f X-MS-Exchange-CrossTenant-OriginalAttributedTenantConnectingIp: TenantId=0bc7f26d-0264-416e-a6fc-8352af79c58f;Ip=[130.117.225.111];Helo=[relay.virtuozzo.com] X-MS-Exchange-CrossTenant-AuthSource: AM7PEPF00000050.EURPRD83.prod.outlook.com X-MS-Exchange-CrossTenant-AuthAs: Anonymous X-MS-Exchange-CrossTenant-FromEntityHeader: HybridOnPrem X-MS-Exchange-Transport-CrossTenantHeadersStamped: MI9PR08MB975321 Wrap VHOST_SET_FORK_FROM_OWNER for the kernel backend next to the worker ops, so devices switch the vhost worker mode the same way they create and attach workers. https://virtuozzo.atlassian.net/browse/VSTOR-107537 Signed-off-by: Alexander Ivanov --- hw/virtio/vhost-backend.c | 7 +++++++ include/hw/virtio/vhost-backend.h | 3 +++ 2 files changed, 10 insertions(+) diff --git a/hw/virtio/vhost-backend.c b/hw/virtio/vhost-backend.c index 1447d129630..7f8c731a607 100644 --- a/hw/virtio/vhost-backend.c +++ b/hw/virtio/vhost-backend.c @@ -187,6 +187,12 @@ static int vhost_kernel_get_vring_worker(struct vhost_dev *dev, return vhost_kernel_call(dev, VHOST_GET_VRING_WORKER, worker); } +static int vhost_kernel_set_fork_from_owner(struct vhost_dev *dev, + uint8_t fork_owner) +{ + return vhost_kernel_call(dev, VHOST_SET_FORK_FROM_OWNER, &fork_owner); +} + static int vhost_kernel_set_backend_cap(struct vhost_dev *dev) { uint64_t features; @@ -386,6 +392,7 @@ const VhostOps kernel_ops = { .vhost_attach_vring_worker = vhost_kernel_attach_vring_worker, .vhost_new_worker = vhost_kernel_new_worker, .vhost_free_worker = vhost_kernel_free_worker, + .vhost_set_fork_from_owner = vhost_kernel_set_fork_from_owner, .vhost_set_features_ex = vhost_kernel_set_features, .vhost_get_features_ex = vhost_kernel_get_features, .vhost_set_backend_cap = vhost_kernel_set_backend_cap, diff --git a/include/hw/virtio/vhost-backend.h b/include/hw/virtio/vhost-backend.h index 18ce5ea9a07..78cd66378ef 100644 --- a/include/hw/virtio/vhost-backend.h +++ b/include/hw/virtio/vhost-backend.h @@ -95,6 +95,8 @@ typedef int (*vhost_new_worker_op)(struct vhost_dev *dev, struct vhost_worker_state *worker); typedef int (*vhost_free_worker_op)(struct vhost_dev *dev, struct vhost_worker_state *worker); +typedef int (*vhost_set_fork_from_owner_op)(struct vhost_dev *dev, + uint8_t fork_owner); typedef int (*vhost_set_features_ex_op)(struct vhost_dev *dev, const uint64_t *features); typedef int (*vhost_get_features_ex_op)(struct vhost_dev *dev, @@ -190,6 +192,7 @@ typedef struct VhostOps { vhost_free_worker_op vhost_free_worker; vhost_get_vring_worker_op vhost_get_vring_worker; vhost_attach_vring_worker_op vhost_attach_vring_worker; + vhost_set_fork_from_owner_op vhost_set_fork_from_owner; vhost_set_features_ex_op vhost_set_features_ex; vhost_get_features_ex_op vhost_get_features_ex; vhost_set_features_op vhost_set_features; -- 2.53.0