From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: from AS8PR04CU009.outbound.protection.outlook.com (mail-westeuropeazon11021129.outbound.protection.outlook.com [52.101.70.129]) by lore.virtuozzo.com (Postfix) with ESMTPS id 4E02C80D65 for ; Tue, 27 Oct 2026 10:26:30 +0000 (UTC) ARC-Seal: i=1; a=rsa-sha256; s=arcselector10001; d=microsoft.com; cv=none; b=RK3/98Bhzz7GEFCYPH3+9XDh1p/sGuOAMqAjRfvgPoBchuTbytl608dCWnSp/CO/4z+xD8+s0n5fCuSGOmH24533TaIde9wHszFNipvrGgkcvSmPljW5U4NUKlZOGWL9tZtdRaOyJspBs5YP9IQauRrJUvpk44TwPHpW+dVTiX97Z7Lu1Tt9IE/U4OI0zTuwrZeqsNPyLDNejhXEmeiRlFVawTVYfEYJt56b/pieD+cjBBYJJVv6/DEb+jAU0LxdlDmOZwjY2WfIQ5M4fEzkn1NMnaIcoop4pP+Y0zHMeF4UmqAT3M2WB1PMSSYEAZxDcN0Blxn9aDsuRC+C1wpocQ== 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=6sdS9XfpGHVknWx6D2ba5tQs2tpUJ7aP1kYOHnoLcRM=; b=sGrRD5oNdlYTKVx3l0slJxrA4aJAGD7GOjFYyuNCC7aX2W4n6D4OHke07TPYosRnXd/t0AgW+Rut5W4dz3wxeE8ZIRHyyZlYAQb93DMmxu+RA8I0S4IjDT0JE92mbbg0qTbUn4V11yVoLpj0J1fhbsqGtAh6WR1Cn0E/EcQDJuvHRgMhtW/9hHQ7kI8JlVC6bVvIk9koKAlvDUjBD6l9nCUpNUv28P1ge2WB9JUx64LnLPldCkt2PAgSBLSLcekB+XoK2q4hERbqa0cwXzYq1cCuZGeFo6sVl9MjOG7XhOLifVAGvCc42HRkNigU0N5ydoopKWyCrTdqR7Vi8+D43g== ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass smtp.mailfrom=virtuozzo.com; dmarc=pass action=none header.from=virtuozzo.com; dkim=pass header.d=virtuozzo.com; arc=none 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=6sdS9XfpGHVknWx6D2ba5tQs2tpUJ7aP1kYOHnoLcRM=; b=UBIKTLoUGWwlCM4TERkA+jnNdLou59eA7K+Zs5Pif64eYDOvifR730cD9t5HmcVNQeCtev+lP6ob4WG1blf8D/C3vKq/MlnP2/S+kDxqBVf7VQaRq8iLz27r/ALluEkwTciJvvdKpDX6xYvmNmoTGvGqKqiV20j0Yh9AONZ1ltOljDR5xhPnysDzqvPpov640eoxJCTnuookAnc9LZl2hiCvnwtR3J4lvGC0vrTxTT16QZ/LP7uigkd+mYUkWgi6nSRWrzyuRKwzesV836wCbsJDzQ+Nxp5UeG9LNUhuHu+TDYVa3HQZD6n26x2hwFIkTa5ySqpsIuhxSMQ7Tqqshw== Authentication-Results: mx.microsoft.com 1; dkim=none (message not signed) header.d=none;dmarc=none action=none header.from=virtuozzo.com; Received: from VI0PR08MB10656.eurprd08.prod.outlook.com (2603:10a6:800:20a::12) by AS2PR08MB8693.eurprd08.prod.outlook.com (2603:10a6:20b:55c::5) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.21.546.22; Tue, 27 Oct 2026 10:26:27 +0000 Received: from VI0PR08MB10656.eurprd08.prod.outlook.com ([fe80::4e37:b189:ddcd:3dd8]) by VI0PR08MB10656.eurprd08.prod.outlook.com ([fe80::4e37:b189:ddcd:3dd8%7]) with mapi id 15.21.0546.021; Tue, 27 Oct 2026 10:26:27 +0000 From: Andrey Drobyshev To: svt-core@virtuozzo.com Cc: andrey.drobyshev@virtuozzo.com, den@openvz.org Subject: [PATCH hci-8.1 2/2] iotests/290: add 'discard' and 'write -z -u' case with a snapshot #VSTOR-151885 Date: Tue, 27 Oct 2026 12:26:18 +0200 Message-ID: <20261027102618.798471-3-andrey.drobyshev@virtuozzo.com> X-Mailer: git-send-email 2.47.1 In-Reply-To: <20261027102618.798471-1-andrey.drobyshev@virtuozzo.com> References: <20261027102618.798471-1-andrey.drobyshev@virtuozzo.com> Content-Transfer-Encoding: 8bit Content-Type: text/plain X-ClientProxiedBy: VI1PR04CA0056.eurprd04.prod.outlook.com (2603:10a6:802:2::27) To VI0PR08MB10656.eurprd08.prod.outlook.com (2603:10a6:800:20a::12) MIME-Version: 1.0 X-MS-PublicTrafficType: Email X-MS-TrafficTypeDiagnostic: VI0PR08MB10656:EE_|AS2PR08MB8693:EE_ X-MS-Office365-Filtering-Correlation-Id: e2f7880a-f6a2-4555-42db-08df3414c260 X-LD-Processed: 0bc7f26d-0264-416e-a6fc-8352af79c58f,ExtAddr List-Id: svt-core@virtuozzo.com X-MS-Exchange-SenderADCheck: 1 X-MS-Exchange-AntiSpam-Relay: 0 X-Microsoft-Antispam: BCL:0;ARA:13230040|23010399003|366016|1800799024|52116014|376014|18002099003|22082099003|5113699003|3023799007|56012099006|261021121427099003|10067099003|261022075727099003|261009223027099003|261022115727099003|38350700014|261026121527099003; X-Microsoft-Antispam-Message-Info: 0tUhSADv1weJLuPwVUiKBw6v3KZ0PBvGUY12WT1MddSoZ56abYKY7V2o96KW9pDgjqYRisZXcjpfIkq7vwvImPWeZIdNB4DpPCh5C7R3zP0Nv40x2Fip/cVwFkxGU3BhEFUCmCkcHMkjl79Ijt8x813p8PBwsmHvtauuakiEgfThJSGwwnKzVQ13RIWFj0gWLSuV3r0Rkqqygg2cXqySl0hoAFZ2NS9mWPqaKoPWjNsekiGpBSdJU9vcPCW7R0ywP309Ymi1uXp7i8foEJKB+uiKB6WJv9rwFqsyvT7red0ITwWHhbJ/bcC6VHWhliP+odk9blpSk3JDCI8ITMVs5h7M8HY6rrSrI/JIuGRo+x+CllJQDohBGIml+Xzwi5Z4AI67IsVfSYx0Be6JHoE24wKtLKlPbt4Z/1ZfT/UYmbEhUjg+ni4yrSbM8N/j73n8THiJsom/KeB1RulP5iCHMWdbkHte6Se5GaY9yOlPMErZzp9FoZABzcwgGH5bKUwllRVAqgCyf8CU6dTZuzltuhIoHWsTzFO1lihsDINz+p2w9buUVXcFvx7ZBfg+3YtVpTEd7kS4eujKuwaQin/V/2wMed+Jucl+iyne49Vd2QzV3GRta+VSqFdo2bBdKi3IUNh7qTUg87I2zw/kW8JSqZTAmhXhMSqxp+BWVOjU/c6wEj1Pq722FMNVetFPOdzLfGN2RL9EMgtNhxSP2zTDvA== X-Forefront-Antispam-Report: CIP:255.255.255.255;CTRY:;LANG:en;SCL:1;SRV:;IPV:NLI;SFV:NSPM;H:VI0PR08MB10656.eurprd08.prod.outlook.com;PTR:;CAT:NONE;SFS:(13230040)(23010399003)(366016)(1800799024)(52116014)(376014)(18002099003)(22082099003)(5113699003)(3023799007)(56012099006)(261021121427099003)(10067099003)(261022075727099003)(261009223027099003)(261022115727099003)(38350700014)(261026121527099003);DIR:OUT;SFP:1102; X-MS-Exchange-AntiSpam-MessageData-ChunkCount: 1 X-MS-Exchange-AntiSpam-MessageData-0: =?us-ascii?Q?nkSs5MW05VaMdOkkEcHeg+SVOJgnx3Ezr/WHFAWCgMg0mW0ja5eauOQwPMqD?= =?us-ascii?Q?ut1xG9NKiEdxuO8tYxiJp9QWjCQNyDJTAYUt8iwHCataVzk5h7cSIEaWuAhv?= =?us-ascii?Q?3p4caZqDXDsOSCs9B3TE36mvq76p94eGsNX/U9bWqKMyOTtBeO4cahu/ROVl?= =?us-ascii?Q?JIi6P/dgqfZfU3Wbkk68nskWMbRWEa5B4J5XIBWDIj1zP3SaGikUUePpiodi?= =?us-ascii?Q?LFPg6uOjHYoC7ehvzdB6iSb+5U5tOHLxVsxCz8n7rGraOOp1T+0TFM69hlPO?= =?us-ascii?Q?KMuIlZRoUsAdcwjY44O4goP+2i7n34IDik0RWjGZORSZjq8e2JbIokJnPEl/?= =?us-ascii?Q?Fjk2GhxCYcSXqIAm2+eIXqzaubc16HiTJoKqJaGrkRJSHEs40MJHIMaZYePo?= =?us-ascii?Q?WYhSZIaOfKRHW5xxiqSRM3BnG8lhbrfTzZXKcsyxOZVBGxRfNqFGO5WAvg/J?= =?us-ascii?Q?ToXtEnEnZvCMlKJH0F2zoM2ANqBdzl3qC0oiXPslOR+wGol1mHIm6RgP2HHm?= =?us-ascii?Q?4i4PbRf+7Oeh48CNikJXR+iudu/PfAHaPAtebiF2avnLavwiUhDSPJjGtb2u?= =?us-ascii?Q?U3A6o6zEvkhUT6pXfBrp+Nx1IxGYCs2lUxMNs+NLqAm9dS+ASOS/EIUYb/1P?= =?us-ascii?Q?Q3IY3m60nOEVcEh4gnyFsdZtbtJijkmbJFqm8/ockt4Qr0iZXKD4Ad95PzWe?= =?us-ascii?Q?TddDa65OKf7DrmIbqvYKdnpSChj3+W0AmD0i5xSi/5zmPqW+8t4X1TUJUzEs?= =?us-ascii?Q?sdL4BLipnU6RBuRDzPPHZuDxcIpstN1GJrSh65M2OJ8hz91OARIvc+DYIGa9?= =?us-ascii?Q?ahwWkpfA9aM1Q4WLtMRgSt2cuKJ7c6BbJ3DxF19wgsxlDglmFiiK+VsEU2CD?= =?us-ascii?Q?rWJAigMefjgS8t8tUGHnKlw8BNQwtZizoJFWeIjTzHSwjnP50WReqfqxzvzF?= =?us-ascii?Q?P2/4TUP+hNyztN8rzv0jGeF5SiXzljca9BQLNG7zy66r6c3Bvq2sXxcNcVjN?= =?us-ascii?Q?kbZ5ftwGXUplptxRIN42OgUE22ypxmbG21yJtoYlqVe4R6ddNDl9NUlJzSXU?= =?us-ascii?Q?McsxxacJHz/10FLMBo4N/wB8mfup3T9rfkwVPmbhmVCT5lSO1xzSVjMphpZe?= =?us-ascii?Q?ciWTikY45mCr+Qc0Pf+PEnEQI/mX0oAAeH8X9m2FFhI+Q3mi/8I1MzcxpCI6?= =?us-ascii?Q?IShfS+hfqnzrIxI3aWTvJiyynFslXT/Lrx65xKuZ4WBEJf0DE8OX9E5kQZ+j?= =?us-ascii?Q?AstyuRfLgWib8WRbwlQSRj6Kog+bAMnVxSFFNQqqSzFU7YUvuaf5rrTN3LvB?= =?us-ascii?Q?LtqJNXcE55Ml0oVzELBpwfXAvbHtmIjws1DBUOyD/bxz6iGZMWdu7hfA0KAr?= =?us-ascii?Q?higpGDI1QHCY4Bt30dy73o6Hc9QgXNwxVjA4UexgIGuUCEKGi3ufCkdJ8zTg?= =?us-ascii?Q?Jp/B76RVTHyRaRIHryn5nej4ExdAfkYPAxlYf0zTSYOKlffLNg76VJt8rpKK?= =?us-ascii?Q?Cn8EMFJV6v82vJ9VIVtE31p22mCEqnlRjNVsTJVL499whw7tb4EdLqGjFcM7?= =?us-ascii?Q?1f1ufYEaMliYuLUGIdf9CHnDEoGq771lAT9rOJm5tsjOmjcNwlGDOMIRQ4Ag?= =?us-ascii?Q?uhYWhe4TvzLxtjAKvt0/ECEECwWXLQ8XUmIYQwp0xqKDwfj5D9YdPs/ucK6B?= =?us-ascii?Q?VvDiCvadjswiZ58yTrDHg3lKoh70OVgJ48bh+wDuxjQORUeNvmxPUTp66bSg?= =?us-ascii?Q?FRZHQnWtaREYU2fPzo8kW+eypSRwUIA=3D?= X-Auto-Response-Suppress: DR, OOF, AutoReply X-OriginatorOrg: virtuozzo.com X-MS-Exchange-CrossTenant-Network-Message-Id: e2f7880a-f6a2-4555-42db-08df3414c260 X-MS-Exchange-CrossTenant-AuthSource: VI0PR08MB10656.eurprd08.prod.outlook.com X-MS-Exchange-CrossTenant-AuthAs: Internal X-MS-Exchange-CrossTenant-OriginalArrivalTime: 27 Oct 2026 10:26:27.6064 (UTC) X-MS-Exchange-CrossTenant-FromEntityHeader: Hosted X-MS-Exchange-CrossTenant-Id: 0bc7f26d-0264-416e-a6fc-8352af79c58f X-MS-Exchange-CrossTenant-MailboxType: HOSTED X-MS-Exchange-CrossTenant-UserPrincipalName: 4GJeaFgsd2OsSEu2GgS717NgZzzw2rCxNAlYPBoT2CJEsraEfIRxr3umklYnuq4ZKv0d+Yc673ysfChNDAiIHZgQ8z28I7E3hHRx75t8S6I= X-MS-Exchange-Transport-CrossTenantHeadersStamped: AS2PR08MB8693 Before the previous commit, issuing 'discard' and 'write -z -u' operations with discard-no-unref=on option enabled led to data corruption. Add a test to cover this case. Signed-off-by: Andrey Drobyshev --- tests/qemu-iotests/290 | 16 ++++++++++++++++ tests/qemu-iotests/290.out | 5 +++++ 2 files changed, 21 insertions(+) diff --git a/tests/qemu-iotests/290 b/tests/qemu-iotests/290 index 4eb929d15fa..9e711275867 100755 --- a/tests/qemu-iotests/290 +++ b/tests/qemu-iotests/290 @@ -126,6 +126,22 @@ $QEMU_IMG map --output=json "$TEST_IMG" | _filter_qemu_img_map echo "# Output of qemu-img map for the image with kept reference" $QEMU_IMG map --output=json "$NOUNREF_IMG" | _filter_qemu_img_map +echo +echo "### Discard with 'discard-no-unref' on a cluster shared with a snapshot" +echo + +_make_test_img 128k +$QEMU_IO -c 'write -q -P 0xaa 0 128k' "$TEST_IMG" | _filter_qemu_io +$QEMU_IMG snapshot -c snap "$TEST_IMG" +QEMU_IO_OPTIONS=$QEMU_IO_OPTIONS_NO_FMT \ +$QEMU_IO -c 'discard -q 0 64k' -c 'write -q -z -u 64k 64k' --image-opts \ + "driver=$IMGFMT,file.filename=$TEST_IMG,discard-no-unref=on" \ + | _filter_qemu_io +$QEMU_IO -c 'read -q -P 0 0 128k' "$TEST_IMG" | _filter_qemu_io +$QEMU_IMG snapshot -a snap "$TEST_IMG" +$QEMU_IO -c 'read -q -P 0xaa 0 128k' "$TEST_IMG" | _filter_qemu_io +_check_test_img + # success, all done echo "*** done" rm -f $seq.full diff --git a/tests/qemu-iotests/290.out b/tests/qemu-iotests/290.out index f790feae81a..aa5d164fa9f 100644 --- a/tests/qemu-iotests/290.out +++ b/tests/qemu-iotests/290.out @@ -86,4 +86,9 @@ Images are identical. # Output of qemu-img map for the image with kept reference [{ "start": 0, "length": 65536, "depth": 0, "present": true, "zero": false, "data": true, "compressed": false, "offset": OFFSET}, { "start": 65536, "length": 65536, "depth": 0, "present": true, "zero": true, "data": false, "compressed": false, "offset": OFFSET}] + +### Discard with 'discard-no-unref' on a cluster shared with a snapshot + +Formatting 'TEST_DIR/t.IMGFMT', fmt=IMGFMT size=131072 +No errors were found on the image. *** done -- 2.47.1