From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: from AM0PR83CU005.outbound.protection.outlook.com (mail-westeuropeazon11020129.outbound.protection.outlook.com [52.101.69.129]) by lore.virtuozzo.com (Postfix) with ESMTPS id 422E780F7C for ; Thu, 29 Oct 2026 09:23:15 +0000 (UTC) ARC-Seal: i=1; a=rsa-sha256; s=arcselector10001; d=microsoft.com; cv=none; b=OlnQDYOdh95x/bGP8UT7ippwsxUDdvfVRVyZPD7Fz2EBGC+Nk1va+L7YWa0/dtBa3fGxCYm4DoUicFNWuGWgbvtK1Qbj0EJdN9frsuc+PYr2f/MSaQ7KtbN6nJ700+eukgFP9zEW7qLwAiGSD8/QTmOPTaX8Xed3VXKHRb5rzv5L7oViBmNseu/ndwGgM0RXBeu5oVxUKyQoTH9681hieJOcG2OqlSuYAmr+/9sCTlGKPYQpkxWpK9WvZItOhG2HQnnvEJVZIQrv3G1YdzGSZV8sUVqfpWWWZRgOlEc92XcRcrkiNb4ndZFckjjIZvNtj7bMLj0wqkf8HtAyXMgbHw== 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=RRvTz9HK1KvTrtgVqSHHqZ3UVqqjr7qemo+TmTZo2ZKWEPQFUhALtnFeC4YlCxIdFrrbjpEOdt+h+8j1YsErG1/ONO2CrVP8/LkdV56u3tCS7CuuE8Io5k+05ffgHZgf1clcokIHFLYRXlK9XdTTcMw3ftuFKa9AqzX4DEqabrfB1PWqBZ/SydkPf93xDLmsM3OnKcH/1wMkpIt4jTeDgFS54yCOVH3mTzlrxLeWUcvsQ0VghIFWIHsHobKYyCfGgmpcFNTDq4QxqCTicjSN6/7tSHEOYTERjnuwWC3NLKykP6dqheKoMW2zNR+St4AEXtde4vCtN5clL1McjflbbA== 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=qarj02HMU8buH3YV6jUCWM2WJ6nYS450eHYEVj6rdi1cBXDG+E8lT8v4ASijYMpdbSmu6OWvi45qK1T+J0lVgELlCBkp3zxf8X+Dp6aSPje08rubWeYoGZIkSUgwlV0VgdXsK+LbTflb1j7edL4YMNQrTGJm6+xNh2tgq1+JdAhQ01m5Hw4BFyesa/D1U8rddChgQh2hKpT92zg1LEaPJUlDuO3AOTAUbwftWa2yrP51ZoRKuJ5PCMIJyqHsaEEPkwDoL2t4IhnZPs1hLLrrokYLt3qZBViVigucQJV//TmQjQk3uQxkMGQMXyBq3XBVC2CepYzWipV2aXTjXkbVxw== Received: from VIVP296CA0104.AUTP296.PROD.OUTLOOK.COM (2603:10a6:800:355::9) by DU5PR08MB10804.eurprd08.prod.outlook.com (2603:10a6:10:522::13) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.21.546.18; Thu, 29 Oct 2026 09:23:08 +0000 Received: from ZR1PEPF0000E6BA.eurprd07.prod.outlook.com (2603:10a6:800:355:cafe::14) by VIVP296CA0104.outlook.office365.com (2603:10a6:800:355::9) with Microsoft SMTP Server (version=TLS1_3, cipher=TLS_AES_256_GCM_SHA384) id 15.21.569.9 via Frontend Transport; Thu, 29 Oct 2026 09:23:08 +0000 X-MS-Exchange-Authentication-Results: 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 ZR1PEPF0000E6BA.mail.protection.outlook.com (10.167.241.73) with Microsoft SMTP Server (version=TLS1_3, cipher=TLS_AES_256_GCM_SHA384) id 15.21.569.4 via Frontend Transport; Thu, 29 Oct 2026 09:23:06 +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=p07HXLDzX+Pl ylt+zsM2VOC9lu6WdvkVD862Hvf+ni149e5ex0cPfmL0xGmszGJS7k2sIj0b30Gy18PN6HrPfp5u+ kPao7YYHxwbCB3gQScSi0sPQQK09ecW1GBPIg+WRj/uBOhL7OFVMDFxFsGScGvY3aKSYNTDFrSGlm 6/yG5CR+CCG96YvUUvvKuiC8m9grbeCJlaDNl+XnpMd48vKuaSRkYLg/ln5U4GLABO4OK6E5Iv3rb kO+1vWKeubG4pT5y/mCGl9NLFZy65lY3Kf+hMWaOjhdA6f8LHLazMSRU8gOWcVt3S8oKvnZV9aKTL KFN0rB15M+vkYeZFIhVsDw==; 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 1xMMHu-000QvD-2f; Thu, 29 Oct 2026 10:23:04 +0100 From: Alexander Ivanov To: andrey.zhadchenko@virtuozzo.com Cc: andrey.drobyshev@virtuozzo.com, svt-core@virtuozzo.com Subject: [PATCH hci-8.1 v4 1/5] vhost-backend: add vhost_set_fork_from_owner op Date: Thu, 29 Oct 2026 10:22:57 +0100 Message-ID: <20261029092301.3286535-2-alexander.ivanov@virtuozzo.com> X-Mailer: git-send-email 2.53.0 In-Reply-To: <20261029092301.3286535-1-alexander.ivanov@virtuozzo.com> References: <20261029092301.3286535-1-alexander.ivanov@virtuozzo.com> MIME-Version: 1.0 Content-Transfer-Encoding: 8bit X-EOPAttributedMessage: 0 X-MS-PublicTrafficType: Email X-MS-TrafficTypeDiagnostic: ZR1PEPF0000E6BA:EE_|DU5PR08MB10804:EE_ X-MS-Office365-Filtering-Correlation-Id: b2798159-c925-48b2-d945-08df359e3dc0 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|23010399003|36860700016|261009221227099003|261021121427099003|261009223027099003|5113699003|22082099003|18002099003|57112099003|10067099003|13003099007; X-Microsoft-Antispam-Message-Info: mYnaXVYn9wn3Nf+Mi/wTTpGquPk7B+uXh78MbakhOoZDYfmp7ivIgdJwuWBDqgV7iz7udknGci6ALn35hjAlr2bijEAmdNiPPZlfALKajjjKDaDHKAKf7y7CYXZ5rEIZ/6EarWdZ0f3LojRa9WXXdjwdp0Q2YO8/vTgEStkjV1aSr6wo4CT2vtZxhG1qwMQA9meUuS1ozFiib4QC13daf09ih2JDDwgbjkEDS0A3NR2icol8l4TrAKpM1jxrnjsa+4mDgKo/KEFmYMmA34sn218D6N1bwg78WBnkNOm3320Y3Bhu5NCkEXfTmibDpbvc3ymiY7VxH778zq9fxaVh8eNzeaTdcIOOVBYGN81HC8V6DwpSiWLK+sP2psuXc0mKaxe2uOP2SfnHQ3TgvzrWdeE8dq2jPfRO0puDUjlU7FwUVUungYQ1rU0cgi0vpWXbV+llzwlvvuXQePyrmhN1O8RJP4CjjSc7WL2suqMJT7CB1BNOll7/1cmBC5jork6icGizxjnNVUofIVMySkIhkkH34zKHTStynK5xzOKMKRFqptiXVOudLDXeusCmTXJpTiWsCsKuRzkTCNuTc2xqbDmtUlHWlnJVxfTF1PDcrCzq5F6g5eeiqeAiEG+weRaO/wZ9AH3a7Y+gD9eOGYgR3psluqhDw/6o5LNSRrvX8UYthtaYz0tMycQpu2ZD/aUBqYIofJohIXwXDmO54l8BmAbJkZg/9hi4DL0qU9sV8K+jBwfgeHO3qAhFpLX3DkTglKdiUGQw2GqWpTObDf1yrH0Ow3lvn6kYtx+1PM0yk2qJa+0892I9XDmdS6hGCL5OiEWMx5c1t1bwrHSFiVvVrYztNkeP6AA3ffyJA44VMqgCr6bDDAnWqiM3FwyWr/mf 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)(23010399003)(36860700016)(261009221227099003)(261021121427099003)(261009223027099003)(5113699003)(22082099003)(18002099003)(57112099003)(10067099003)(13003099007);DIR:OUT;SFP:1102; X-MS-Exchange-AntiSpam-MessageData-ChunkCount: 1 X-MS-Exchange-AntiSpam-MessageData-0: U19POiFH+Tl9ph0LsQ9YujcfCYPb6XCqynSkFWBO5sLdp232i6+gxvhh+JStiLhmuH5nDirNU9VZqf1Jd9ZLR2uRQtbLtRKby9ruV/cXFXOjBCKezVIb08Kcj7WPDw/Qnwm7l3eJ9NGaUltnYDxBr4QQ30VxonNbXj8Kz4Ht2C6TWypcnFwemzX+LoVkiqrZ8kQXNhj50kqVBVifVb0PhSHDAe0An1lIWXkZXNIp9OJzD+lvjUKgSWBMTe7BuB5jY+MjsySV2ShT7VkcZHoD83xwaekOxCTJgq1pGYirEXo2cS1cwp8YrvY/ALstLxGPRS7LLqQVSd73bDyWibSyhZWondwp1hVZ3Je9fRyCMJBGLUsEfC5ri7+O9qYq3rcISJhEQEEfhbo7yaJhUB9/Yjn7OMRI4XhOIhOjI3VLe4LIPWNKuE5dhS2kksnhq5ig X-OriginatorOrg: virtuozzo.com X-MS-Exchange-CrossTenant-OriginalArrivalTime: 29 Oct 2026 09:23:06.6528 (UTC) X-MS-Exchange-CrossTenant-Network-Message-Id: b2798159-c925-48b2-d945-08df359e3dc0 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: ZR1PEPF0000E6BA.eurprd07.prod.outlook.com X-MS-Exchange-CrossTenant-AuthAs: Anonymous X-MS-Exchange-CrossTenant-FromEntityHeader: HybridOnPrem X-MS-Exchange-Transport-CrossTenantHeadersStamped: DU5PR08MB10804 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