From nobody Mon Feb 2 07:31:48 2026 Delivered-To: importer@patchew.org Received-SPF: pass (zohomail.com: domain of lists.libvirt.org designates 8.43.85.245 as permitted sender) client-ip=8.43.85.245; envelope-from=devel-bounces@lists.libvirt.org; helo=lists.libvirt.org; Received-SPF: pass (zohomail.com: domain of lists.libvirt.org designates 8.43.85.245 as permitted sender) client-ip=8.43.85.245; envelope-from=devel-bounces@lists.libvirt.org; helo=lists.libvirt.org; Authentication-Results: mx.zohomail.com; dkim=pass; spf=pass (zohomail.com: domain of lists.libvirt.org designates 8.43.85.245 as permitted sender) smtp.mailfrom=devel-bounces@lists.libvirt.org; arc=pass (i=1 dmarc=pass fromdomain=nutanix.com); dmarc=pass(p=none dis=none) header.from=nutanix.com ARC-Seal: i=2; a=rsa-sha256; t=1768388330; cv=pass; d=zohomail.com; s=zohoarc; b=F7CCGZIwrBMWDbNh2VrAD1PyRINvJQ/lqx3kFeyJHUSrW1Y+o9XnysflvKi4j3AxD+lpBb3b0Yk2+ovqL52J8sukNK0OU7E6te3yWkjQPjVsdZ2lVwnvWzu4Ekz6GnXdBtoFmsFiVkxGLFYY1bqNg31NUM00lcVvH0xbRsWo8zE= ARC-Message-Signature: i=2; a=rsa-sha256; c=relaxed/relaxed; d=zohomail.com; s=zohoarc; t=1768388330; h=Content-Type:Content-Transfer-Encoding:Cc:Cc:Date:Date:From:From:In-Reply-To:List-Subscribe:List-Post:List-Owner:List-Id:List-Archive:List-Help:List-Unsubscribe:MIME-Version:Message-ID:References:Subject:Subject:To:To:Message-Id:Reply-To; bh=CUkBLXVhnyFhxNhiQ68jo3gRWLK4WnnKTt5qamNa8UI=; b=fSzcfBKjtg0INGnJvCwXYNVmyHl1/+cQTLxR9AOV6JjwfYtpwTYK3zpu6nNVZuWhSSAOj5iHeeTp0p4jxcAo1F9I/7gjQtATn/bHZgL+7Q7i4XevyLJMAKL3hThD3TxkMTL0hj6lX9LKDGR0h09sJKlsKGoV32HWeOiMhkK4H0M= ARC-Authentication-Results: i=2; mx.zohomail.com; dkim=pass; spf=pass (zohomail.com: domain of lists.libvirt.org designates 8.43.85.245 as permitted sender) smtp.mailfrom=devel-bounces@lists.libvirt.org; arc=pass (i=1 dmarc=pass fromdomain=nutanix.com); dmarc=pass header.from= (p=none dis=none) Return-Path: Received: from lists.libvirt.org (lists.libvirt.org [8.43.85.245]) by mx.zohomail.com with SMTPS id 17683883309481012.3926944680927; Wed, 14 Jan 2026 02:58:50 -0800 (PST) Received: by lists.libvirt.org (Postfix, from userid 993) id F24873F36A; Wed, 14 Jan 2026 05:58:49 -0500 (EST) Received: from [172.19.199.83] (lists.libvirt.org [8.43.85.245]) by lists.libvirt.org (Postfix) with ESMTP id B15F5418DB; Wed, 14 Jan 2026 05:58:07 -0500 (EST) Received: by lists.libvirt.org (Postfix, from userid 993) id 19543418B4; Wed, 14 Jan 2026 05:57:58 -0500 (EST) Received: from mx0a-002c1b01.pphosted.com (mx0a-002c1b01.pphosted.com [148.163.151.68]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (3072 bits) server-digest SHA256) (No client certificate requested) by lists.libvirt.org (Postfix) with ESMTPS id A9EC641A24 for ; Wed, 14 Jan 2026 05:56:34 -0500 (EST) Received: from pps.filterd (m0127838.ppops.net [127.0.0.1]) by mx0a-002c1b01.pphosted.com (8.18.1.11/8.18.1.11) with ESMTP id 60E8fcni3670517 for ; Wed, 14 Jan 2026 02:42:24 -0800 Received: from bl0pr03cu003.outbound.protection.outlook.com (mail-eastusazon11022085.outbound.protection.outlook.com [52.101.53.85]) by mx0a-002c1b01.pphosted.com (PPS) with ESMTPS id 4bnxm6sqdv-1 (version=TLSv1.3 cipher=TLS_AES_256_GCM_SHA384 bits=256 verify=NOT) for ; Wed, 14 Jan 2026 02:42:23 -0800 (PST) Received: from MW6PR02MB9817.namprd02.prod.outlook.com (2603:10b6:303:23b::15) by SA3PR02MB10162.namprd02.prod.outlook.com (2603:10b6:806:396::12) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.9520.5; Wed, 14 Jan 2026 10:42:21 +0000 Received: from MW6PR02MB9817.namprd02.prod.outlook.com ([fe80::86e5:3449:a3f7:ee4c]) by MW6PR02MB9817.namprd02.prod.outlook.com ([fe80::86e5:3449:a3f7:ee4c%5]) with mapi id 15.20.9499.005; Wed, 14 Jan 2026 10:42:21 +0000 X-Spam-Checker-Version: SpamAssassin 4.0.1 (2024-03-26) on lists.libvirt.org X-Spam-Level: X-Spam-Status: No, score=-3.7 required=5.0 tests=ARC_SIGNED,ARC_VALID,BAYES_00, DKIMWL_WL_HIGH,DKIM_SIGNED,DKIM_VALID,DKIM_VALID_AU, HEADER_FROM_DIFFERENT_DOMAINS,MAILING_LIST_MULTI,RCVD_IN_DNSWL_LOW, RCVD_IN_VALIDITY_CERTIFIED_BLOCKED,RCVD_IN_VALIDITY_RPBL_BLOCKED, RCVD_IN_VALIDITY_SAFE_BLOCKED,SPF_PASS autolearn=unavailable autolearn_force=no version=4.0.1 DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=nutanix.com; h= cc:content-transfer-encoding:content-type:date:from:in-reply-to :message-id:mime-version:references:subject:to; s= proofpoint20171006; bh=CUkBLXVhnyFhxNhiQ68jo3gRWLK4WnnKTt5qamNa8 UI=; b=qy7k9RhUHm9+RQylQs4MclJKhBwX2L6mx6qM/5WFyLwHggddUZO2JjjtW Ncn7yOnj15uBhXAxpbmBnVjP5NloR3vGRr75eQ9QacsGdyu0QLgA3uIz39le7LE0 n0aRrOwivuA7gTsVcOChvgFfydh2FrdP+bWbr9UQfChgedaUvUpkoemk4gc2K5No ZlYKHO4zOisgMMLuo/4se19QTET7Vofsvtu+mJ9/36Gm3CaNjnlbXewSaMs9j7xZ pnVMhR87RZUH+cXSUZ4fKLZU2C7Htvc2Rj60CJI/oIVmiz9pTyLEIC+GEzOgyVBB MISnBlGIiy9mw33DiEcngoQnPK1Cw== ARC-Seal: i=1; a=rsa-sha256; s=arcselector10001; d=microsoft.com; cv=none; b=PMwsKe24q7zD7R5Ruhjg2g3QuqfpveDLtK2bszDatgB6qPCufOszV5vk7CmzATl6zXbXagM1OCBVvHK8g/e31dHENLfEMknAM93TRdvHjk/+ifNksrlekRqOJabxM/C5ycOPzgUKfsMvOiKzbJOWwik+zWCdXpKM41Lt3QLQ6Pjcntcfvl9Holaz+CnKEqkJRKWSpPdrBQAYchHQiazbGo67kjqyU4BvlrhP25t0pRKSF6HwYY/qjubHjCoHBjtmkv9aMpZOSM16TFlMqidmn6WBko+jZ7/tZMnSVoflBfrjqHuVCm5QkTWykWabdgKSR2SHue6CpTkQ4mM3AdcKfA== 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=CUkBLXVhnyFhxNhiQ68jo3gRWLK4WnnKTt5qamNa8UI=; b=U+Y/pjTYYP3TzbbwfiPsPf4VP1N1QOlIqhI3+FM3MNYhWtXcLZwKNyZS1dGQ7DiZnwje6uGCF38QA4XWorksFuJN8SBayo/Ipx3CYYt68eVcSwo4Y0JAJ0Bve2HCVWhXEvtTtfM0OU74TAEm0lZS2Ep2gC29OQS2CFlrEaAOpSLjJrioMSovOfbdH+sG8VDgYLfamqIrRn6wqCKKzZwRlcsZZv1K2vTlxs0KWvJCpwB2KXr3+vFHsfll7PQ9kndU1FzqlJ6FNk0stYG197JIW+SIysZcGIKZWpBqapx8wysRXtOgT4pWAdj3U3JPRvfMvXu2xe7x9wWDm2uo/P/ObQ== ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass smtp.mailfrom=nutanix.com; dmarc=pass action=none header.from=nutanix.com; dkim=pass header.d=nutanix.com; arc=none DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=nutanix.com; s=selector1; h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck; bh=CUkBLXVhnyFhxNhiQ68jo3gRWLK4WnnKTt5qamNa8UI=; b=WVk+x9ftLH1BUUpwv//NcwQ5npVP7rETUBmhgPEVK3SWq25Cjjl2Z1ev6pVOj4z8bNvlCr+lrZ/ZdnV691QahAqXFib+cLE9eZjoPaJcn0xoI8qTe4yzIPbhXFfvSEHloD74CXMEhkWWyi3757uSDBrzwzs7Q4+aQBbuRvFF9COKJ0uTcHmQkmGivFk0S0xk+xNqTiuk7gNESFik5u/N0dg300W3cN/AurhtzfhqvuRJuD3YzlSXlylJ+THK5rl7cqEJRBtHZb0qElrglPWkY1hihM9yI5Pt7EPRa8XLTVfPra+1p9rH3YsqxKEM81ylZ7VKbHJDKtUCXJLJsWaSWg== From: Tejus GK To: devel@lists.libvirt.org Subject: [PATCH v1 1/4] qemu: fd: introduce qemuFDTuple for FD storage Date: Wed, 14 Jan 2026 10:42:01 +0000 Message-ID: <20260114104204.4071940-2-tejus.gk@nutanix.com> X-Mailer: git-send-email 2.43.7 In-Reply-To: <20260114104204.4071940-1-tejus.gk@nutanix.com> References: <20260114104204.4071940-1-tejus.gk@nutanix.com> Content-Transfer-Encoding: quoted-printable X-ClientProxiedBy: PH7P220CA0047.NAMP220.PROD.OUTLOOK.COM (2603:10b6:510:32b::6) To MW6PR02MB9817.namprd02.prod.outlook.com (2603:10b6:303:23b::15) MIME-Version: 1.0 X-MS-PublicTrafficType: Email X-MS-TrafficTypeDiagnostic: MW6PR02MB9817:EE_|SA3PR02MB10162:EE_ X-MS-Office365-Filtering-Correlation-Id: 31a11d90-392c-499f-f2a3-08de535998ee x-proofpoint-crosstenant: true X-MS-Exchange-SenderADCheck: 1 X-MS-Exchange-AntiSpam-Relay: 0 X-Microsoft-Antispam: BCL:0;ARA:13230040|376014|52116014|1800799024|366016|38350700014; X-Microsoft-Antispam-Message-Info: =?us-ascii?Q?vwK+SpYYBOhr1tyVwM+BMdc01/mi2h67Gt2cPASn+2RZVBi7/aSx8RV7dH9k?= =?us-ascii?Q?VmNJjYgPF1O86q4wAY8hOc6U7843sr3nYTcX9cR1TQnsSW1p0EJoHscOnzIP?= =?us-ascii?Q?6qXZvroBEQpoqRTBw7y0h6SaQZTFKdn9y0YDcsdEkUXjJ9w1qPtEJ73IuAVb?= =?us-ascii?Q?IbjFbESXTOctDSOF8RxVuhq7vfYcLu/2/rPTI4iFh4mQnFo4Y17LhrsAQlDH?= =?us-ascii?Q?ZtGHlX/8H9tswgeKDXnvymxwgbgbcNN//LbuHRhMFW8a050IfyyWds0yZlDk?= =?us-ascii?Q?nPB7ctDkuk/H1gmXuXu3kGout1+3A1AYiJcO6283HsoXyEQdKS5NgajkI3Po?= =?us-ascii?Q?WH4KnNB4fvauzOGIr2kcK+LpJXEoFr++vYEfPVgvEgqGzidMm5kKWSZipjxn?= =?us-ascii?Q?b5pg+cUriLZLF3byv3Q/VqBbIFu+fIly2QA/KQRExCdy82xDy6FkSXmYNp++?= =?us-ascii?Q?XTgXl8+9eTQSJ5R+EAbzEmL2/F4Op/k5hWH0UFrxvf68DNRncMOUMhkht3gE?= =?us-ascii?Q?8MXPYw/9s2IqNvLi7YuhnJJUzjM6jXXYuJQJWD3tK53QLVLD271oYp4RTVQg?= =?us-ascii?Q?blSpbPa1G5PEjenVTWJHC7NAWfFu3wM7K+vFlG4fcqeAeYdJsxI2ZiEx5eTD?= =?us-ascii?Q?7lW2f2NOjQZfXfp8HfQyMlj8u26Mc/AjTjK8pzXxEBPZPoaz5L9MrM3erl61?= =?us-ascii?Q?scbIlE7uk9bf9AXTGK/n8x533IOnE9igcM/jslLX4Vmp3B58yasXoHGoJZbY?= =?us-ascii?Q?zE52gnP2IzqJp3ao0fInUz8jUmg/5/+SVxt8xTKqQ8FiG2iEXT2NEVuc1Vta?= =?us-ascii?Q?4FK5jv24LAnJlFyPSGI9GtNM2O8sEc2d9YIYJ/+K/9EYBXVYSBIoz5/pZ7aO?= =?us-ascii?Q?DktHZS9VupSWEVRRp9zYPfoulmuJcK9BQznSJQ1I0gdGdypQWQxqSU1oSRZc?= =?us-ascii?Q?mTxFj/Zc132DNu3s7374J6iQUkKHWO64nrOHnR8qS/pzaqKZbZ3jHCBgy6IT?= =?us-ascii?Q?XsRMYGqnfCSKOiRyQ9EU4bMs0gl8Ivt/Ek7gZnmBq9MUPC5kv0VF+HITiVvM?= =?us-ascii?Q?YDhgAqb2Wyin9xdDw3AbOor1rwUnqJ8GCyb+HAFTgMnFNPwqqjnerC96svoo?= =?us-ascii?Q?0RK/JC1wIFN4C06DV/oYBsFDne9h7WITBD17s7yKeBaIhTopfgdiv4452z3y?= =?us-ascii?Q?hzxuLKg3KmHqW0w4r13U7OGZsTTlvOeXwgrC15jW5bkY5Songm8WNQMYRZce?= =?us-ascii?Q?wiHqepynAPEc6LM8yBzoCOHtX120V2Gg43+F+umFv8m2h/83flNqOrx+sVvJ?= =?us-ascii?Q?7OSmrHcPw7HAO/tcBK5yEaDxt4mhdwyh5y7qTptKkuY2OBAMB0kQAAIx+T2m?= =?us-ascii?Q?ra1lqHot2rfoZr7qrDdQCgrQ0aVaJT1CFAqjyBgfuYTJwY3+LSSizwA/FRRO?= =?us-ascii?Q?jn6c+Ynfjteh7vXsibiVbMmvvCHoac1/lH2mnNw7L4qORwyJHY0mkP7bpdO0?= =?us-ascii?Q?fJx2TKCBrGPLfRxme10VN2Fz2di/cCvC9GZkuDDtfG+4yYdl/AxpPFhDHWls?= =?us-ascii?Q?4hOV1QNi/NwHVB9pmmIBSBBi3cp7nXjoCm6QmpbfFCMwzryMVSn1whfISzyX?= =?us-ascii?Q?RnUqp6ji3pu+AY69Br582xQ=3D?= X-Forefront-Antispam-Report: CIP:255.255.255.255;CTRY:;LANG:en;SCL:1;SRV:;IPV:NLI;SFV:NSPM;H:MW6PR02MB9817.namprd02.prod.outlook.com;PTR:;CAT:NONE;SFS:(13230040)(376014)(52116014)(1800799024)(366016)(38350700014);DIR:OUT;SFP:1102; X-MS-Exchange-AntiSpam-MessageData-ChunkCount: 1 X-MS-Exchange-AntiSpam-MessageData-0: =?us-ascii?Q?7dt7M6OZqvIXccu0EEE7CrlWeuAnAclCejqdPRrvOlbJvTW2PRJ9/w+Y/nRN?= =?us-ascii?Q?g0D0MWEjK0Mlbr6Is104XBrX8H+4pNyJ1F8ASl79Pmr3nh8SXLAiguKHoueE?= =?us-ascii?Q?byuSm9u3infKugHCrADnMakNoXdjxA4JlXafOVdL1CQAKTxXMQHdZp1UnqI6?= =?us-ascii?Q?Va0XhhmEEpnt3WaRgwGamjQo55Oib97q7Mlx5TZxskXO9wIUUeNA5IBVpQd3?= =?us-ascii?Q?LKrQx/rbSHsy551D5JbYZ52tnqlJl1tefIt0mjmDUemALcmfBuVTmrxrpsGz?= =?us-ascii?Q?oJUyx+AD5GBF/nnZIO/nukfc34cetbDFgbbsmrTkssbdiTnXbK7r2HVcq2LX?= =?us-ascii?Q?h7ELGUeDsS4bxwiXk9kKtP+swpC+nNMVm6iVurssqwKKF5HjUMYNL+LrTxgW?= =?us-ascii?Q?2KZTsV4BKEh9+H06weXzkoHsjiBaIPhc7+dPGfrn5qSF2HfaSHazkpXTgi3Y?= =?us-ascii?Q?VVAefPy3odHda5jpsie21mtO9VyOR4Fmw2eiuE/rdh3H+5Td10sUlHy5TYCU?= =?us-ascii?Q?xsrUSs5dWqosy79Dfz4Vk1yu8/9xR4IW3fHdyAjIu7mr89ISsf5CKbJ+aHcE?= =?us-ascii?Q?7DcZK4POWXdqCPxQ/STAfBM7aD9SrQfouO41UuMX75W1+xDszKK8QzaJ2qvo?= =?us-ascii?Q?dlPrelTtk4jE+yPPSQlEsKzybrqnoyVJkWK/ikrJEqGnwLuqBdH5Wcp8PEc+?= =?us-ascii?Q?PvRfEYWQ+x83FJZd42IvT4jlyNFvYekCVGHGuxRp3zxh2xp0YYITHwe6jJHo?= =?us-ascii?Q?Xe3wIrHeq20CNInGSDA+f2cQwn2dxJz1+pmgM59Lq5KOx7xoH0C2cHVdlHVE?= =?us-ascii?Q?4NgBDg0+WAtsNC2NWBoPrmSq6G+GZI3pemrIwlEohVu9QinqJDZ2C/xsGI56?= =?us-ascii?Q?A1f+Sb+4Fq4Knf+j8xDIoEVgYtNnjHcduYlovP7Xr4iFzM46L5jIMFpZFXA9?= =?us-ascii?Q?PZXqYG8Agyp3LjuzxWdgSecAkBkEx4nyDRPPU0BZRn9SDHSL1hYndoUjgHE7?= =?us-ascii?Q?F3r4r3kEkXxU272ae9+O7jK9dYk3+Ae+KNv3XufzOwfhsInkAi9Q5CWyNHMB?= =?us-ascii?Q?7y/BdGBOlInewhP6SPv7DA4a8Gj187LQlpNDHA25dMUROBS5ONV80s4wRZdW?= =?us-ascii?Q?BBGSiers1NxCq0Kjum8nyeJzgxhYk8dpuWOn+9JeodTYb4eiIcIrWyy9CoHZ?= =?us-ascii?Q?O+ewvViJ+2aZWysWtejaaxhpQVsjYwEu6dH2N2kJ67BeC8CptRQZlDgfapnz?= =?us-ascii?Q?kWBz7763EFR8nZy3hVpl00h5ZzciqDwACK50azVgGf/H5zXM6PftNzcZUeZ+?= =?us-ascii?Q?wg9uGnlaQaLBOGcKCexdABXi7YgMPGhtmmz8WLiogQ9cBfu6LawD6/2/1zLQ?= =?us-ascii?Q?d/qp/zZnS9ZYrDbhGsqErkB7kkqDH/22toa8ybus5KueQ/v0ScgepaTceVlf?= =?us-ascii?Q?ZwbHDiIMGUELYzCy2HhyMkC+oekKKZ3v07xN2H9s73MbRQNKTpefTAxRdL6I?= =?us-ascii?Q?74YCJu69JvoXn2XsBrg1qDhKjM6MaTSq8UnscfE2F/TxQ9DbDUlndxgdzXAi?= =?us-ascii?Q?89mdlpubEdF8E7IeZ6LXBa8/f10o7np2pqR/yfuw47zlMV6JwRC3jMZeqGXQ?= =?us-ascii?Q?0xWASnTrwlvaZxu6ijv6Cv9RlPdnEm3Zx82iGQ45qEVLrKi4wO6TavOG8K1e?= =?us-ascii?Q?DmT2LqKAeVDtlM5ZdLTenYVPkAFGIiB0skdQ4vhdYZxquf5clZYOm3WclfON?= =?us-ascii?Q?zJ2aS6aOCw=3D=3D?= X-OriginatorOrg: nutanix.com X-MS-Exchange-CrossTenant-Network-Message-Id: 31a11d90-392c-499f-f2a3-08de535998ee X-MS-Exchange-CrossTenant-AuthSource: MW6PR02MB9817.namprd02.prod.outlook.com X-MS-Exchange-CrossTenant-AuthAs: Internal X-MS-Exchange-CrossTenant-OriginalArrivalTime: 14 Jan 2026 10:42:21.7237 (UTC) X-MS-Exchange-CrossTenant-FromEntityHeader: Hosted X-MS-Exchange-CrossTenant-Id: bb047546-786f-4de1-bd75-24e5b6f79043 X-MS-Exchange-CrossTenant-MailboxType: HOSTED X-MS-Exchange-CrossTenant-UserPrincipalName: a1DV+A9+0oMSBESiyU8RFNnanr9B/BVYxFsjUOZ2T2xFG1LA2JMvaWtQw9jHREq0sO+9XHO6sC1Cg9zFziV7BQ== X-MS-Exchange-Transport-CrossTenantHeadersStamped: SA3PR02MB10162 X-Authority-Analysis: v=2.4 cv=FIQWBuos c=1 sm=1 tr=0 ts=69677310 cx=c_pps a=jgSDuZMfJWq5ef40Xplyjg==:117 a=6eWqkTHjU83fiwn7nKZWdM+Sl24=:19 a=z/mQ4Ysz8XfWz/Q5cLBRGdckG28=:19 a=lCpzRmAYbLLaTzLvsPZ7Mbvzbb8=:19 a=xqWC_Br6kY4A:10 a=vUbySO9Y5rIA:10 a=0kUYKlekyDsA:10 a=VkNPw1HP01LnGYTKEx00:22 a=64Cc0HZtAAAA:8 a=2l0bY8T91AuumU7jI4EA:9 X-Proofpoint-GUID: aNLIvKaAXlic4-l16oFx-Rof8GTZx5Bm X-Proofpoint-ORIG-GUID: aNLIvKaAXlic4-l16oFx-Rof8GTZx5Bm X-Proofpoint-Spam-Details-Enc: AW1haW4tMjYwMTE0MDA4OCBTYWx0ZWRfX3GOUmSJFihs2 dHzMiJ/N2WdAbacemGyHNeFR9PSj9JF7vN2mKJ8ueiCNSc7mO9lX/9pp3UEXhx1W6ecVQQQIy9h ChwLImbGWYAHIaQMf4ovJTg69hgC6Nlu2XNWe9g6rBEkJwvYWfwy68adQdqqXo1tAvtgSnKv8Cw DOtmtBsETw+vIBR5qjkgqAZaDlIOUpIvOcFyJhOLndHJjJNj2k/B9XJIZArlBuj6FonxmuKnYHG 2mFbo3NEl0LGHAaUkUU5Et8CQXyhCY/ZL/6LDeDYrZ3i1viIXSEFz39DmRdyckriwZR0NxkbpIi j4nsUoKnwB0kUY6gnfDbB6fsCIIqcbmwc8VfkoCOpCkQBgCBcm0QAUw+hfGHTvTk7rvzyRlTBoo ZfazuDFqfc3hO2O5YZjnOOIuBnWth7Ph7//X+bjIqV9cxHgymfa66aQngvkJo0TKeu5qo8RlvBj nHB1i8KzXvXxyoQ7qCA== X-Proofpoint-Virus-Version: vendor=baseguard engine=ICAP:2.0.293,Aquarius:18.0.1121,Hydra:6.1.9,FMLib:17.12.100.49 definitions=2026-01-14_03,2026-01-09_02,2025-10-01_01 X-Proofpoint-Spam-Reason: safe Message-ID-Hash: PPUD24MIYMO42TWSQDJP4GIA2ENOUIIL X-Message-ID-Hash: PPUD24MIYMO42TWSQDJP4GIA2ENOUIIL X-MailFrom: tejus.gk@nutanix.com X-Mailman-Rule-Misses: dmarc-mitigation; no-senders; approved; loop; banned-address; header-match-devel.lists.libvirt.org-0; emergency; member-moderation; nonmember-moderation; administrivia; implicit-dest; max-recipients; max-size; news-moderation; no-subject; digests; suspicious-header CC: Tejus GK X-Mailman-Version: 3.3.10 Precedence: list List-Id: Development discussions about the libvirt library & tools Archived-At: List-Archive: List-Help: List-Owner: List-Post: List-Subscribe: List-Unsubscribe: X-ZohoMail-DKIM: pass (identity @nutanix.com) X-ZM-MESSAGEID: 1768388332139158500 Content-Type: text/plain; charset="utf-8" Introduce a simple struct to store an array of file descriptors. This is loosely based on how virStorageSourceFDTuple is implemented. This will be used later on to store FDs for FD based live migrations of qemu domains. Signed-off-by: Tejus GK --- src/qemu/qemu_fd.c | 23 +++++++++++++++++++++++ src/qemu/qemu_fd.h | 14 ++++++++++++++ 2 files changed, 37 insertions(+) diff --git a/src/qemu/qemu_fd.c b/src/qemu/qemu_fd.c index ef0a8d8127..2bfaac500c 100644 --- a/src/qemu/qemu_fd.c +++ b/src/qemu/qemu_fd.c @@ -509,3 +509,26 @@ qemuFDPassDirectGetPath(qemuFDPassDirect *fdpass) =20 return fdpass->name; } + + +void +qemuFDTupleFree(qemuFDTuple *tuple) +{ + size_t i; + + if (!tuple) + return; + + for (i =3D 0; i < tuple->nfds; i++) + VIR_FORCE_CLOSE(tuple->fds[i]); + + g_free(tuple->fds); + g_free(tuple); +} + + +qemuFDTuple * +qemuFDTupleNew(void) +{ + return g_new0(qemuFDTuple, 1); +} diff --git a/src/qemu/qemu_fd.h b/src/qemu/qemu_fd.h index d873e110a8..396ff946cb 100644 --- a/src/qemu/qemu_fd.h +++ b/src/qemu/qemu_fd.h @@ -83,3 +83,17 @@ qemuFDPassDirectTransferMonitorRollback(qemuFDPassDirect= *fdpass, qemuMonitor *mon); const char * qemuFDPassDirectGetPath(qemuFDPassDirect *fdpass); + + +typedef struct _qemuFDTuple qemuFDTuple; +struct _qemuFDTuple { + int *fds; + size_t nfds; +}; + +void +qemuFDTupleFree(qemuFDTuple *tuple); +G_DEFINE_AUTOPTR_CLEANUP_FUNC(qemuFDTuple, qemuFDTupleFree); + +qemuFDTuple * +qemuFDTupleNew(void); --=20 2.43.7