From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: from AM0PR02CU008.outbound.protection.outlook.com (mail-westeuropeazon11023141.outbound.protection.outlook.com [52.101.72.141]) by lore.virtuozzo.com (Postfix) with ESMTPS id D6A0C802A7 for ; Mon, 5 Oct 2026 09:05:24 +0000 (UTC) ARC-Seal: i=1; a=rsa-sha256; s=arcselector10001; d=microsoft.com; cv=none; b=ZEQ7+J/cClEU7BUafPYS2JTDfckoNwWnPcDH2/OEz4VnJCtB9J5M6fL0SKteKsXKrRss0rEGrtBbklIQYoIWJyR/Wz4389au3LsB5LXcWzutwFS+KeQLUyI/Bml22WzFKvDz3SD5at4/rwY6IPBuHFt7P1rxsvBo4xWMiyU+VvYQ/T5IqxkBi63+9eOS0WkykjiWHAkvcQ/4e3Fw0fVOzOUYgjDjYWUsE0PcXNNTUFci4c2dPvyLNbxvB8V1HdNMOZRb2Q9V/QW/5PEM9ISelPndxpW5F1vyVpfZN6wkvkzTbstjjTelTdPY/ER5vXcicWPfw/eQtNEGwvkV2apIGA== 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=+/d3kjWak0Rm7eGx0r6aP2xPDyzgoyUODtKex6cZL4Y=; b=IHtsym5kaaFutYiIXQi/OJhoYNtp9nNI4sHFz8lRrBKCiqTKIlQhWh2dLlQWVe5JOOV3oIGgmz0egseYviYlvbYtctz9Ub7cWpkZKFWz/c/L1NCwyHudxJRt62qzWjNq7di+yu4PYg1K2HI5xe6Au4mkIOSfOHKDq9i5K0wKCGEp1W4IL2cG9GP0mYGmzkd57lK3yJdM0fLkMdGKS85Iq88sCY/bH4gp4QyIiaaNa2KZ8nrUARxvjXEq36SgMYLpuBhxSamBXYNUw86zT41dFCb9Q44N3Y4qEJwrGXDbxevhZ2AQO1ThfDIcTF35g22DT4ivaNTexAXJBoYNRLlF3w== 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=+/d3kjWak0Rm7eGx0r6aP2xPDyzgoyUODtKex6cZL4Y=; b=JcBQ5ZlpGn1k2SwRZzXveETwhkHhPXwA3PcYqQq4aulUNC3uEz/lhQ5TUYJXRv4nkAE5jMZLeblpgHkty5hW7BR+TK7HJV2uaSJ1ln6tlDLVHv0PsYLQOkjL4Xh8xrSL48NmdQa658XDLzn8NbVA8XtdghtZG9b4KNHAaG54d0AyDkTFloBXBUFKVcApymruYVfgMajy6oamFLU4YX/l2zm64PkDYq5/z1lmYuDKMnEEMl8vidTj5bfh6XvtcKOkouEeOWIjHY4jLITme+essNiqrCAXPdDhLyzSCx3aIDJ2NsXiBSfxI3iLRsgpCTNqJn0VwiUmG/3iy2vxr9p95g== 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 MIWPR08MB226003.eurprd08.prod.outlook.com (2603:10a6:290:d7::20) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.21.496.14; Mon, 5 Oct 2026 09:05:23 +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.0496.010; Mon, 5 Oct 2026 09:05:23 +0000 Message-ID: Date: Mon, 5 Oct 2026 12:05:23 +0300 User-Agent: Mozilla Thunderbird Subject: Re: [PATCH 2/3] chardev: preserve the logfile fd across cpr-exec #VSTOR-148304 To: "Denis V. Lunev" , svt-core@virtuozzo.com Cc: den@virtuozzo.com References: <20261002164853.2130337-1-den@openvz.org> <20261002164853.2130337-3-den@openvz.org> Content-Language: en-US From: Andrey Drobyshev In-Reply-To: <20261002164853.2130337-3-den@openvz.org> Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 7bit X-ClientProxiedBy: FR3P281CA0109.DEUP281.PROD.OUTLOOK.COM (2603:10a6:d10:a3::9) To VI0PR08MB10656.eurprd08.prod.outlook.com (2603:10a6:800:20a::12) MIME-Version: 1.0 X-MS-PublicTrafficType: Email X-MS-TrafficTypeDiagnostic: VI0PR08MB10656:EE_|MIWPR08MB226003:EE_ X-MS-Office365-Filtering-Correlation-Id: 673bf119-c3cc-455b-344b-08df22bfca30 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|366016|23010399003|1800799024|376014|18002099003|22082099003|4143699003|3023799007|10067099003|56012099006|5113699003; X-Microsoft-Antispam-Message-Info: 87kdLL1lnoF9HxmyAXZzAbh6miHbAwTBvrEgh4XewqeEdXiRICEoq476f5tLnVS1c4GjIMqXZm6qxUH7CMl1MdIksOigctgxBOfz4HrWMmV4B+YjosvUH/nxNhYKVWlZqE2PdnuyrcZa9ApMeB8YRc71qNjHHD0rAWk+x13ykuOc206co+px/bum7vOMJGSrwQlAXkdws9JTJUlnYZleyLgLn2w47IvYWmp/O8Q5WJFcpxMAL7tfM8e70Q6rbg/x+dVJvcO+okh3kze02zIcbQ5upqpOCNwJT3dFNKmhi4hvLEXkvEWXRmSL6Gn8b3VdXoLgKWnt3PyAMeiBRnGsc/kEHx6CtnMCKM6YJi5FiI8fbCdhGRAnVhCzHxUZ/isgWh1vHs8UoeugiaKdVUDv3KDwxZe+dpi4z3Yxd4qELIKyrC6BrJOH0pKV14ya0G3oe/xi2Fe+tG451j/yVi2TTY4kqcXFi9b9o1VZ1QFneaWo1NHqBYaiM2sB5YNolB14csLumzq2unSSzFxns/dWRHOm5nwmoRByIEJ0TUdOSH0yAqcxmcGNcNZqFsM4QBe+reKxo2nFkHtHYBCdvDmlA+ghIC89M5mpjwjc3UAwMH4hDgRBEkEEYfSM6uGy5EwsOnnDWl2aqyS5GKiRZ8i05sYqGbXKzzNtlFTEQQtXoHw= 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)(366016)(23010399003)(1800799024)(376014)(18002099003)(22082099003)(4143699003)(3023799007)(10067099003)(56012099006)(5113699003);DIR:OUT;SFP:1102; X-MS-Exchange-AntiSpam-MessageData-ChunkCount: 1 X-MS-Exchange-AntiSpam-MessageData-0: =?utf-8?B?WURkMmR5ZDcvZ05iSkczbndna3BSaHNzNDJDWHo2MkxBRWZMSCtHY3BBaFBP?= =?utf-8?B?bGtTdWNwcmtCdTU2ZzBTYUpSaVg0TWh5RldVODNHbnZaOVEwR0F3YjdyOThE?= =?utf-8?B?RXo4Z1l2MkNhdnRIdmhmbWtSTFBZU2pQTHdaUjN1RFkzVkxCelZGWlUvUnU3?= =?utf-8?B?WTVBT0IwMmIzWE8wbVl2U0Q2N2p1ZkR5bGNCejNGSVovdzBPMVVsSkpLazQ0?= =?utf-8?B?cDJ1emh4QnpJeThjZkY0QXJkY1F6SWtKUWRmUlBpSWgybEZaSmNBS0R6S2ZX?= =?utf-8?B?aWgxOG5tc3lsU2JoQjBOc09MMEFuQ3I3N2FHbU9SSXZ2UHFUMVZRa3JZZ1l0?= =?utf-8?B?R2Z1MUdUNUozZUorOU9TMHIwYlRybGNjbHdUYXV5bEorcldFVDBUNTA0b1g0?= =?utf-8?B?eDN2RTJkWGxGckl6ekkxNDJhZTN4OFhCdkVrcHE0MUIrZHBDVGZyek9QUVRy?= =?utf-8?B?bFdYbUo4OVZZRFRRMDNOZld5K2RPZ0hXKytDaVlIY3RaNHJ0ODVPeGZPanc1?= =?utf-8?B?eTd0V1RKZ2g3bDU4NjdLY1UvcXF4Q2IwaU1vakRXOWU4Yjh1ejczSDVGZEhy?= =?utf-8?B?TEdsTlZyQ1F6QzlEVWQ3MkhMVGNhRmFGKzBhbnl0aXI4ZjVSRnFSakxUKzF6?= =?utf-8?B?SDJvemNPNVQ5TS91V1UrbHVKdVVvR0JpWXczNUZJYnVYQjBYZGZ0cE9OaVY3?= =?utf-8?B?NmNvWUhCdHFMbE1WNFhUVk4rUWM5N09mS0xKa2d2TnRQT3ZUR290by9INFlC?= =?utf-8?B?ek55VVdUdllVL2pQQ1c0bitrbGpRNTNCVGw5dE5leDN4ZW4xWGZhR1A5VVQr?= =?utf-8?B?U2k2UkxwZFlBaGVMME5zRHhPekhNVXFWZnFHWXh1cFIvYzY2and3WlpCYXVW?= =?utf-8?B?d28xUWlrTGhmeW1nL1I1L2tSM0ZFV3RKbW9sMFhmVFI2KzJmTlR5bFloYjNu?= =?utf-8?B?cHdZYmlZdjl1SS9hSm1hZThQZitra2lCUkcyRkxHRUliSm5PalNNRC8vUHZu?= =?utf-8?B?K3ZLWlQ5WTBSREpHTjdZMm1JY0ZaQVIvTFlTMkd0dnpNYkdqbXhQQUpPeGZj?= =?utf-8?B?VG5FVHZ0S1lHN3FKSVlIeElRUGxBdko2WFc5cjV1MTUvNTJWSEtUbTlCd0ZE?= =?utf-8?B?VUJqbVhpTlpXcnRFbkxBMjAxWUJReEpaa2p6bmE4WHFQVUtyZ0NFUmNxT2dN?= =?utf-8?B?Qmo2TlNpcjIrc1NRTkZBWlNDVWkxM1BsWTlYUWZTQmJ1cFRkM1I0dHZqeTJ3?= =?utf-8?B?Ris1b1ZSVEgvaGhYK0RVN1BMa05KSnlOMUxWT0NWL3FzNGdCRXFFWDI1cTkx?= =?utf-8?B?VGZ6czdOSDVvVkVUOUN3ZDc2bUxjMHVhNTZjMktFMVRBQU5jbGJRWGZVMzBU?= =?utf-8?B?TEFBUENJNG1XTmlVZkFWRUY3LzhlbG9aVUFwTWFXTGJKVGtWVGxZZU1uMkhP?= =?utf-8?B?Rm9vL0JLYk14citORVZlR2RXTURSNGcwM1ZRYytNNkVJd295WlIzZEFab3lq?= =?utf-8?B?ZXAvd001V1plQU5nUCsrWHBBbVMzV0k4a3RmeXFZRFpyK0NXbytPOWErQ05q?= =?utf-8?B?UW1pdXZWanBVeFV5US9XT0l0K3YyeFhhK044WjdiOXlnVk1ZVGJEK0NJR0lH?= =?utf-8?B?OUR6a0cvUXRmcnRNdkMrZldFV2E5a1AyUUdtUzQxcGNUdFVpWFBhK2RSYWk5?= =?utf-8?B?NldYL2JKM25wUVIxUE5lRjQwUlI0Z2VZU0JucEV4U2YrV3V4NUhrUndpNHBX?= =?utf-8?B?elJ1d0J1NjZvcVlvbW0zb2JuMndTWjJCcnV1QUoxVkgzL3h2YVpuRTJuMFBk?= =?utf-8?B?dE41QUtiLzRVY1JSVzhlSmVnalkrK2pocC9ZS0ZkR3UrUU1JdGpsM05abHZF?= =?utf-8?B?SHVLbXA0MDlEUUFrZ0NwL2xnQTIvN3AzTk5JYVNCa20xSFFJSm1ONWRheXVU?= =?utf-8?B?anljMjFWK1JLdkphcmZ3Mm12NWhXdXNWSHFkWllZcncrZDA3K3ZoK3JrNnhs?= =?utf-8?B?WHhsbm9OSjN4bHpCTTUzWTVQUVhzdm5YTUhLVzV0cFpvQWlaREhJYWl6SzVq?= =?utf-8?B?WkVLeHhERjArYk4xMml2Z3VYN2MwZ1FaZUliaTdHNlBVb0lMREF2TlNQTGpx?= =?utf-8?B?UW5qS0I3WDJaa0Zqa2o3OEdkRWlwaVJPQSs4SnVwMDF6ZHp5MkZ2SDA0dGlk?= =?utf-8?B?cCt4NlRxV1NETHdhMExRZ3dwSDlNN1JPMXZUQzR4SWtnNmw5RzFoNzdKYWR5?= =?utf-8?B?cmduQ0hscjVVa3AwOGI1YjhQR2ZRMXdnU2wwUkxCQVVvN3lzUnRhNG96S25Y?= =?utf-8?B?UzdPbG1hVWhSVC9jbHFkek1FMDdoY2NaME90NFNTWVc2UnBnUU9ESWZ5WExr?= =?utf-8?Q?5jJOp+g2Ok0kO/c4=3D?= X-Auto-Response-Suppress: DR, OOF, AutoReply X-OriginatorOrg: virtuozzo.com X-MS-Exchange-CrossTenant-Network-Message-Id: 673bf119-c3cc-455b-344b-08df22bfca30 X-MS-Exchange-CrossTenant-AuthSource: VI0PR08MB10656.eurprd08.prod.outlook.com X-MS-Exchange-CrossTenant-AuthAs: Internal X-MS-Exchange-CrossTenant-OriginalArrivalTime: 05 Oct 2026 09:05:23.7196 (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: LT4Q38+whY/YFFT87RrowNOq27a6NpjRRI2ReYoU2EK/MWdjPLmaC1UBxrKOgfy/E/y9f8tiZBwPnn3KT16+JFLl+QXEb6SMGFQaOXDOD7Q= X-MS-Exchange-Transport-CrossTenantHeadersStamped: MIWPR08MB226003 On 10/2/26 7:48 PM, Denis V. Lunev wrote: > From: Denis V. Lunev > > A chardev with logfile= opens the log in qemu_char_open() on every > start, including the start of the new QEMU after cpr-exec. The backend > fds are taken from the cpr fd registry there, the log fd is not, so the > new process reopens the path itself. > > libvirt normally opens the log through virtlogd and passes a pipe in an > fdset. The qemu-update command line cannot carry that fdset, so it > names the log file path. The exec'd QEMU, running as the qemu user, > then fails to create a log it has no write access to, e.g. a nova > console.log on node-local storage: > > qemu-kvm: -chardev pty,id=charserial0,logfile=.../console.log, > logappend=on: Could not create '.../console.log': Permission denied > > and the VM is destroyed. Where the open succeeds, the new QEMU writes > the file directly, behind virtlogd's back. > > Save the log fd in the cpr registry under the chardev label and take it > from there on cpr-exec incoming, as the backends do. The logfile path > is not opened at all then. If the source did not save it, run without > a log rather than reopen the path. A failed chardev-change re-claims > the log through the base class cpr_claim_fds(), since the replacement's > log has displaced the entry. > > Signed-off-by: Denis V. Lunev > --- > [...] LGTM. Nit: include/chardev/char.h:308 - comment probably needs updating (this patch or previous one), stating that overrides must call the parent's hook first. Reviewed-by: Andrey Drobyshev