From mboxrd@z Thu Jan 1 00:00:00 1970 Received: from DB4PR08MB10341.eurprd08.prod.outlook.com (2603:10a6:10:3ff::18) by PAXPR08MB6942.eurprd08.prod.outlook.com with HTTPS; Wed, 16 Sep 2026 15:25:01 +0000 Received: from AS9PR06CA0684.eurprd06.prod.outlook.com (2603:10a6:20b:49c::29) by DB4PR08MB10341.eurprd08.prod.outlook.com (2603:10a6:10:3ff::18) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.21.428.7; Wed, 16 Sep 2026 15:24:56 +0000 Received: from DB5PEPF00014B8A.eurprd02.prod.outlook.com (2603:10a6:20b:49c:cafe::7a) by AS9PR06CA0684.outlook.office365.com (2603:10a6:20b:49c::29) with Microsoft SMTP Server (version=TLS1_3, cipher=TLS_AES_256_GCM_SHA384) id 15.21.428.11 via Frontend Transport; Wed, 16 Sep 2026 15:24:56 +0000 Authentication-Results: spf=softfail (sender IP is 99.81.216.78) smtp.mailfrom=openvz.org; dkim=pass (signature was verified) header.d=openvz.org;dmarc=pass action=none header.from=openvz.org;compauth=pass reason=100 Received-SPF: SoftFail (protection.outlook.com: domain of transitioning openvz.org discourages use of 99.81.216.78 as permitted sender) Received: from nat.eu.perception-point.io (99.81.216.78) by DB5PEPF00014B8A.mail.protection.outlook.com (10.167.8.198) with Microsoft SMTP Server (version=TLS1_3, cipher=TLS_AES_256_GCM_SHA384) id 15.21.428.7 via Frontend Transport; Wed, 16 Sep 2026 15:24:56 +0000 X-PERCEPTION-POINT-VERDICT: CLN X-PERCEPTION-POINT-SPF: X-PERCEPTION-POINT-SPAM: PASS X-PERCEPTION-POINT-SENDER-IP: 2a00:1450:4864:31::10 X-PP-Forefront-Antispam-Report: CIP:2a00:1450:4864:31::10;CTRY:;LANG:en;SCL:1;SRV:;IPV:NLI;SFV:NSPM;H:mail-wm2-x10.google.com;PTR:mail-wm2-x10.google.com;CAT:NONE;SFS:(13230040)(82310400026)(12012899012)(6059299003)(43022699015)(3072899012)(2092899012)(22082099003)(16102099003)(57112099003)(10067099003)(19002099009)(18002099003)(55112099003)(5063699009);DIR:INB; Received: from GV1PR07CU001.outbound.protection.outlook.com (mail-gv1pr07cu00105.outbound.protection.outlook.com [40.93.214.101]) by inbound-smtp.eu-west-1.amazonaws.com with SMTP id u2dqdj4camfeuk61g81mgek0aiqii30l413tfq81; Wed, 16 Sep 2026 15:24:53 +0000 (UTC) X-SES-Spam-Verdict: PASS X-SES-Virus-Verdict: PASS Received-SPF: softfail (spfCheck: transitioning domain of openvz.org does not designate 40.93.214.101 as permitted sender) client-ip=40.93.214.101; envelope-from=den@openvz.org; helo=GV1PR07CU001.outbound.protection.outlook.com; Authentication-Results-Original: amazonses.com; spf=softfail (spfCheck: transitioning domain of openvz.org does not designate 40.93.214.101 as permitted sender) client-ip=40.93.214.101; envelope-from=den@openvz.org; helo=GV1PR07CU001.outbound.protection.outlook.com; dkim=pass header.i=@openvz.org; dmarc=pass header.from=openvz.org; X-SES-RECEIPT: AEFBQUFBQUFBQUFHck9KcS9nbk8wdFJNbThON0VhR0M2Ynp1azA0NHQyVWpOY3BOMGl3TGVaNjJOazB5dklMOC9XMy8yT0p6bUUvbWUxbTZjTWRiNStMQVYyMkZUK3p3MTBFR2JKYjBsdXMrMVpEcHhXcy9pZmFiWHdMUXFVODdGYU1SUkc4VVdSeDY1aE0vNS93R0daZGUyeS9NdHF2RlgyQVFiRkRtK1FMbXUrTkt0UEwyWDAwYnkwcnN4U3k2eXZLaVFZSXFtL25KQy9MOW45Z3FzUndtbUpTcElGblBrQkxmZmpvSFRMbUNGT2d3eVdPRkI3VDl1aDlBb1ZXWElJQ0RpRzVqU25mVjd1NVpUZnBOY0tXdjV6RkNiZlV1cmM4RVJYMUF0WFYwcytjc0xOWk9rVUE9PQ== X-SES-DKIM-SIGNATURE: a=rsa-sha256; q=dns/txt; b=ztPcMMpe28acoq6DGfQjrZNKZAxWFmQIzR0RsJosc6LqRz+g5uk/ccEXVbzYQtunhUPSYz5wo/ACY/PZqwE29/wccdYmu8tNf+bE3MOr7z0G+mpWBbt/SY8nmCNWbZ+tj48cNK8A3Igay9cj6qGl9VKFCHv/il711wL2el1dAFo=; c=relaxed/simple; s=shh3fegwg5fppqsuzphvschd53n6ihuv; d=amazonses.com; t=1789572294; v=1; bh=KD04PO96Nq0IRAen1MgWdzfbMnrRn7g0wjBr1Tj3GoA=; h=From:To:Cc:Bcc:Subject:Date:Message-ID:MIME-Version:Content-Type:X-SES-RECEIPT; Received: from DB9PR06CA0012.eurprd06.prod.outlook.com (2603:10a6:10:1db::17) by DB8PR08MB5483.eurprd08.prod.outlook.com (2603:10a6:10:11b::23) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.21.428.8; Wed, 16 Sep 2026 15:24:49 +0000 Received: from MA3PEPF00000404.eurprd04.prod.outlook.com (2603:10a6:10:1db:cafe::4c) by DB9PR06CA0012.outlook.office365.com (2603:10a6:10:1db::17) with Microsoft SMTP Server (version=TLS1_3, cipher=TLS_AES_256_GCM_SHA384) id 15.21.428.11 via Frontend Transport; Wed, 16 Sep 2026 15:24:49 +0000 Authentication-Results-Original: spf=pass (sender IP is 2a00:1450:4864:31::10) smtp.mailfrom=openvz.org; dkim=pass (signature was verified) header.d=openvz.org;dmarc=pass action=none header.from=openvz.org;compauth=pass reason=100 Received-SPF: Pass (protection.outlook.com: domain of openvz.org designates 2a00:1450:4864:31::10 as permitted sender) receiver=protection.outlook.com; client-ip=2a00:1450:4864:31::10; helo=mail-wm2-x10.google.com; pr=C Received: from mail-wm2-x10.google.com (2a00:1450:4864:31::10) by MA3PEPF00000404.mail.protection.outlook.com (2603:10b6:140::195) with Microsoft SMTP Server (version=TLS1_3, cipher=TLS_AES_256_GCM_SHA384) id 15.21.428.7 via Frontend Transport; Wed, 16 Sep 2026 15:24:49 +0000 Received: by mail-wm2-x10.google.com with SMTP id 5b1f17b1804b1-49ccead2aecso4934415e9.0 for ; Wed, 16 Sep 2026 08:24:49 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=openvz.org; s=google; t=1789572289; x=1790177089; darn=virtuozzo.com; h=content-transfer-encoding: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=l/7w2Ak8wiYs+PIURtCPyQoWR+hUL0huR9Kek8nmgpI=; b=rc+84iJnKIUc74Hs4UzfqkunNVU8CuARL13MGnNPNAISO4xlnOukZSCJA/uvx9BUAf 9UFJTf130iLLhqsXoJ9SwEgQinVVFAJLRnLdxmuzqL+fUxy1aklQdrMEA1zCqxV6sAuB JPnOQTRJq27hjv3tDDvnepHN4Tridd3UkzP0kA4/gOUK8JpDyj7vNtl3vIbvols4JrNw eBWLxTpAV0a7V085eovEpbU6bFy06kGa1Fk0yY7tL7Jp1Sbp1NF1JJO6mfhPdmbFETLo f2QRP1orcsZWUhriZdNVS6cntpvUDiuDyGRX7TvFecxWkViEjzue7QaEzjzNxn8qyFLJ U+pg== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20260707; t=1789572289; x=1790177089; h=content-transfer-encoding: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=l/7w2Ak8wiYs+PIURtCPyQoWR+hUL0huR9Kek8nmgpI=; b=O2LheBy2aZeDzrBOHmKmjMNmcaJhqG93hkIgV/usENAKkl2LyOqjO2HtGZ/STCgQNu BbHL7TBijZqIpLYHrH6Jw0L191iSmV8rUXtxlq4R7HGTAsfbLkKrVhJVmcCEArs1mgRS mEP54hmS+1Je6A62yg0Urr/RKBNMKk2jwyA6/yZ7iY+3k8ZHLd7DdvU+6l8j8c6oBEK8 Vdv+/vNHFwbOAiY4fWEcWwMy07qqDc8vp15B54ncTgb9XLUqiXWttO7Xgskcddnfwd5P 1MsJKLapMMraISxhqB9fpuDrukH50j57WxlhMrcuWgnCdgFwIkqXB9YRnhzVcPA4ilrg SS6w== X-Gm-Message-State: AFuF++luk3sEJYQv2G7uAQAUMkmIsndBoP4WdnpkzuQc2RfEszMPACjm GAiZOFlCI+SvYTmz/GKqxVG1V9HQuFPSj2IgtY5TFPW06I3SCGdh3oDB673WU/jwsoA9FUR3oRv agQCnW5Y= X-Gm-Gg: AYBFou26K9Z90Gd+x9xBy5LuHdQ2p9PYkJHBvvGXzVSgWA4r1VSE91bt6R3eQCHDhUb JuwJp2aXcuEnSiLvx9d8b1nzhzaSjoEFv83KuO12sM0/ku5TnjZDYcU9eu2hKzMcXyXXV8GjhqC FRSVEu2/KGc7bBqoBZDI81kU5M33Xon5UnrIVLVHnjDLWkCg/apqVnSuB/P0+DlCtlNTl+8f3ma cuxvwl3XqJQWmuz3bMQyun8XnEBvl2Kg0ca8o3IiNnuQhegG2+7XLOd6YLnzcyPD64F6NJaWriP 7obKjN9/v7BKzCsx116vZGrNg3gxWDCoY1E+CRETLhFpfokh4w/VSUj6GyvYl4tseufQIViWqQD Ul3V6lpdvCvtjAtX9VYsveoIWJqNxnjIHdB1gvfxpZwAYGcfY730f/wfgOPcExCUjd+YiPQokvA f2noK6G1jHWu8yWDXwoFju3zukIcWIh7shLC9qCiVrj4WNxDSGO8ZHgmADo0DvESqyJM0Q X-Received: by 2002:a05:600c:6085:b0:49c:dca2:ac47 with SMTP id 5b1f17b1804b1-49eac45c06bmr36478725e9.2.1789572288806; Wed, 16 Sep 2026 08:24:48 -0700 (PDT) Return-Path: den@openvz.org Received: from athena.sw.ru ([2a06:5b06:b600:300:f56f:c51e:c53f:b1ce]) by smtp.gmail.com with ESMTPSA id 5b1f17b1804b1-49fbd0c39dcsm1836415e9.12.2026.09.16.08.24.45 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Wed, 16 Sep 2026 08:24:45 -0700 (PDT) From: "Denis V. Lunev" To: svt-core@virtuozzo.com Cc: andrey.drobyshev@virtuozzo.com, den@openvz.org Subject: [PATCH hci-8.0 4/5] block: remember the flags a reopen starts from #VSTOR-140073 Date: Wed, 16 Sep 2026 17:24:36 +0200 Message-ID: <20260916152437.1787889-5-den@openvz.org> X-Mailer: git-send-email 2.53.0 In-Reply-To: <20260916152437.1787889-1-den@openvz.org> References: <20260916152437.1787889-1-den@openvz.org> Content-Transfer-Encoding: 8bit X-EOPAttributedMessage: 1 X-EOPTenantAttributedMessage: 0bc7f26d-0264-416e-a6fc-8352af79c58f:1 X-MS-TrafficTypeDiagnostic: MA3PEPF00000404:EE_|DB8PR08MB5483:EE_|DB5PEPF00014B8A:EE_|DB4PR08MB10341:EE_|PAXPR08MB6942:EE_ X-MS-Office365-Filtering-Correlation-Id: 82cbf748-a5d8-4d18-bab0-08df1406aa1b X-MS-Exchange-AtpMessageProperties: SA|SL X-PERCEPTION-POINT-CUSTOM: vzpp X-Microsoft-Antispam-Untrusted: BCL:0;ARA:13230040|82310400026|12012899012|6059299003|43022699015|3072899012|2092899012|22082099003|16102099003|57112099003|10067099003|19002099009|18002099003|55112099003|5063699009; X-Microsoft-Antispam-Message-Info-Original: =?us-ascii?Q?IOoNeuJc8I83YPZcESlh+ki80q9MBxPs6n1+Sddim0LHTvk5BO4vFGoov4+D?= =?us-ascii?Q?ziX0IjzFrKzrXksrswRrh9YW2EGA+SKjNQB1T5LG3mV8bY7NciO9ZF2YZtm+?= =?us-ascii?Q?HZtReqPB7kxGTS6whTfoFmsfr0PeJXTpxnF4/LxUluAZxyGWdE4YVbEqOmeZ?= =?us-ascii?Q?1zaoIMAXnHaBtd43pOjFBMy2u4C/milj78Vt5NGnigSd2Rzsc2y/7MNBMnYL?= =?us-ascii?Q?pMu/mKBnnOkoFO2cxkmhlgckBI3C7GixIBk3Ww9xM4zgV3dSPDhMUEB81JAd?= =?us-ascii?Q?A39c/Tj3GHC8gAvtAh+Hjq4n20RDeZSLf8g4TuKnra5+nlzuriFonoHOeKC/?= =?us-ascii?Q?eXQKeAJ9p5ohoQhtfTuHQujmrIKcSDVj5dXcdf6QBvfK45sgUZS6pnUXEhnc?= =?us-ascii?Q?2HeqR8ZLz9CtRVVwttVGnQjMWEMAr0RnIx7UiF/S8x1qkCziH7ZDeNB5ROQJ?= =?us-ascii?Q?TvErF2kgavgEvOwahBh5yHX6a7NaZrbBIkRoszgfngpRn1trDfTQPbwZb656?= =?us-ascii?Q?W/wQHqWQuD03XPbg7lGXZ9DBALtkcOUOylgJHTHxx/Z3b6iGEsM7mCNN+FoV?= =?us-ascii?Q?rc1xHXTrpN9HxexE6lLwypYumVQWibE/1urCz18Pgw5nGbEWmfCe/t1eQyvY?= =?us-ascii?Q?XxxPt9lJsAoelFGKzRTZlNDWWiXi8sV/gVjDlBJ2gm7vSeaLyOp/xi/bOZgb?= =?us-ascii?Q?daKTCQHInJ/IM9K1Ua0yV4FhZRXa3uNit9Ks8tp5kWltVP+eZdQP1ZN3J4zE?= =?us-ascii?Q?DKx5XqR8EBP7TKHdOgyXery5aL1QFdzRpEvKUc+vDjs2RMT+DTINeGwR6TJn?= =?us-ascii?Q?uXFRcwJqU2JAYW7KglWp7SGYI3iajcoTKR0rPAgZLmTY6DcSJXXvITtbaZxo?= =?us-ascii?Q?uUfFBgiHfETs8JRWgpsqlPIde0PPxXIlBs9oexNH+Rreda3T1ZXFWvB05+m+?= =?us-ascii?Q?IAffDdXTo5AQ7xyOJj94u3F7OLLbcmMcWZB8FCah6ixBlWBuMzLwIyn/oP+H?= =?us-ascii?Q?YFY15VEETdKG3DMILBwZVSqNCEXQtfDNEEn8XUqAqbemU/RK/aw5aKWphYX/?= =?us-ascii?Q?zPJBhaEVcv1gndB5Q0b9VmjyyFznyGjMvlCEfhk3kHRgy/oFQ6W47AgoKnVV?= =?us-ascii?Q?u/l9f27p+G8kxNewF0Hs4YRiWkHFPJ7zLuPGPJKMFuNEgQ+2SJf5Js0Anf8V?= =?us-ascii?Q?UTa9MDbrW+FML6NG3Dc6q9ROmJdMlS7c03K9NQXFQftoHZr48EXdrGEEJRA3?= =?us-ascii?Q?UJjj/tRv/Wi60vpnT6QMk9LrbOcnovMl2SoPfW1BElLGtlMhcBGjKBbMr2U6?= =?us-ascii?Q?GH88nwQ6WnEBMyYQmyHNFDHtEMt7ELLTewRQWTxR69OyZAilxSfSZ3CZ7Ki9?= =?us-ascii?Q?CaIMppJIMvsi1o3tMxyrVP4j5B4D6BL0ffJfxf9y7xeghZuaGahA0wbshGto?= =?us-ascii?Q?G1DnG55/tiUQvwa0KWFW5/Z8U7MU1+iaaRRYEFaTRIWw128gSyrTaTtzaipZ?= =?us-ascii?Q?YdeCq3738SHPU7SDTqv2mOY3gViRuXX7x5V/bMPX8uRY2W14R1S/XYQSGncN?= =?us-ascii?Q?H9zYS8Pog6AmF4EikgquQyDWsD9MxH2kK16zfERzWCsith+Vwe5fHpwB/9Qw?= =?us-ascii?Q?0sxp4ayAUjLUmN0Y8SVdDLmCZD4Qqoq+awMqo6Qzvp3dyFQ09tYFeEHGs9L6?= =?us-ascii?Q?4z37zKRjU/nmJ/SHkkTuyKSCrEp0kQ/8k3o5L38v0WuFoZvnsKK3TGTSMKCQ?= =?us-ascii?Q?d1Pbyu2A+6QxvDyMf3Xb95XVTZopqEDxZZjOO6QDiYg2aOXL5Drq+TXEEBaR?= =?us-ascii?Q?Vo/5iPJt4JqzLTXIel76rind3eFk3QSaWbFZ+608JuqP2RRo6G5GRvlDD1vW?= =?us-ascii?Q?hJ+kjibJ36xUHU7gkMKz27Z9dG64cx8u3ZqilJM24sWTYqNea3DPl4FBlxWt?= =?us-ascii?Q?6m52GTxcTAm6b/RfJc1ju2e1LcPTwbqgSrbrhMX1T88/PGXgyRaXSPQuzoTQ?= =?us-ascii?Q?V3sNlKtChwX5M7JNB3/SDU5MyCIo0kf7WuWNd84tSBq2/qMgx8bGWZbCbCiS?= =?us-ascii?Q?9cmqcy3c/xDEenji5kZ2LzomNUFf25Lnz4InpKbHV1oeLgJuPiE+PlGt5rGs?= =?us-ascii?Q?B1cjCn8x8r47Ubd4AMlYOegkZ9FDLFKAPg=3D=3D?= X-Forefront-Antispam-Report-Untrusted: CIP:2a00:1450:4864:31::10;CTRY:;LANG:en;SCL:1;SRV:;IPV:NLI;SFV:NSPM;H:mail-wm2-x10.google.com;PTR:mail-wm2-x10.google.com;CAT:NONE;SFS:(13230040)(82310400026)(12012899012)(6059299003)(43022699015)(3072899012)(2092899012)(22082099003)(16102099003)(57112099003)(10067099003)(19002099009)(18002099003)(55112099003)(5063699009);DIR:INB; X-Auto-Response-Suppress: DR, OOF, AutoReply X-Exchange-RoutingPolicyChecked: OsRywZawEQNBitcxEilj2U9nBee8JahNQJEjmtOF/y51OQdMysLhz5ueC7FTzVmPPU8M9+SVZ6UNT/R2Gap0zlUwlnebQy78IIAE9RkaShIvV7LudN4TrsMJPXKqjNtmlC47x8zzITg17/kTSf/vYC5Rhoor0/7RlYi79T+w2dhfxF6sHhJRBp+ivNRrILMi/g02Y+8rlyZjxMDYEUYjN+iK34sNdVaQ5k3cRKpV2CJ6EjxwVDtmRr07lqWHe1pkHDymcijbRigtin2Y5I3SVVz1fFBe1Ywh6JR2uxgTy+Vl4dNdjCzdLc/3/yT3tjP8qoqtYimQhNIpjTNTwVdhNg== X-MS-Exchange-Transport-CrossTenantHeadersStamped: DB8PR08MB5483 X-MS-Exchange-Organization-ExpirationStartTime: 16 Sep 2026 15:24:56.6202 (UTC) X-MS-Exchange-Organization-ExpirationStartTimeReason: OriginalSubmit X-MS-Exchange-Organization-ExpirationInterval: 1:00:00:00.0000000 X-MS-Exchange-Organization-ExpirationIntervalReason: OriginalSubmit X-MS-Exchange-Organization-Network-Message-Id: 82cbf748-a5d8-4d18-bab0-08df1406aa1b X-MS-Exchange-Organization-MessageDirectionality: Incoming X-MS-Exchange-Transport-CrossTenantHeadersStripped: DB5PEPF00014B8A.eurprd02.prod.outlook.com X-MS-PublicTrafficType: Email X-MS-Exchange-Organization-AuthSource: DB5PEPF00014B8A.eurprd02.prod.outlook.com X-MS-Exchange-Organization-AuthAs: Anonymous X-MS-Office365-Filtering-Correlation-Id-Prvs: 7e76792e-1b23-4745-b411-08df1406a5d1 X-MS-Exchange-Organization-SCL: -1 X-Microsoft-Antispam: BCL:0;ARA:13230040|2092899012|43022699015|6059299003|12012899012|3072899012|82310400026|35042699022|10067099003|5063699009|5133699003|22082099003|18003699003|16102099003|55112099003|57112099003|19002099009; X-Forefront-Antispam-Report: CIP:99.81.216.78;CTRY:IE;LANG:en;SCL:-1;SRV:;IPV:CAL;SFV:SKN;H:nat.eu.perception-point.io;PTR:nat2.eu.perception-point.io;CAT:NONE;SFS:(13230040)(2092899012)(43022699015)(6059299003)(12012899012)(3072899012)(82310400026)(35042699022)(10067099003)(5063699009)(5133699003)(22082099003)(18003699003)(16102099003)(55112099003)(57112099003)(19002099009);DIR:INB; X-MS-Exchange-CrossTenant-OriginalArrivalTime: 16 Sep 2026 15:24:56.5480 (UTC) X-MS-Exchange-CrossTenant-Network-Message-Id: 82cbf748-a5d8-4d18-bab0-08df1406aa1b X-MS-Exchange-CrossTenant-Id: 0bc7f26d-0264-416e-a6fc-8352af79c58f X-MS-Exchange-CrossTenant-AuthSource: DB5PEPF00014B8A.eurprd02.prod.outlook.com X-MS-Exchange-CrossTenant-AuthAs: Anonymous X-MS-Exchange-CrossTenant-FromEntityHeader: Internet X-MS-Exchange-Transport-CrossTenantHeadersStamped: DB4PR08MB10341 X-MS-Exchange-Transport-EndToEndLatency: 00:00:04.6114027 X-MS-Exchange-Processed-By-BccFoldering: 15.21.0451.004 Content-Type: text/plain X-Microsoft-Antispam-Mailbox-Delivery: ucf:0;jmr:0;auth:0;dest:I;ENG:(910005)(944506478)(944626604)(920097)(930201)(20251009189)(140003); X-Microsoft-Antispam-Message-Info: =?iso-8859-1?Q?Ob+sLGB0fX7UKlNyB5rr7t7s3174KHhU2bL5L4rmcjl3MsM7UqvDpdZwR/?= =?iso-8859-1?Q?e7joPex64NKuujhTjsXc3fqTJw/kC34xkfSOQmb/5dbbZck6Qa/ZlOVr84?= =?iso-8859-1?Q?9JIepO87PjyPmF7Vse7NbBWAOMvUNEMpMS8y7dYPVN6HTR5m8HG4V2o/x2?= =?iso-8859-1?Q?y6Bxma1ZRGYGkg2EKjmANHLnUWM7onYSk0c/6FpWmlJ2UpH9gke6q+Sk+r?= =?iso-8859-1?Q?Z7QnlM+fv0k+ckUa/kNm7R7g1hgybkIXrf99VJVlMHFdDEoPoVLa0e42y9?= =?iso-8859-1?Q?a0VtlLrQDw30gak01AlioBR9j3zlbcjT0c1pyJvspgRS/R/TnbPO7GgEMj?= =?iso-8859-1?Q?RDIG1i+3RgCKSM0pPdinVQHkGWOu/ET2HoVfCuIFv3iBAhQZhdaNfWQ/JF?= =?iso-8859-1?Q?BmNbF6EKmdnbSzQI6Rfgsyv/bDPs26twBeTMI4bwzuNUDOMTPXizDNaHjb?= =?iso-8859-1?Q?I6LwqCwEipp93onFfhsPBP4A+rGE56+XTt/gkgbxT7syBpOCr/SVQMt4Zo?= =?iso-8859-1?Q?dKGIYuE5y/q7h5fg3ih4hKhMo2vlh0t6PCH4QfiINpv5swwFIAt+sMXJrb?= =?iso-8859-1?Q?FmQiizJstLebvGML5LH9aH+ZKJ6/XbSgRCGCWg6gk9Dj9e5XBZ+Tdabonr?= =?iso-8859-1?Q?VO6AO5CBIdvrLDuhhdjq6bzr2sHhwv/VK6ihZabiEKPQ+475quTwqf6XaN?= =?iso-8859-1?Q?SgaaQgEGJBpcGyADQG1jrjX8ncnwnZle2GV3bhXBCfBG18Vz2L7Ll4N9sO?= =?iso-8859-1?Q?yYv9vOGdchlDYJwbk//ZD6R1gzv2NYy9rOsRW9kisXGVuUv7tGeenFdtqh?= =?iso-8859-1?Q?wrbbcnXrXk2Vy7BakbY1mF/jX7ZOkOI3EXrDgQTIZtK4scuN9+wSn/sW1M?= =?iso-8859-1?Q?LNccqOkz0LBAQ42andHsxwgVL7vIuEk0yXSldwZJhcSTa8WERC0hJJXRB2?= =?iso-8859-1?Q?mFpMATChMzM9opDXz9xHXvmhjnb8NTxnoP2S57yXbCu7WvGVxYPrERQGD3?= =?iso-8859-1?Q?d3SPj4TxjBThhENbM4PiAOwAmx+bU9hYBuZvxXc2L2wzQe/3I77XTuNiro?= =?iso-8859-1?Q?OPyHNZZN5bUfTyJgAXaDak7k5kCfQkcdCbja/JL19+OFymjy2rJTZ25lAL?= =?iso-8859-1?Q?t7B2LWj9tQdtNUaO2xs/QjYZ2myiU/mgLR0AxNHk3KD99e4ASNm9wsrLtJ?= =?iso-8859-1?Q?Cik60xS++j4UxU2YeF6oev7DdMhdefUG11CJQbcWRiu5YeC+0lwjXtZwjc?= =?iso-8859-1?Q?jZ93AuMlnBwuiiFaEWW1EXWzIQ49XCHnU9a1B8bLJlJxJjgheTQFcsyZuX?= =?iso-8859-1?Q?cPAHHxGy05oB2r/+jDqmIBltJNPSz+8oWaIZbB85tzfhStjrNPMJWDpNUb?= =?iso-8859-1?Q?3pdNHNbLAbJJSjRfCDX8QnyjIIX0PdylnZ8I0jDqCqdh3suFa3LJ6u18Sy?= =?iso-8859-1?Q?5UyspKPwiVo2IosA8QW7uSY15PSAEG7zV0TkvLhTKo0Ms7CAsMRgwcjkV9?= =?iso-8859-1?Q?OQjWeOHcHtKLc5zQ91V7JUuPK3SUWo7LfnA7RAQ0O5eDRPjvZQRD13hma/?= =?iso-8859-1?Q?/bLFzTyofN3yEJJ3+GKw821gNCAImzEi9uHiOOCNGQ1Yjs8Ds2A7cpq8Yf?= =?iso-8859-1?Q?gN7b2OHiVrg+WPedyHG5aO9zIlr3ZKLUa251Xwx+uNQQMZw6kh199Z5gcd?= =?iso-8859-1?Q?EkzOPh1eToEC1iFkFbQfWe8PdtCNVBZTCHOk4ZJge7mTHSDpdG7id6V9dP?= =?iso-8859-1?Q?FLdoZQ/I8xqJH/2mXbBJUfr0CSJQkgSYf///bQjuwdIr+P1rMjWzmvFtya?= =?iso-8859-1?Q?JY5pveYKKNyYsoPj4G9MTMitygzBM8WIIDv1Fwovb4DRChomEn6aYNBTdo?= =?iso-8859-1?Q?XS3irqInXGr2+ax84c7eO3eMDXcxBQ2VV/H/VfBDp6Wn6ObbKpHVf/+Xxy?= =?iso-8859-1?Q?5i/Hyj75cK1dh9iTa6yftvb3Gbf+VPz1ulhR/5n/aXrbd6efJHY4fAVGiO?= =?iso-8859-1?Q?DhYMNibo9GIU/UemGTQe025NCAZSsN6OKnUXulugRtrCr98Oh0s9vLm+Dr?= =?iso-8859-1?Q?Ta7kOJTupSJHHL0pALUGrsEupoyTlF8lFGvh0pH6Fdh0xHRt+LaCaVXHWC?= =?iso-8859-1?Q?+JuaP1TpdNMiBkhQZpXjzCQOkroGUjJX1AW+jZflbcgifkD/jVRz3ZVBVi?= =?iso-8859-1?Q?w4WTCnXnEb4xgEfDcoAIeDMTf4AcXbIJkZV9tQ2p5mUjY5x7R2oloxb7sP?= =?iso-8859-1?Q?iMJLArn7PCq03M+MOxJ5oXHOZWPhYZhk5/Qhx4ER73EAIU2uzbL3r9yT3u?= =?iso-8859-1?Q?kYW+j5/6lEPhxeg1+knFwtPQJjgdw9QgznP62rUaKtRm/1sUpXwshfnzKI?= =?iso-8859-1?Q?B9o7PVXcimpfSmMiC1Dsxc6rM60MXmfvxUvQE/ESCloMjaCpOzL/gpjAh+?= =?iso-8859-1?Q?+GpZmNfbDMQPCg2lk5dkgYkf/AmXqn2uK75r1dPiU07loQPQgu2qk5TgID?= =?iso-8859-1?Q?miLNHqbzHmmJc2Q/pqoARw9nE1dZXzzsm8WZhlDUkhvJziWtJoamgZ/+EQ?= =?iso-8859-1?Q?rsqsYoHXtusicuPIZinpA+U3QB7SFL6N8FrphtddUEjSGt8ZBJcLGXpRcw?= =?iso-8859-1?Q?kJ1zuHakaqYM+RdxvuwAOM3UYrWX/1mglB1h9GJnhi38UI+fC09LatCjZ+?= =?iso-8859-1?Q?U6MIpK7z?= MIME-Version: 1.0 List-Id: From: Denis V. Lunev bdrv_reopen_commit() updates bs->open_flags, so by the time .bdrv_reopen_commit_post() runs a driver can no longer tell whether the node has just become writable or was writable all along. Only the transition is worth reacting to. Record the flags while the queue is built, next to the other pre-reopen state BDRVReopenState already keeps, and let a driver ask about them the way it asks about the node itself. The predicate which bdrv_is_writable_after_reopen() spells out gets a name for that, and stays private to block.c. Signed-off-by: Denis V. Lunev Reviewed-by: Andrey Drobyshev CC: Kevin Wolf CC: Hanna Reitz CC: Andrey Drobyshev Cc: qemu-stable@nongnu.org --- block.c | 17 ++++++++++++++--- include/block/block-common.h | 1 + include/block/block_int-common.h | 2 ++ 3 files changed, 17 insertions(+), 3 deletions(-) diff --git a/block.c b/block.c index 0978ab2a0ea..236a30618dc 100644 --- a/block.c +++ b/block.c @@ -2188,14 +2188,18 @@ static int bdrv_reopen_get_flags(BlockReopenQueue *q, BlockDriverState *bs) return bs->open_flags; } +/* An inactive node may not be written to, even though it is not read-only */ +static bool bdrv_flags_writable(int flags) +{ + return (flags & (BDRV_O_RDWR | BDRV_O_INACTIVE)) == BDRV_O_RDWR; +} + /* Returns whether the image file can be written to after the reopen queue @q * has been successfully applied, or right now if @q is NULL. */ static bool bdrv_is_writable_after_reopen(BlockDriverState *bs, BlockReopenQueue *q) { - int flags = bdrv_reopen_get_flags(q, bs); - - return (flags & (BDRV_O_RDWR | BDRV_O_INACTIVE)) == BDRV_O_RDWR; + return bdrv_flags_writable(bdrv_reopen_get_flags(q, bs)); } /* @@ -2209,6 +2213,12 @@ bool bdrv_is_writable(BlockDriverState *bs) return bdrv_is_writable_after_reopen(bs, NULL); } +bool bdrv_reopen_was_writable(const BDRVReopenState *state) +{ + GLOBAL_STATE_CODE(); + return bdrv_flags_writable(state->old_flags); +} + static char *bdrv_child_user_desc(BdrvChild *c) { GLOBAL_STATE_CODE(); @@ -4513,6 +4523,7 @@ bdrv_reopen_queue_child(BlockReopenQueue *bs_queue, BlockDriverState *bs, bs_entry->state.options = options; bs_entry->state.explicit_options = explicit_options; bs_entry->state.flags = flags; + bs_entry->state.old_flags = bs->open_flags; /* * If keep_old_opts is false then it means that unspecified diff --git a/include/block/block-common.h b/include/block/block-common.h index 3c5b6aa3f58..b4558fb245f 100644 --- a/include/block/block-common.h +++ b/include/block/block-common.h @@ -359,6 +359,7 @@ typedef QTAILQ_HEAD(BlockReopenQueue, BlockReopenQueueEntry) BlockReopenQueue; typedef struct BDRVReopenState { BlockDriverState *bs; int flags; + int old_flags; /* bs->open_flags is updated on commit */ BlockdevDetectZeroesOptions detect_zeroes; bool backing_missing; bool mig_ign_bitmaps; diff --git a/include/block/block_int-common.h b/include/block/block_int-common.h index 7afbe8c4ae5..4062d28fca6 100644 --- a/include/block/block_int-common.h +++ b/include/block/block_int-common.h @@ -1400,6 +1400,8 @@ char *create_tmp_file(Error **errp); void bdrv_parse_filename_strip_prefix(const char *filename, const char *prefix, QDict *options); +bool bdrv_reopen_was_writable(const BDRVReopenState *state); + int bdrv_check_qiov_request(int64_t offset, int64_t bytes, QEMUIOVector *qiov, size_t qiov_offset, -- 2.53.0