From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: from AM0PR83CU005.outbound.protection.outlook.com (mail-westeuropeazon11020095.outbound.protection.outlook.com [52.101.69.95]) by lore.virtuozzo.com (Postfix) with ESMTPS id 5E6DF8045D for ; Wed, 4 Nov 2026 13:45:51 +0000 (UTC) ARC-Seal: i=1; a=rsa-sha256; s=arcselector10001; d=microsoft.com; cv=none; b=UhesbSzOAQzLIFQU5aa5dJdCAec+uhMmwyQ1v1s7EwYbG8ySu9ENwhsQltNuXjvrtcZutpONBKkvARW4dPehiZh4xrAMYzJzWiBW+WwO3Hpfj7lEhBc9JnCm7SwylFpaSMNSNdYXBv3KSUNGZXMMZknkCdzP0rbDZ1F4D4SszFPLlZ3zrcFT2ZGDkKZePtYfDRGPFvkVDkfk6XypqcFlFyYLjdSV1O+Ok9krz/ebasciM+H5O/ewDxb1OZRYk6fuVupTjZJmoUIzXGY5td7rucSjKWwyhNKuvreohv78T8eJNp/mA/6zT5Vipyu65lV734+3vsRIfgAVFSuMBNR9Lg== 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=9lAk/nJoIZd58mQg8TWfB0vPU55Yz69EfqGZfNxomA8=; b=gNK5gYw6ZJI7FN+QTrM4bgPaFClY4tT3dcZzamYoGOqrTeRJzehBTv5esffHZQqcw5EhCeuXpIDEM49rk642/0Wt6QirR3o+OXw01wn4wLDS8qO2Cn63YPVkatY8F7TUkXCjCqHp8KIU70whGJNF0J/dxR2FGYPkBfqO4JFKT6AGnao0uvHwt4AwPDfoIBKXT6hi8RlD4bgaguG7MBytgiDvY4hg/uNgdvfsrVSoazIGX8mRZVhiX4PPheUfnAlggZ62fwe5xRtlX1fFujUGrbgWUeUIUJQCoNqtSoceMEshKNFOMurwDdX6Y0xhomDEnrzRsLBTx01ZZmvjLzB+xg== ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass (sender ip is 2a00:1450:4864:20::435) smtp.rcpttodomain=virtuozzo.com smtp.mailfrom=openvz.org; dmarc=pass (p=quarantine sp=quarantine pct=100) action=none header.from=openvz.org; dkim=pass (signature was verified) header.d=openvz.org; arc=none (0) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=virtuozzo.onmicrosoft.com; s=selector2-virtuozzo-onmicrosoft-com; h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck; bh=9lAk/nJoIZd58mQg8TWfB0vPU55Yz69EfqGZfNxomA8=; b=LRjgBe4rHebiv33j258JruWDwInpeCKy8Xg1BSOfaHLVTsc+vB1mbnIMHF9bRjeBogdY1TWCkakO9CJnI214PLCze1GP6U5cpqEDcBw2yhJ8v2aAjufLU1397cik+VLSPkTXbuLUbbP5ZaW0WvWv4smDmRzkYdCpec2zd9u/gpY= Received: from AS4P250CA0011.EURP250.PROD.OUTLOOK.COM (2603:10a6:20b:5df::13) by DB9PR08MB8650.eurprd08.prod.outlook.com (2603:10a6:10:3d2::17) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.21.569.12; Wed, 4 Nov 2026 13:45:47 +0000 Received: from AM1PEPF000C1AD9.eurprd02.prod.outlook.com (2603:10a6:20b:5df:cafe::74) by AS4P250CA0011.outlook.office365.com (2603:10a6:20b:5df::13) with Microsoft SMTP Server (version=TLS1_3, cipher=TLS_AES_256_GCM_SHA384) id 15.21.592.10 via Frontend Transport; Wed, 4 Nov 2026 13:45:47 +0000 Authentication-Results: spf=pass (sender IP is 2a00:1450:4864:20::435) smtp.mailfrom=openvz.org; dkim=pass (signature was verified) header.d=openvz.org;dmarc=pass action=none header.from=openvz.org; Received-SPF: Pass (protection.outlook.com: domain of openvz.org designates 2a00:1450:4864:20::435 as permitted sender) receiver=protection.outlook.com; client-ip=2a00:1450:4864:20::435; helo=mail-wr1-x435.google.com; pr=C Received: from mail-wr1-x435.google.com (2a00:1450:4864:20::435) by AM1PEPF000C1AD9.mail.protection.outlook.com (2603:10a6:20f:fff8::258) with Microsoft SMTP Server (version=TLS1_3, cipher=TLS_AES_256_GCM_SHA384) id 15.21.592.5 via Frontend Transport; Wed, 4 Nov 2026 13:45:45 +0000 Received: by mail-wr1-x435.google.com with SMTP id ffacd0b85a97d-48e47347279so435803f8f.1 for ; Wed, 04 Nov 2026 05:45:45 -0800 (PST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=openvz.org; s=google; t=1793799945; x=1794404745; darn=virtuozzo.com; h=content-transfer-encoding:content-type:mime-version:references :in-reply-to:message-id:date:subject:cc:to:from:from:to:cc:subject :date:message-id:reply-to:content-type; bh=9lAk/nJoIZd58mQg8TWfB0vPU55Yz69EfqGZfNxomA8=; b=U3gJ+r61EG8i7vxIC8GiR0gGFwdIlfxTCbVL4+f2pYhhkUalW1PKzZa+Toujd4FsXv uEPFo4S0vOuvqcMOZwpa7leX/lAHbi/LHsYg2QFo0UULiE3KwOWP1fG6NCUqhKMsHcia plu7kPsfINViD2UgcLfMiL7hxrwa/dg9rt4DVyS/6DTiCEPEOkdhGnYH1NA6v9+nbSZx gwkEXle2nUIi6CvgyMkLLONxfeOgg1i15iPUo7eZX2FNcIt4PSW/dLmzBtpawLlqkw8+ aQebnXzdDqm1ck/sCCqWZa63Xxap7wcOHDs2yZF/syaJZodzTrfcI90cKHEyJHDV+kyR 8xWg== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20260707; t=1793799945; x=1794404745; h=content-transfer-encoding:content-type:mime-version:references :in-reply-to:message-id:date:subject:cc:to:from:x-gm-gg :x-gm-message-state:from:to:cc:subject:date:message-id:reply-to :content-type; bh=9lAk/nJoIZd58mQg8TWfB0vPU55Yz69EfqGZfNxomA8=; b=elJI6nsF4YNxIi5rUbWGuHBNUDaV/acv8fFecl3d7X4CE0Q0aLEKB1MPAXP9rTe4G8 TbdgxzzMUhbSaWfNX2lbJoZ46Nn8IpoHk/gHXYUkM07kTQu+FGGjck/BjseHjxOTX9gE uUV2y1Mic29IsNiPIGNvjxuX7NvU+xKCqn7TxaN5LNlBDG980POcBDaXKX5CQM8sDHFx 6TOBln+rWuQZC9LYYZp0599AD65K2Qq24w9STVF36D63PDoWARdvViVfyY+ztAEOfCFB g/RdoKENfZiQq39wnnqeyAWf3M6mnfmDGk8994nWGe09lzEZ5Hf7Ce3FAHVVb16O+axL uPXQ== X-Gm-Message-State: APuU4Z/ojLJ9XqZ4juZMu2akDbJFNckYgd7yS39TbmhgXQhcRjyPGaWE Fy2JihZhHB2ifkY48vt5alKE4fXYntuwZcoQWAXQ/XqaDx+ooQ1ugWCiiOHtHf42bGCZmHPr5Ch CNja/YHA= X-Gm-Gg: AYBFou2HbrfHPxF79BGcG/CN1Sr7O1KsxN3FSyhx/ZIBySwBt5UZGsJoQuxnuUeEdtS F86Vs6SUb4w5rSxIRHn/Eo0p62tWGSWqY2nwBN0yvbN3G5H4MxPvarp0/nhDAAQs3/PvjzVtyqT AHS2tAhqxAvDiEcTStyUTpWAH842mRfoCkWbpamUt8cGQ+cmO9YZDRUWPo6zQYmdIRbOUBbpslQ jozedEQ3XKU3xCXf08hPvNDcht52c7xuBoBq0PalWB8/L2tYSIkaYovYzxXiNd90cd+Y3hFaQpA Azb7lxZ3YyuwR2toKKLNF7HuS/uuQzEXc3EGK3eJqYbNLOJk4C/z0zw01K+hYdxKo9VZlRRsjoB jnpzaqPw5QoPr/pXFUnMt2ONyw2+gqAmicJ3wmShYJ9ufYjwH3NliS9tffmYWxzQ+JTKR0/fQnI 8vmgibb1yVTfBZu6XYkNSsKPtEJk1Sm1RLQtgdiLCbHMEbZng/RrkFLHGXYc/eLXFy5NKMnGiYv xllfV5oSpz+u4XDdjhbuF4wuK6uz0MmMXCFKWUyrmd0GZ/gxjtWAtdTGwsPa19S5ecpPrxwj+Au Og/0f7MMA/uSs4+HnB/e87ckjQ== X-Received: by 2002:a05:6000:430a:b0:48f:d3ba:7314 with SMTP id ffacd0b85a97d-48fd3ba7392mr5073949f8f.21.1793799945437; Wed, 04 Nov 2026 05:45:45 -0800 (PST) Received: from athena.sw.ru ([2a06:5b06:b600:300:162e:5a6e:fd46:18b7]) by smtp.gmail.com with ESMTPSA id ffacd0b85a97d-48feeb51a9csm4005178f8f.59.2026.11.04.05.45.44 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Wed, 04 Nov 2026 05:45:44 -0800 (PST) From: "Denis V. Lunev" To: andrey.drobyshev@virtuozzo.com Cc: svt-core@virtuozzo.com, den@openvz.org Subject: [PATCH hci-dev 3/6] scsi-disk: refresh the cached capacity from the resize callback #VSTOR-130961 Date: Wed, 4 Nov 2026 14:45:36 +0100 Message-ID: <20261104134539.1519657-4-den@openvz.org> X-Mailer: git-send-email 2.53.0 In-Reply-To: <20261104134539.1519657-1-den@openvz.org> References: <20261104134539.1519657-1-den@openvz.org> MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit X-EOPAttributedMessage: 0 X-EOPTenantAttributedMessage: 0bc7f26d-0264-416e-a6fc-8352af79c58f:0 X-MS-PublicTrafficType: Email X-MS-TrafficTypeDiagnostic: AM1PEPF000C1AD9:EE_|DB9PR08MB8650:EE_ X-MS-Office365-Filtering-Correlation-Id: 52b056af-ebf0-4e57-f782-08df3a79ed7f X-LD-Processed: 0bc7f26d-0264-416e-a6fc-8352af79c58f,ExtAddr X-MS-Exchange-AtpMessageProperties: SA X-MS-Exchange-SenderADCheck: 0 X-MS-Exchange-AntiSpam-Relay: 0 X-Microsoft-Antispam: BCL:0;ARA:13230040|704162011799003|6059299003|9140799003|61400799027|376014|48200799018|43022699015|82310400026|261022105027099003|5063699009|56012099006|261021123027099003|261009223027099003|261026135527099003|261028144727099003|261026140227099003|261021121427099003|261026121527099003|261102123227099003|10067099003|55112099003|18002099003|16102099003|22082099003; X-Microsoft-Antispam-Message-Info: mzyxECIIIllSoaJdc0MbvoYsgWAV+ORZcyKYQtDj8VYWecev1HAMqQn8tRS/qY5TzVYVLGWhzkr1sZXfhft9bsxYNU5qxO7bbNrexzXqoFVxN0x/atjyw1FvDyRMCcjwUxgTz9hP72JaltEwQkQhf0DIfiQ7OXbRGPSixxmB6aneH2K0I685sHCJfSOfw+bf6uh6MgEAxdCqygllt51Lu+XNgYpgvMbbSwx2sX0yIUfCzJ59KIdHj6qn1bV64PWDA8EEym01/tVZrMupHYON5jszofCohpZlwQe99PWn1XtfYpEHp99j2hlyZ8rSTNMHz5srbA0yMVEHbm1Gs6fVWcJYMUGJ26xsbA1SadbuzrnHNlaFOW/bFJSRc7sbkMJfnU6MwtmIIBvc3WxFf4rbSv3nclbXigOP9RD0XkJNDAwspbO9aYUvZxSV0zbD2OBo+iW9vvWL6qNozErnLbFoJ75gsd5YKrOcEZ5VYOsF4QqbcQU9RKQEXQjM5ZrHxypLOkyQenrlgKHUTY2xwMYgrovD5Gr7nS14EYIRDoTvsdkusll9EB8DLwch91f4Fnv8+FFavy/4GpRKdlHqi344sT+PNHK90dBOWXC3JXU6IzPqXrWY2L2RsJVNZ9e8L38tQ3a7us3O+GW2PGooeAKopT8fA1f/flsrvnhElyYAAqHjHiNhJwOO0jf1ZNOqbZ7F6q6XIKqmiZeT2osEjwF1U581hZ2JKvGkHrq27bd35MMQCj3PB9CZkgIYI9/oSQZGvAsL3EK6MHpg5uIrlUzIUoZCWnXdDKFIuEGihBxnatadhq9mxBnoqwEr2NdMaGG9tm0eJAgDizoIqENlWDZ3Jm3AFvs3530VyKAhbzrv78rNz/DBh0PWW9zfK6U+Xhyxn5pPtWzH8henOMcvV5nl579n+TMFHwGPJM6azeS66I0= X-Forefront-Antispam-Report: CIP:2a00:1450:4864:20::435;CTRY:;LANG:en;SCL:1;SRV:;IPV:NLI;SFV:NSPM;H:mail-wr1-x435.google.com;PTR:mail-wr1-x435.google.com;CAT:NONE;SFS:(13230040)(704162011799003)(6059299003)(9140799003)(61400799027)(376014)(48200799018)(43022699015)(82310400026)(261022105027099003)(5063699009)(56012099006)(261021123027099003)(261009223027099003)(261026135527099003)(261028144727099003)(261026140227099003)(261021121427099003)(261026121527099003)(261102123227099003)(10067099003)(55112099003)(18002099003)(16102099003)(22082099003);DIR:OUT;SFP:1102; X-MS-Exchange-AntiSpam-MessageData-ChunkCount: 1 X-MS-Exchange-AntiSpam-MessageData-0: KmxLbS0CNFy9/t6wPbpXVdUvRJRiLg+0Re2V3l+54JKFSMlR2LodFfPFbKU/ZLNZNXPwG7ulYCpVKIzgbS/laxbZ0UYTWb5G6IRk72c2/evJz0KPO0tpwf/CWv/+fIcNlkHKIGdq3dPuxM/Ef4HyZzNUBH17ZUeDeyYul7UEGlPHVX7yo8HIlIWhYjYGXlRKKimefcn54m6CJF5dPRnQAdbVyo1KkZwkbhFg3nowUMfrGkEedPWOHQce1fCnvdNlgO49HHaUD0Bt6dgTsFInt1Wl7GPlFLAv1HqOJe06yqgBBSnDh7BBOSGWE5f3DqsHfsX8UikMG4AzohESen7pk1W1/81n5Ml0JlY9ht4PB3sTd+vQo2Isg+fMTIvfP9rn3g1Ny7F8mG+6gpduEKUR2osAMT0OQ9p9OCz+ZARrDYliUxldHNvdacYtmjvlac3c X-ExternalRecipientOutboundConnectors: 0bc7f26d-0264-416e-a6fc-8352af79c58f X-Auto-Response-Suppress: DR, OOF, AutoReply X-OriginatorOrg: virtuozzo.com X-MS-Exchange-CrossTenant-OriginalArrivalTime: 04 Nov 2026 13:45:45.9542 (UTC) X-MS-Exchange-CrossTenant-Network-Message-Id: 52b056af-ebf0-4e57-f782-08df3a79ed7f X-MS-Exchange-CrossTenant-Id: 0bc7f26d-0264-416e-a6fc-8352af79c58f X-MS-Exchange-CrossTenant-AuthSource: AM1PEPF000C1AD9.eurprd02.prod.outlook.com X-MS-Exchange-CrossTenant-AuthAs: Anonymous X-MS-Exchange-CrossTenant-FromEntityHeader: Internet X-MS-Exchange-Transport-CrossTenantHeadersStamped: DB9PR08MB8650 List-Id: From: Denis V. Lunev scsi_disk_resize_cb() reports CAPACITY DATA HAS CHANGED but leaves SCSIDevice.max_lba alone, and max_lba is what check_lba_range() compares every request against. Until the guest reacts to the unit attention and issues READ CAPACITY, requests beyond the old size keep being refused with LOGICAL BLOCK ADDRESS OUT OF RANGE, and a guest which never re-reads the capacity never recovers at all. A guest migrated onto a device whose size changed underneath it is exactly such a guest. ide_resize_cb() refreshes its cached size along with the IDENTIFY data it reports to the guest. Do the same here, so that the notification is what tells the guest about the new capacity rather than what unblocks the device. Factor the computation out of scsi_disk_reset(), which already had it. Signed-off-by: Denis V. Lunev Message-ID: <20260812121500.1034178-3-den@openvz.org> Reviewed-by: Philippe Mathieu-Daudé Signed-off-by: Eric Blake (cherry picked from commit f26eb3c2770ea6a85ffb306a6ca5602f0d2f79ec) --- hw/scsi/scsi-disk.c | 16 ++++++++++++---- 1 file changed, 12 insertions(+), 4 deletions(-) diff --git a/hw/scsi/scsi-disk.c b/hw/scsi/scsi-disk.c index a501c7ffa4a..80a65c20005 100644 --- a/hw/scsi/scsi-disk.c +++ b/hw/scsi/scsi-disk.c @@ -2388,13 +2388,10 @@ static int32_t scsi_disk_dma_command(SCSIRequest *req, uint8_t *buf) } } -static void scsi_disk_reset(DeviceState *dev) +static void scsi_disk_refresh_max_lba(SCSIDiskState *s) { - SCSIDiskState *s = DO_UPCAST(SCSIDiskState, qdev.qdev, dev); uint64_t nb_sectors; - scsi_device_purge_requests(&s->qdev, SENSE_CODE(RESET)); - blk_get_geometry(s->qdev.conf.blk, &nb_sectors); nb_sectors /= s->qdev.blocksize / BDRV_SECTOR_SIZE; @@ -2402,6 +2399,15 @@ static void scsi_disk_reset(DeviceState *dev) nb_sectors--; } s->qdev.max_lba = nb_sectors; +} + +static void scsi_disk_reset(DeviceState *dev) +{ + SCSIDiskState *s = DO_UPCAST(SCSIDiskState, qdev.qdev, dev); + + scsi_device_purge_requests(&s->qdev, SENSE_CODE(RESET)); + + scsi_disk_refresh_max_lba(s); /* reset tray statuses */ s->tray_locked = 0; s->tray_open = 0; @@ -2427,6 +2433,8 @@ static void scsi_disk_resize_cb(void *opaque) { SCSIDiskState *s = opaque; + scsi_disk_refresh_max_lba(s); + /* SPC lists this sense code as available only for * direct-access devices. */ -- 2.53.0