From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: from AM0PR02CU008.outbound.protection.outlook.com (mail-westeuropeazon11023118.outbound.protection.outlook.com [52.101.72.118]) by lore.virtuozzo.com (Postfix) with ESMTPS id 22FCF8015A for ; Tue, 8 Sep 2026 12:55:18 +0000 (UTC) ARC-Seal: i=1; a=rsa-sha256; s=arcselector10001; d=microsoft.com; cv=none; b=IifwLsBLz8yFPr1MlRy9MpZ6gJBsgfbsodxqa0b535nWrYgtRIkI8K2urzOvcQJYGq00Z1c/IMDdKrunCWs2AhrtQwBHKPb9HER2fSnCF1N4GxptVClEEcLYaI5sAvPfNYPcbPh8CfBw0sLd45Mms5F0aW/bJZBwyNzNbH6j2N/CF40UKPcnggiG9LM6jD9m/bygEIXuGi30nf8EyHuXY3y0fK6SJ+qS0PQVnjRAhZbXilYpXX1RtKGreLAtr61gZ8L8SWhTjN3328+G5vubSz+Axeb2hCNdx+LHWhfSzKtAvW8NTsfKqwelTFz/fDccT51YyuYiTfHYPSpsfv/rqg== 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=IbTVcRaxpgZg4kDMRmJEFn9MdALNZtur4JbqwauaGvY=; b=ka0a7oha1zrBpqQ/lAD2LAQFEtMbp4b0DmEmkjDqghpvZ8oj8K2kqmDNqipwC9bgfH9evxx2pPsDKqNw4D2PL1TKPfI0YFyKrLedl+RB8hTiZaa4RJiZlRBHKzbCWw5kvM3KjCm/aeeNagrjJLruaowdTGSDPS0vnfuGmlvCVCxOrqfVAHsBf8LFka7+VbDKAd9uk/DK78XubSgY81gqwzaeZ/Qk9NyRCzR5t2SdW4vDEz2p1XbRcqZP0zRGomep5x4TCNZoI6k5k3PIcF6c84LDC3/8CUaNF4axkSCxFG6uyMQI7ZjZ2lc8Wj0N1UaJ5GR3AaQASfljKn9haKNqag== 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=IbTVcRaxpgZg4kDMRmJEFn9MdALNZtur4JbqwauaGvY=; b=ZgiFKXwE/1EWYDB3oQH1PqPgmPjpaGYFjddtt8R7pznEn5K9dG/Y6lZ08H9nSbtOEVAsBFvxH+3gqx4XUgAg+pNPKcQN918MYYiBtwGbdWQ3oU6ezJNhni04Ln5XNlgclEC/GrF4dQkjERPzNChnaIGAPHHXyP19IGwseJT5rxzQSAXRC+qZJhEqRgiQZgbRCXhQldKQQ/N6XVscGt3jBYzIyymo6Ao/H2BWR3ln6kC5HL/ZjW8PNGPzppcP9aLdOAEcE2EUQfxAejOBdYGIkZkqCCHMpflTclEJgSGGQZjVEmwndAn3a1Md7R7iDBdljhrYTMqEIiYFgPmzfymRzQ== Received: from VIUP296CA0041.AUTP296.PROD.OUTLOOK.COM (2603:10a6:800:34d::13) by GV1PR08MB10719.eurprd08.prod.outlook.com (2603:10a6:150:16f::12) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.21.406.7; Tue, 8 Sep 2026 12:55:10 +0000 Received: from MI3PEPF00008490.eurprd03.prod.outlook.com (2603:10a6:800:34d:cafe::71) by VIUP296CA0041.outlook.office365.com (2603:10a6:800:34d::13) with Microsoft SMTP Server (version=TLS1_3, cipher=TLS_AES_256_GCM_SHA384) id 15.21.406.7 via Frontend Transport; Tue, 8 Sep 2026 12:55:10 +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 MI3PEPF00008490.mail.protection.outlook.com (10.167.240.151) with Microsoft SMTP Server (version=TLS1_3, cipher=TLS_AES_256_GCM_SHA384) id 15.21.406.5 via Frontend Transport; Tue, 8 Sep 2026 12:55:09 +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=IbTVcRaxpgZg4kDMRmJEFn9MdALNZtur4JbqwauaGvY=; b=H5CZ/UuRvyF2 uhOSuzmJsPx1Ojc4+qFtMC14B0KfceOAogdMiU8dLgkyVzy8DCFiGK8YtRzAMHFsDsvV1gDRG9OUk P8YGGScnmKXAO1fOyeC0mKk4w+Z0XQdQtCdiBRUZJ91/raMLF2y4pqeOqnCZCK6w+6kyvgnV29jD6 bQg8HDocup6K6bLbXYjpQJ3M+1NVSFt+Xq7NHT3u/SfnD5SiZTqlrY4rufbFWYA2Zq1iHWxCbL8ro YQTupkwFeUMZSWoJI+ZMjErcIuZPkjVUAh2PLKyn58CMBbF3OBwrihni0gjrgiHboLzJvQ9rmLtRC FAjuxIjKg6MUsqib/843KA==; Received: from [130.117.225.5] (helo=vz9-demens-1.aci.vzint.dev) by relay.virtuozzo.com with esmtp (Exim 4.96) (envelope-from ) id 1x3vJP-009opv-0b; Tue, 08 Sep 2026 14:54:59 +0200 From: Andrey Zhadchenko To: svt-core@virtuozzo.com Cc: den@openvz.org, andrey.drobyshev@virtuozzo.com Subject: [QEMU HCI-8.0 PATCH v4 0/5] vhost-blk change backend setup Date: Tue, 8 Sep 2026 15:52:03 +0300 Message-ID: <20260908125208.278402-1-andrey.zhadchenko@virtuozzo.com> X-Mailer: git-send-email 2.43.5 MIME-Version: 1.0 Content-Transfer-Encoding: 8bit X-EOPAttributedMessage: 0 X-MS-PublicTrafficType: Email X-MS-TrafficTypeDiagnostic: MI3PEPF00008490:EE_|GV1PR08MB10719:EE_ X-MS-Office365-Filtering-Correlation-Id: 40593281-5457-4292-0b95-08df0da86a56 List-Id: svt-core@virtuozzo.com X-LD-Processed: 0bc7f26d-0264-416e-a6fc-8352af79c58f,ExtAddr 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|1800799024|82310400026|36860700016|23010399003|376014|5113699003|57112099003|18002099003|10067099003; X-Microsoft-Antispam-Message-Info: cub14hfpAhQxqScfNlcRUXcB04eLRVYTKnF5kUhqdy6ZbOnNTWcwUDmr4KoeiJaje4WDfHCuMjyUEpnQZXyJcSKHxYA7vYc54U1O2CrkSrTda1iY+u4bv5E9UnEqfQtLljPoKVakeA9y1EqotVJfDmTVLev5sbVNfpeLpi3C50PHY/U1u34YFSCHOs2KIMC89etYizSujY8QCxbsn4Pg5CMPf7IDFaI5x3qSYIN6hGPts6Hv28snBiWZK4eH6V1n2ol1etuUpMqrP8f7PplmTafDMc9eMN4lMUNh0ivwbkiJeafuhgTI9y0iAxmaZutqXiiFzshx8g8+MuLh1i+VkYHSW57b9TOBcWgK6r4fAAN2o9pmnSQVpsxxmp+FZ39Rw5sPIVtwc/DVZzEZaHtBK+B/hb5u4EiKS0k8ys5za/avC0QMthXn27L8C2fppicfj7N84G3qJL/ZX/wXV3h4Mery4L73lXhAiafB0Tv8C7Lh+CuH8NlvT9bioTImMG6NYOFJX14Rk7SB2HWmpEMTk6nc+Y7HqXZDK0piIcgb8VszoV3u9cmijuYWD+e6FFOxRiN18ZqzCE5re4Vf0+zLGAZREaANaFlE69/w2dkeQ5ovdhc/On+uWuD1vXPcML9190akLEOisNpLZxPYhy2nr7OTL+ReseNsZalDjjk+CvaA6AimFxHeY0ZnRwwwwntizLx6lwze0I7SjrTsX3VkJxUV/fHvp5gQcZVL5cM+kPLfqn9oK7WaQzxKlUdsPe2SNDqd5Ov7GPfoQTaX+ogynjzaU5Ide8pMjxm46Atb2fnyj70AiGCx+IZcxUlaGpPhN753ESRHWIi0S5aqWsyfCPwYR8uZ8ZdDvp+0mhinLGhC/4HBRLSRPG4PX6aIQHKIHAVgIcLG8qImaBxyGm3k7g== 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)(1800799024)(82310400026)(36860700016)(23010399003)(376014)(5113699003)(57112099003)(18002099003)(10067099003);DIR:OUT;SFP:1102; X-MS-Exchange-AntiSpam-MessageData-ChunkCount: 1 X-MS-Exchange-AntiSpam-MessageData-0: mPhnovF+S43ZgcOr3j549JkHdX3UR7FoYnqBOyuu7DY+eZAf4Zt5qZoLGMojhHJSgxHWw9a7TiCl4+qr8YAXEIseej8LnbZrdj0LWAVB3L2JXJlVWpoJQmEuZ8jy/8SQIW4ZvGelAT3kzrZ8is9VKksIvhEcZyMYMKnKUBx3anGttJ944nC5RcfIWl3hHJ59KhuHzq5EYCJJYuzPR/BA4eFDDRV1rDdMkjto6B10dMH509Uaa7jBah+rwP1Eh+EtK/4Bz6Cpw+8+BCj0ovbyNw10mx35kNDidQtnVSAIko+VEwfF8MocaW7bB0BtYkqQ6Yv8/AE6hpeScbYTGpjydkklCg/yTInwct6EX72q0BBEy2UB0E0T9X24LzTnwdINw8q9pVKBAhFfS5kIngKo/GmMBpHa3aBVqjuoVNxy8I1pV5DW8Sm2ORL2WbMxkyA+ X-OriginatorOrg: virtuozzo.com X-MS-Exchange-CrossTenant-OriginalArrivalTime: 08 Sep 2026 12:55:09.9048 (UTC) X-MS-Exchange-CrossTenant-Network-Message-Id: 40593281-5457-4292-0b95-08df0da86a56 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: MI3PEPF00008490.eurprd03.prod.outlook.com X-MS-Exchange-CrossTenant-AuthAs: Anonymous X-MS-Exchange-CrossTenant-FromEntityHeader: HybridOnPrem X-MS-Exchange-Transport-CrossTenantHeadersStamped: GV1PR08MB10719 This series changes vhost-blk backend setup from block node to a path to the device. Getting fd from block node was a hack in the first place. It looked ugly and broke encapsulation. Change vhost-blk to have it's own property so it opens and owns the descriptor. Patches #4 implement auto-resize by watching netlink. The descripor comes prepared with some filter from outside. v2: patch#1 - old patch dropped patch#2 - moved double close fix to new 'do not double close vhostfd' patch - dropped DEFINE_BLOCK_PROPERTIES_BASE exposition to the outside. Let's just use defaults for now. We can later check if tweaking this values makes any difference and add them back. - change vhost_blk_update_size() to return zero or error and move 'changed' to a separate argument - changed lseek to BLKGETSIZE64 (we already use BLKROGET anyway) patch#3 - check BLKROGET only if rw was requested patch#4 - rework patch a bit: now we expect opened and filtered fd from libvirt. patch#5 - old one dropped, setup moved to libvirt - added new patch to support uevent socket cpr v3: patch#1 - extend the double-close fix to preserve and free vqs after vhost_dev_init() clears dev patch#2 - make vhost_blk_update_size() return the changed flag directly - use ERRP_GUARD() for reliable error propagation patch#4 - accept a monitor fd name passed with getfd instead of a /dev/fdset path - verify that the socket is subscribed to kernel uevents - detach the socket after a permanent receive error patch#5 - use the proxy ID for the CPR fd name and block CPR without an ID - validate restored sockets and improve failure cleanup v4: patch#2 - document the default geometry values patch#4 - keep the uevent socket local until it has been validated patch#5 - split cold-boot and restore socket setup paths - reject restored socket/property mismatches - block CPR after a permanent uevent receive error Andrey Zhadchenko (5): vhost-blk: improve vhost_blk_device_realize cleanup vhost-blk: change backend setup vhost-blk: add read-only flag vhost-blk: watch the device for resize events vhost-blk: preserve the uevent socket across cpr-exec hw/block/vhost-blk.c | 452 ++++++++++++++++++++++++++++++---- include/hw/virtio/vhost-blk.h | 11 +- 2 files changed, 415 insertions(+), 48 deletions(-) -- 2.43.5