From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: from PA4PR04CU001.outbound.protection.outlook.com (mail-francecentralazon11023139.outbound.protection.outlook.com [40.107.162.139]) by lore.virtuozzo.com (Postfix) with ESMTPS id C4BA18106F for ; Sat, 31 Oct 2026 15:35:36 +0000 (UTC) ARC-Seal: i=1; a=rsa-sha256; s=arcselector10001; d=microsoft.com; cv=none; b=YzxtZDyp/F+xrxXVkxVhyXbjMO0nGRl3OME9vR1CBRFRk7z3QALNFTvY2POBSYXcloXz68U7JnhI6ZRAtmgdKO+o4BSd1Gf8Ejs5kHRPFtpadYdXNgFvjx16TwYY4PWyUMwPGqSMvl5nhA0Er6G7fDiVI51awTkA9L4NHdMGlzzvJrmqLuyk3Vj8XRNnPa72qspA44EkpOnFQ6nx07yhHGi9E4jntY/ETRs115wceHNNMQSoWJ6wik6PpeSprCjRgtg0pO7JNLSTaqxvTNTsiMFLmz2aSO6WQbiV1MImWCylaI39MM4BTMW5HcMeI6J5uM/VV2WPIXVQAEYWYcdivA== 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=swDuyLWAmirFvDG8ZoNA0LWZmVnKMlTmmFl7CysDRXo=; b=SDGZEaI+z1Fr2WFn+CUwNTAG1kHmQlYj4wODrOXereTYcxJ3F69pK19767sW6MzuLVleLL1SnNH7e+I2yjBmhgeehPagnesT9rikA1nJzGix33OpBNKmACvY/oH6sRqaU4cIUmU2BxgPNaqDm/4Fqnxmp/MIsV9K0OQHZfLcxURgy+BPtVQTvnCBwJbNl2VVa8RG6CLAIHll4o5Wgd89uBpGpqzh/t45GXo7ya8K49wb+CT9zUiyN+yto4YFfjHjLKtLZ8UQRC3UQdiBtynZC55/w8LzakbKkM9khA6awLgACjyhmxA69enqzlm5Ppp1Wh6hysuOI60wy/Cakp/jAw== 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=swDuyLWAmirFvDG8ZoNA0LWZmVnKMlTmmFl7CysDRXo=; b=sE6q8edcZ2kMbpIpCcR0AGKQC6eig1RIktAsePw3EaPzqaNM4lqr25n00MzX5shiEv4eB5BFrH9sN/X3CC7CHQlD/t5VD7bkG8vD3TTiYk3tvg9cAYuYI7XYTGWimgaQNkbHKhT30rF5218U4C2EiNAngM4gK9VSd316Dgk33l8PHTE+qxNqPUEvtyIxFolSrXviRh6D1DmoHNkWU7US2J9c2mn/vPNpCM5ckCpw6njgIErS9sIpRD7m4w/OV6f49sFaSmdZ9MN+IvRveqzrvkJlAuakrfshHOqEK+8qCkJvjVIvWAk7hOdKXhfWsQZkwcK2njoBQYuuCs9c+k8wBQ== Received: from DU7P195CA0005.EURP195.PROD.OUTLOOK.COM (2603:10a6:10:54d::24) by DU5PR08MB10610.eurprd08.prod.outlook.com (2603:10a6:10:51a::14) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.21.569.11; Sat, 31 Oct 2026 15:35:33 +0000 Received: from DB1PEPF000509FB.eurprd03.prod.outlook.com (2603:10a6:10:54d:cafe::48) by DU7P195CA0005.outlook.office365.com (2603:10a6:10:54d::24) with Microsoft SMTP Server (version=TLS1_3, cipher=TLS_AES_256_GCM_SHA384) id 15.21.569.11 via Frontend Transport; Sat, 31 Oct 2026 15:35:33 +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 DB1PEPF000509FB.mail.protection.outlook.com (10.167.242.37) with Microsoft SMTP Server (version=TLS1_3, cipher=TLS_AES_256_GCM_SHA384) id 15.21.592.5 via Frontend Transport; Sat, 31 Oct 2026 15:35:33 +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=swDuyLWAmirFvDG8ZoNA0LWZmVnKMlTmmFl7CysDRXo=; b=ux2cGsXIa2pC xewpN1czJZufrPU54OxsRxp9pbnNzRrB0yg4RsMLgVbqOUZ4xlzzdm6XYjFVyLli4lovA8jkkL30X p6lKwFrQK1JrtAVkVwaFRbn71GiI6U3dnLIlXxFRnZhH00PpvxQWEmwwPDns4EP2FPOJC76wCUdxl AesPX0PzftVuI6vN1EhQPlzmMyNk+h8o5WSPz5x+GNw42LZ8Jjkm5OcvUI8A6igLuX0Es2pT8ETZI FA+0Hn6tEBJrMbR/AdaJ543qlwCZcEHnG/zhhQBLnvHvheI2mwsxWUW9QL39PFYatXULxtSnQgtT3 UmDrxK70uxjG6nnXfB7Hyw==; 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 1xNB3O-00CuDQ-0I; Sat, 31 Oct 2026 16:35:27 +0100 From: Alexander Ivanov To: andrey.zhadchenko@virtuozzo.com Cc: andrey.drobyshev@virtuozzo.com, svt-core@virtuozzo.com Subject: [PATCH hci-8.1 v5 1/5] vhost-backend: add vhost_set_fork_from_owner op Date: Sat, 31 Oct 2026 16:35:24 +0100 Message-ID: <20261031153528.3857823-2-alexander.ivanov@virtuozzo.com> X-Mailer: git-send-email 2.53.0 In-Reply-To: <20261031153528.3857823-1-alexander.ivanov@virtuozzo.com> References: <20261031153528.3857823-1-alexander.ivanov@virtuozzo.com> MIME-Version: 1.0 Content-Transfer-Encoding: 8bit X-EOPAttributedMessage: 0 X-MS-PublicTrafficType: Email X-MS-TrafficTypeDiagnostic: DB1PEPF000509FB:EE_|DU5PR08MB10610:EE_ X-MS-Office365-Filtering-Correlation-Id: 6cfa06ea-b2cf-4295-06c2-08df37649a41 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|36860700016|82310400026|23010399003|1800799024|5113699003|10067099003|18002099003|22082099003|13003099007|56012099006|261021121427099003|261009223027099003|261009221227099003; X-Microsoft-Antispam-Message-Info: /z0kA9yMX9d4VKqm4shxG7bdoJ7bvHpT7Lxz47HlHwCnBq3EJ5AkWP2+TK2KadbmizoeL1gdEC2LMYPDEHiVsT1ca5AejUBTVesU8m4lHNP1vQ2pDrR6MQDBJG4UN6MKVHDURKblLdBZsmgU8BjmmjeiF/+wk6MJIW1lxBlqfZ9xQl5ydjC/1oA48AxmYONuIENoGi6eOV6Pi+2jyLm/Nqf3aOjggFWva8neSKtfm68Y3thYbtliCOq7IVAWwVp4ZUwmO8ILBrDUGyxw1Cuu7CQw6AduuDsKJhdWH0ooHhOZPvM6/qTcq9GNh2br2UHJn/qWnZ++A+8Y8K9Yxr0EhztWcyzojatK0PxM3W/rJ/afdUhfhyQkgRBH0kZz8xMPQHJKN4uCOQw99wPKNI36WOjAdDCKc1ckQNwKN+f2IOtOxpA7gKdy2iyGJz3iikFYd4jaDoxpJFrzy5dVfJ9lb8sZghibIiT8OE5yVovN7LTiLYV83ne3YczrDlUS3P6oPFEph375V6vltSpWJAocZ0I8a8GY030hJn0TuTsVQgKBZHqRdfSM7udv5XJequfcaU0aoiD/lJLPdY8Qbwz+eYrfoGMg093um1iisuUtB0n9ujRDVwxysLMlmRO9OV07HCUHKZGQLuHCVyhIO4jB6g== 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)(36860700016)(82310400026)(23010399003)(1800799024)(5113699003)(10067099003)(18002099003)(22082099003)(13003099007)(56012099006)(261021121427099003)(261009223027099003)(261009221227099003);DIR:OUT;SFP:1102; X-MS-Exchange-AntiSpam-MessageData-ChunkCount: 1 X-MS-Exchange-AntiSpam-MessageData-0: BJORyYz85Rr1ukWXy2LxTlmaWcE28Hi6+3rWRCgODGbsAlMez/tk8p8jncBsx0SMRlTS1Rb1AMUERlWTb66vZFMCdnoN3E4Bdyv8semTLWhFLbm/kUSUvOnGUA1Mox2NXOYfFwFLXcvE/JleIM61TP56GuwpD3GnTgFo2XZLl+69H7CNDzkhvSTFOxIp3VQOPVFbldCRRwi4n3mbUWFWFvP+RPcgf6kEH8bvwzUwZ42o539mVTUzO+EoZ+kLmALug8EbxAslEaw4SpsVEqth0lOQSsZMokTWsPDBdEc7KgIOqIYVeimIB0AgfOYHe22DJKM6ir+JZpnAQx7XwAtUTg6xu6/EKIAo+w/RRV51ehWMvBxLjA7afmYN5CALfAHxLwFljVH79NNcd2atlMr7HW/uBWGokcg+NcPSjLMEwYkKg17zU5OBsoxPjPsfNYAc X-OriginatorOrg: virtuozzo.com X-MS-Exchange-CrossTenant-OriginalArrivalTime: 31 Oct 2026 15:35:33.4050 (UTC) X-MS-Exchange-CrossTenant-Network-Message-Id: 6cfa06ea-b2cf-4295-06c2-08df37649a41 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: DB1PEPF000509FB.eurprd03.prod.outlook.com X-MS-Exchange-CrossTenant-AuthAs: Anonymous X-MS-Exchange-CrossTenant-FromEntityHeader: HybridOnPrem X-MS-Exchange-Transport-CrossTenantHeadersStamped: DU5PR08MB10610 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 Reviewed-by: Andrey Drobyshev --- 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