[{"id":3675291,"web_url":"http://patchwork.ozlabs.org/comment/3675291/","msgid":"<adecqP2StOtY5Rgq@lent>","list_archive_url":null,"date":"2026-04-09T12:33:44","subject":"Re: [PATCH] vfio: Add VFIO I/O backend capability flags for feature\n support","submitter":{"id":80631,"url":"http://patchwork.ozlabs.org/api/people/80631/","name":"John Levon","email":"john.levon@nutanix.com"},"content":"On Thu, Apr 09, 2026 at 01:43:12PM +0200, Cédric Le Goater wrote:\n\n> !-------------------------------------------------------------------|\n>   CAUTION: External Email\n> \n> |-------------------------------------------------------------------!\n> \n> Different VFIO I/O backends support different features. For example,\n> the kernel VFIO backend supports DMA-BUF creation, while vfio-user\n> does not. Currently, this is handled by attempting the operation and\n> checking for -ENOTTY, which can lead to misleading warnings when a\n> feature is simply not supported by a particular backend.\n> \n> Introduce a capability flags mechanism in VFIODeviceIOOps that allows\n> backends to explicitly advertise which features they support. Callers\n> can check these capabilities before attempting operations, avoiding\n> spurious errors and warnings.\n> \n> Cc: John Levon <john.levon@nutanix.com>\n> Signed-off-by: Cédric Le Goater <clg@redhat.com>\n\nThanks!\n\nReviewed-by: John Levon <john.levon@nutanix.com>\n\nregards\njohn","headers":{"Return-Path":"<qemu-devel-bounces+incoming=patchwork.ozlabs.org@nongnu.org>","X-Original-To":"incoming@patchwork.ozlabs.org","Delivered-To":"patchwork-incoming@legolas.ozlabs.org","Authentication-Results":["legolas.ozlabs.org;\n\tdkim=pass (2048-bit key;\n unprotected) header.d=nutanix.com header.i=@nutanix.com header.a=rsa-sha256\n header.s=proofpoint20171006 header.b=bSiZd2N3;\n\tdkim=fail reason=\"signature verification failed\" (2048-bit key;\n unprotected) header.d=nutanix.com header.i=@nutanix.com header.a=rsa-sha256\n header.s=selector1 header.b=gYSeFed2;\n\tdkim-atps=neutral","legolas.ozlabs.org;\n spf=pass (sender SPF authorized) smtp.mailfrom=nongnu.org\n (client-ip=209.51.188.17; helo=lists.gnu.org;\n envelope-from=qemu-devel-bounces+incoming=patchwork.ozlabs.org@nongnu.org;\n receiver=patchwork.ozlabs.org)"],"Received":["from lists.gnu.org (lists1p.gnu.org [209.51.188.17])\n\t(using TLSv1.2 with cipher ECDHE-ECDSA-AES256-GCM-SHA384 (256/256 bits))\n\t(No client certificate requested)\n\tby legolas.ozlabs.org (Postfix) with ESMTPS id 4frzrn26CWz1yCv\n\tfor <incoming@patchwork.ozlabs.org>; Thu, 09 Apr 2026 22:34:15 +1000 (AEST)","from localhost ([::1] helo=lists1p.gnu.org)\n\tby lists.gnu.org with esmtp (Exim 4.90_1)\n\t(envelope-from <qemu-devel-bounces@nongnu.org>)\n\tid 1wAoa7-0007Fc-HB; Thu, 09 Apr 2026 08:33:59 -0400","from eggs.gnu.org ([2001:470:142:3::10])\n by lists1p.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256)\n (Exim 4.90_1) (envelope-from <john.levon@nutanix.com>)\n id 1wAoa4-0007F5-2x\n for qemu-devel@nongnu.org; Thu, 09 Apr 2026 08:33:56 -0400","from mx0b-002c1b01.pphosted.com ([148.163.155.12])\n by eggs.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256)\n (Exim 4.90_1) (envelope-from <john.levon@nutanix.com>)\n id 1wAoa2-0008Nz-5p\n for qemu-devel@nongnu.org; Thu, 09 Apr 2026 08:33:55 -0400","from pps.filterd (m0127842.ppops.net [127.0.0.1])\n by mx0b-002c1b01.pphosted.com (8.18.1.11/8.18.1.11) with ESMTP id\n 6397nh4u3196929; Thu, 9 Apr 2026 05:33:52 -0700","from bl0pr03cu003.outbound.protection.outlook.com\n (mail-eastusazon11022115.outbound.protection.outlook.com [52.101.53.115])\n by mx0b-002c1b01.pphosted.com (PPS) with ESMTPS id 4dcms479nf-1\n (version=TLSv1.3 cipher=TLS_AES_256_GCM_SHA384 bits=256 verify=NOT);\n Thu, 09 Apr 2026 05:33:52 -0700 (PDT)","from CH2PR02MB6760.namprd02.prod.outlook.com (2603:10b6:610:7f::9)\n by CY8PR02MB10185.namprd02.prod.outlook.com (2603:10b6:930:58::20) with\n Microsoft SMTP Server (version=TLS1_2,\n cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.9769.20; Thu, 9 Apr\n 2026 12:33:49 +0000","from CH2PR02MB6760.namprd02.prod.outlook.com\n ([fe80::dbc1:9766:c58d:4887]) by CH2PR02MB6760.namprd02.prod.outlook.com\n ([fe80::dbc1:9766:c58d:4887%6]) with mapi id 15.20.9769.035; Thu, 9 Apr 2026\n 12:33:47 +0000"],"DKIM-Signature":["v=1; a=rsa-sha256; c=relaxed/relaxed; d=nutanix.com; h=\n cc:content-transfer-encoding:content-type:date:from:in-reply-to\n :message-id:mime-version:references:subject:to; s=\n proofpoint20171006; bh=mjRbRnOGFRkigCSsPGcOihM3u5NtUjZnaoFK1pbht\n 8U=; b=bSiZd2N350Pw4M/DMTfTj9/XXmHW40FxluGQ1HlL845h0hJnlOD1EK/kv\n oA6ze5xjNdvYhPqpNOcglFqQMmlsRaYdZdNeLKqml0wwtKY7wh8l6narpW3dhbj5\n ygMDhHhlojGyY9Cv78HI3SnUZaIFyzAnV4lC+nHswGr8Sf+3sNQPJ9rKLeO31dnQ\n bkEQcM5yb/muDFVhil/3NnttToNVpFIfdKOeF7tujlDfYSHceRqiZUsrSGTAv3lh\n GjD9iJihmGcVi5P19duBbcet4eOb8BmNLKPIltB5VHmT31e4nOnH0/MB3jY0yQ7C\n 628L3xwndIqhYQRwovEKe4Q4m96Vg==","v=1; a=rsa-sha256; c=relaxed/relaxed; d=nutanix.com;\n s=selector1;\n h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck;\n bh=OnWU2PELpM+XjfAaM8wADpgZdIEf0P/4FPiuUr4m+NI=;\n b=gYSeFed2dyEWkv7FbNsLAX/qrH2ELh+3xjZvFqR9xfzC4DDvqEwB7UNbSj8yc8fBZ/5RnZ6hstNWu5Q5DTsz0AauL+IC+nSb6bLAE6WrG3g/b1MTdJDy7mhEULQX1cQqPA3ongffl76kCA5h0e+oSVnAfWnZc5zFppQwuOyrIjlJkRQivD/ct9co+bGEVRRP9C0q3fdj83dwrTdhf4xdovvp3OpyiP/cYgy1pKdJtFizDwwEWIlYDwWbCIpW58qadfraMBwH/kP6kck5xFJltzRFTGndc/VujMnzNokzO1sPdo8oAUqb8iMhJ0VUkY3jqVsIe84ugzwEj7mfmqLyOg=="],"ARC-Seal":"i=1; a=rsa-sha256; s=arcselector10001; d=microsoft.com; cv=none;\n b=bx62gYu65f2JhpDeCINjXZ53j/HivUbF8IY/xxUMKK2fUT+tS0sPTXa2MO5O5Z3R/Zy3uf+pxtQmrfpogw47ji3tZVHQrpzR7X8UKGnIiPHd+n5lLTaT12cxyroEp8yJxnJGuQo7gRmH6tUOEIIdZ8uXFnYbLmT37fErie6BDuWJN5ZYFUcQ6EzUobuM5RNxPrufaOwhDTFT01P4debY5EnWParR33B1MK85GpIBKSyO6oetLS9yeuNIZS5qsxIBPE2klOPqkj7gpFlEq9eVhCv4lt2VJQZg7MeNah56sC5GLaDEwjAD4PzFp3sfhzWNJuP+bSACnbmHO9eZIZm/hQ==","ARC-Message-Signature":"i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com;\n s=arcselector10001;\n 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;\n bh=OnWU2PELpM+XjfAaM8wADpgZdIEf0P/4FPiuUr4m+NI=;\n b=qlEKnd0ybWp+V7HZqMqZjIPXNdDFxG+IEB4/eir2kHbI9O22wbvOnxAlODQviZLVigkYuk2qm/P10J5C+oOoX1mMDBIakBRzD8J5pmVKSZvpzqhw+RhdbQ4o3RtIr0gxcO8R7V6QJtFS4vyQQchcfOZGwvad/rdXQFpeeuUG7FsRrYMIkWL0/R2FoBb91eJGisHn34SDPk2rTr06yUiP3dYBASGe5utzM0SvbuJE8jEjO/RVljKguUFE6VFSOFXqTMsINBQLDpNdaI5Qrw1DiB0O+0k7nipHJq9JeWLbxGytUIquodM9JQS0XlT4Ygk59/20mZvr0FeUagVFvlw8Kw==","ARC-Authentication-Results":"i=1; mx.microsoft.com 1; spf=pass\n smtp.mailfrom=nutanix.com; dmarc=pass action=none header.from=nutanix.com;\n dkim=pass header.d=nutanix.com; arc=none","Date":"Thu, 9 Apr 2026 13:33:44 +0100","From":"John Levon <john.levon@nutanix.com>","To":"=?iso-8859-1?q?C=E9dric?= Le Goater <clg@redhat.com>","Cc":"qemu-devel@nongnu.org, Alex Williamson <alex@shazbot.org>","Subject":"Re: [PATCH] vfio: Add VFIO I/O backend capability flags for feature\n support","Message-ID":"<adecqP2StOtY5Rgq@lent>","References":"<20260409114312.1704062-1-clg@redhat.com>","Content-Type":"text/plain; charset=iso-8859-1","Content-Disposition":"inline","Content-Transfer-Encoding":"8bit","In-Reply-To":"<20260409114312.1704062-1-clg@redhat.com>","X-Url":"http://www.movementarian.org/","X-ClientProxiedBy":"LO0P123CA0010.GBRP123.PROD.OUTLOOK.COM\n (2603:10a6:600:354::19) To CH2PR02MB6760.namprd02.prod.outlook.com\n (2603:10b6:610:7f::9)","MIME-Version":"1.0","X-MS-PublicTrafficType":"Email","X-MS-TrafficTypeDiagnostic":"CH2PR02MB6760:EE_|CY8PR02MB10185:EE_","X-MS-Office365-Filtering-Correlation-Id":"0f58c66c-8e96-465f-30a8-08de96343f33","x-proofpoint-crosstenant":"true","X-MS-Exchange-SenderADCheck":"1","X-MS-Exchange-AntiSpam-Relay":"0","X-Microsoft-Antispam":"BCL:0;\n ARA:13230040|1800799024|376014|366016|22082099003|18002099003|56012099003;","X-Microsoft-Antispam-Message-Info":"\n czGbIdTCGtQEkQprq0HTJxcyHHkyhayzFLYdtzChwABnDXsl2jn9itJYDqx6mB8EEagDmW31SHoGsE42QnU+9fDrbX7MvCkLcmNttBHZzC85E7ng0+/kZk1ZPeso0/pNYik+b2z4sXZ/kdRjPh15o2BQm+7OBK9q/qb4eCq1bFgSpU2FDCRuHcYRRvQV8t/fT7H+RN3nGgPcbmABDaohNUXQapMHeQCFRSnj4pxC6IRED7mQHor46mWC51HsELSLvZuATo0c74mfL5QzJ+/36kcc/m5+wKqxboKAQHxvJON4NF9z4SSZYPWYJ4P9sNZWJQdhpMjxb/LfTdkhYHq1dkexCFXKekMphffhGoDX4RtlIdh1CssghtotjjcTLBRzHI2deldNFDuTnQnhGHgl8mMUzzTABDgIw0vj7Rxr1+ny/thViF/x6uWu8tZuhVy0gDsRPAPDHwiC5pcGJnnB1gDJDAFt1An7+9F+6GYswo4TrmB2kS4x5+cD02tNiU8quz0pOZA2cx0BeRsnaRwf5j8YZuzpx0fG09qQQVjbhnn0BIFtJQDvYJKr2qSGtAJVKKzm9QpXCmS37V1imcx05PnXopeiqlhILUk2080rwHl1D+umQToVGOMFeTopIoWxIoa0yge3NqaKg+84cEvd9yuwQsZqRWX5OBwJ0npjovcR/0nGpFSl6tKFSH1wUbxBhzerh4QOZ75bzMeHax4Q1o4Hqoct0i3f6gaUXlLqnfE=","X-Forefront-Antispam-Report":"CIP:255.255.255.255; CTRY:; LANG:en; SCL:1; SRV:;\n IPV:NLI; SFV:NSPM; H:CH2PR02MB6760.namprd02.prod.outlook.com; PTR:; CAT:NONE;\n SFS:(13230040)(1800799024)(376014)(366016)(22082099003)(18002099003)(56012099003);\n DIR:OUT; SFP:1102;","X-MS-Exchange-AntiSpam-MessageData-ChunkCount":"1","X-MS-Exchange-AntiSpam-MessageData-0":"=?iso-8859-1?q?B8jJIcsZQJ3DuZqlFd2r8Gb?=\n\t=?iso-8859-1?q?IMFC1GS1pY6Xg6nHG1s8Lf9jPD3ZsqH9NK39kH8ITIYxQi8mCsXaBnJmkZef?=\n\t=?iso-8859-1?q?5Ws4CjMSB34nVgdnyAM6JxgdmZYqrVyfV1lyI+svf1orLZFSG7iuT9L4o3W6?=\n\t=?iso-8859-1?q?38F0873Dj5X9cJCC/IvzEXlIqunElD+j/N8lg07ee4HHkUezFNrvg8ofgCGN?=\n\t=?iso-8859-1?q?scDiFUHh7aoSJ2PHnJeTXcz6wBIv+vxc45HQxDoWcSEa8zo5gUawwM9pVZ9H?=\n\t=?iso-8859-1?q?5ktue4m7MfCXPP0vO9fbjwfCs8zQ8hr9V3x7V/MeB9Jq2QY0WrnXyncuRDq4?=\n\t=?iso-8859-1?q?z6Yyqf34UVVt7IvrTtExuDiwBC22RzScjKLzm3A5ym25MjTRak/G+3wQwbKi?=\n\t=?iso-8859-1?q?LRyP+GZkN5CRT2mh9q5ejGwolL/ojJscoGwgSYvJJsql66FG3ZhmDUAbkbb8?=\n\t=?iso-8859-1?q?EIN4yDIhvRZgEDV3TyUynBGC46CKBkEw4MnGKafp3xGs94tnJEBSlKbjPsk5?=\n\t=?iso-8859-1?q?OOU3C4/Bc3LUQdLjK9utYQvi9z5ObqEbV5I7rTGoFaH4PgVjPH+qSD2tv1E3?=\n\t=?iso-8859-1?q?Px0WC4KTcJ38eSm/P4G0jYB0Vj6mcRVk4UJmCc4LD3C5rGGqPtu+4qyqwyd0?=\n\t=?iso-8859-1?q?LJ+irPDuTr2KCT2x6lsBKdYK7z/dfNXKknTT8GGkRmn8O5cC/k3r/p8YnsJP?=\n\t=?iso-8859-1?q?bS+hk1Ki2MAYnLMaVOEB8+PXcu18/8DyP8F7yK2UXovSK8KFxDeVgaM9k45x?=\n\t=?iso-8859-1?q?wHcZVmgm1MPXa1WLjWfVH4cEJkzyKCse/s26AGnOIAtG42VZfDcl9QvjZhRU?=\n\t=?iso-8859-1?q?0xqYr4ou3a99fjW9ONLtl4tbt/Kem0elc4j1xkUjUpswUcO7PCL3Gp/poxV/?=\n\t=?iso-8859-1?q?0unjDdvtILXANFxM66F8tKJ4JO/PFdeCO2AOxEg5zIm/YOfSR9JTK5iePEg2?=\n\t=?iso-8859-1?q?lpKygas9t73gNJonqk7wR2OqP0Xui9pCZ/mqH+rjMbYcS2uv/RcuN6R+c/tu?=\n\t=?iso-8859-1?q?Fejtw94ReIR1qas+cxNRDOb6BuAvjtuIFJtXSlK69lOCba8W7dnM5h+W+55X?=\n\t=?iso-8859-1?q?voUDcSuMNHaoWh+JhGlUbL5PizNmiha/HO6ZjZHFBXJZ9mrhxRCc09biGzUE?=\n\t=?iso-8859-1?q?ST21ukymHkAGqnI/iZ88i4gRHSxEFgSzUa5/l9gvz7yGV7kFhTPD12sWoSwk?=\n\t=?iso-8859-1?q?lScIQihxVFKEElhmji4h9mcDmWFasFmRH8Z9lO6lUVc6Tf6DI2B5IUlp1Aht?=\n\t=?iso-8859-1?q?oyh1iPaa3lBz8g9aI+G8CvL/I6LFv+wvx25+mFG+Qbw4m2ODaJuLMk0hjOTF?=\n\t=?iso-8859-1?q?KcqbpaMywCUa3cn1sMWECvGyLpbEQJvTk5mjcOssaYdyEnzMgF0TspXG4xdk?=\n\t=?iso-8859-1?q?aC4Qxgp/2bse1ZsnD5wYGRZUpn9ZSGmG7zH0n+JzDxXF8TJDvqzLsBe6Va0u?=\n\t=?iso-8859-1?q?N+EcqY+SuMkwl19l11NQ6rF+KCJ51urQh4GgbfQfKaNjlLILT7Pc6YUbBpFu?=\n\t=?iso-8859-1?q?OMULV1gM/YfTRl/1U1TqMl+ch72Isqo5ZIbzfYTIMnW3dEv6Gf9LNtKP/dMi?=\n\t=?iso-8859-1?q?hYZn0sh1F6siaJMgEE6xJMLvTGSA3iJ0LoIChOBcLS+YtIRD1YrReOvIcWq6?=\n\t=?iso-8859-1?q?NYtYkYnbko3gIEPiPi4UgT1/aXqSzEa2Qcc1s3Mau7RPe1Dav5Dz8OhPnxL+?=\n\t=?iso-8859-1?q?/GMY2u6mXvEqpGrJ683cn3iO2O2m/t1yDWivjIDV49RsPzW2N0GQxhCT/Rv4?=\n\t=?iso-8859-1?q?zQOnbMjcfEzAYEIxh53lQH5bwFFlGvPUXox5d15wUvSVZiQ=3D=3D?=","X-Exchange-RoutingPolicyChecked":"\n tCK7ygw47v01IgWXN8lOgQoHqtbw8fNPyL5RXtsomqZlng/5SfnyoAI5s0R33gcrMFboR2/BwbP5j7Zfs9W7E41emK6AFgpUZE3SStbKPx03ulsHmweeYsaPucq6dl+Tm7IhKlEJUIpOgin0UbETvkOJt7xXXJ4V/GHA6jSkORda3XGIJwIogHZ1378MOHNPHifhM0+A8GHztAaRAL/rzQQlVqRKuTU4vCjh/aAcNutjRuwU42dlXxNJBXzh+3xI7D9z1bPvM2NFxKZdWLRlf3MTfy4nCsQlyx9kkosb4G/W1rdzDLA6lVsm6hTBmszVqusUwSUGLrhptealtx1BtA==","X-OriginatorOrg":"nutanix.com","X-MS-Exchange-CrossTenant-Network-Message-Id":"\n 0f58c66c-8e96-465f-30a8-08de96343f33","X-MS-Exchange-CrossTenant-AuthSource":"CH2PR02MB6760.namprd02.prod.outlook.com","X-MS-Exchange-CrossTenant-AuthAs":"Internal","X-MS-Exchange-CrossTenant-OriginalArrivalTime":"09 Apr 2026 12:33:47.7196 (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":"\n +ZT8sJga0NW9Ha5AI4PooWHo1fFM2puOKeA4WmsjMmCt7apvbdOOflA8WQwXytDp8MJyvWLQCM5NDDmejdEosA==","X-MS-Exchange-Transport-CrossTenantHeadersStamped":"CY8PR02MB10185","X-Proofpoint-Spam-Details-Enc":"AW1haW4tMjYwNDA5MDExMyBTYWx0ZWRfX8URJLCUtdPoC\n fSQ4e9Bi7Kgpm1i2a180A7kHRgHkSSHZSypiHgtd+V9kKcwWw+ffpOfYnE8kdr1hU2mL5YFCEyY\n fS8eRBGrLMtIXvdTYfHllby8/8pTPGfdK5IlWEC0JRIe8TG9TmaeKA9gox3U09YrSJTYyRVJuvb\n dhpmcZVxO+gf60Mg87N74qFPQuJm408c0f71n8VH90yRToWGhChQgxbWg1hpug7+DHs3dGiV9jQ\n s7yZ7LW4T+ztCD/QXXQ8KuWJ3xZd4NwugeUC3WFa/l/ZBdLJkJseSgI/2aHLvncenRFMxBrLHAM\n 9uymSmA6RoRTQD7dsNFMLZUx753TIJL3/cZvS6PAT1YEqjILjEIHNpQpSWJL2TPzbJvbKNQvgja\n 7egPvYh0hcNi94S8A7y+qCJtCexaI7/7W96f/JeO8M3TWvbmlP8XgQY0Plb4BORqQqBFxlsX30G\n PmUHkoGb54tSaLJw5QQ==","X-Authority-Analysis":"v=2.4 cv=M4197Sws c=1 sm=1 tr=0 ts=69d79cb0 cx=c_pps\n a=eiJXeYcBrKiqJN7PW0oR8A==:117 a=6eWqkTHjU83fiwn7nKZWdM+Sl24=:19\n a=z/mQ4Ysz8XfWz/Q5cLBRGdckG28=:19 a=lCpzRmAYbLLaTzLvsPZ7Mbvzbb8=:19\n a=xqWC_Br6kY4A:10 a=8nJEP1OIZ-IA:10 a=A5OVakUREuEA:10 a=0kUYKlekyDsA:10\n a=VkNPw1HP01LnGYTKEx00:22 a=VofLwUrZ8Iiv6rRUPXIb:22 a=VUi8bpU7OL1Oj2-RSIOF:22\n a=64Cc0HZtAAAA:8 a=20KFwNOVAAAA:8 a=_bQLPuXNoKh4h8MH-wAA:9 a=3ZKOabzyN94A:10\n a=wPNLvfGTeEIA:10 a=zgiPjhLxNE0A:10","X-Proofpoint-ORIG-GUID":"-ClktJ-tTAXrZUBLCQm-ZMzr5LEEIgYq","X-Proofpoint-GUID":"-ClktJ-tTAXrZUBLCQm-ZMzr5LEEIgYq","X-Proofpoint-Virus-Version":"vendor=baseguard\n engine=ICAP:2.0.293,Aquarius:18.0.1143,Hydra:6.1.51,FMLib:17.12.100.49\n definitions=2026-04-09_03,2026-04-09_02,2025-10-01_01","X-Proofpoint-Spam-Reason":"safe","Received-SPF":"pass client-ip=148.163.155.12;\n envelope-from=john.levon@nutanix.com; helo=mx0b-002c1b01.pphosted.com","X-Spam_score_int":"-32","X-Spam_score":"-3.3","X-Spam_bar":"---","X-Spam_report":"(-3.3 / 5.0 requ) BAYES_00=-1.9, DKIMWL_WL_HIGH=-0.54,\n DKIM_SIGNED=0.1, DKIM_VALID=-0.1, DKIM_VALID_AU=-0.1, DKIM_VALID_EF=-0.1,\n RCVD_IN_DNSWL_LOW=-0.7, RCVD_IN_VALIDITY_RPBL_BLOCKED=0.001,\n RCVD_IN_VALIDITY_SAFE_BLOCKED=0.001, SPF_HELO_NONE=0.001,\n SPF_PASS=-0.001 autolearn=ham autolearn_force=no","X-Spam_action":"no action","X-BeenThere":"qemu-devel@nongnu.org","X-Mailman-Version":"2.1.29","Precedence":"list","List-Id":"qemu development <qemu-devel.nongnu.org>","List-Unsubscribe":"<https://lists.nongnu.org/mailman/options/qemu-devel>,\n <mailto:qemu-devel-request@nongnu.org?subject=unsubscribe>","List-Archive":"<https://lists.nongnu.org/archive/html/qemu-devel>","List-Post":"<mailto:qemu-devel@nongnu.org>","List-Help":"<mailto:qemu-devel-request@nongnu.org?subject=help>","List-Subscribe":"<https://lists.nongnu.org/mailman/listinfo/qemu-devel>,\n <mailto:qemu-devel-request@nongnu.org?subject=subscribe>","Errors-To":"qemu-devel-bounces+incoming=patchwork.ozlabs.org@nongnu.org","Sender":"qemu-devel-bounces+incoming=patchwork.ozlabs.org@nongnu.org"}},{"id":3675683,"web_url":"http://patchwork.ozlabs.org/comment/3675683/","msgid":"<f0d95915-f8f6-4c37-a211-5313d48ba120@redhat.com>","list_archive_url":null,"date":"2026-04-10T07:00:06","subject":"Re: [PATCH] vfio: Add VFIO I/O backend capability flags for feature\n support","submitter":{"id":85406,"url":"http://patchwork.ozlabs.org/api/people/85406/","name":"Cédric Le Goater","email":"clg@redhat.com"},"content":"On 4/9/26 13:43, Cédric Le Goater wrote:\n> Different VFIO I/O backends support different features. For example,\n> the kernel VFIO backend supports DMA-BUF creation, while vfio-user\n> does not. Currently, this is handled by attempting the operation and\n> checking for -ENOTTY, which can lead to misleading warnings when a\n> feature is simply not supported by a particular backend.\n> \n> Introduce a capability flags mechanism in VFIODeviceIOOps that allows\n> backends to explicitly advertise which features they support. Callers\n> can check these capabilities before attempting operations, avoiding\n> spurious errors and warnings.\n> \n> Cc: John Levon <john.levon@nutanix.com>\n> Signed-off-by: Cédric Le Goater <clg@redhat.com>\n> ---\n>   include/hw/vfio/vfio-device.h | 13 +++++++++++++\n>   hw/vfio/device.c              |  2 ++\n>   hw/vfio/region.c              |  5 +++++\n>   3 files changed, 20 insertions(+)\n> \n> diff --git a/include/hw/vfio/vfio-device.h b/include/hw/vfio/vfio-device.h\n> index a95c5bf50302a7394582dcc493d96aef00b47dc8..380a55d6e5ea280c8f44016c7a8a1dcb8f4c00fe 100644\n> --- a/include/hw/vfio/vfio-device.h\n> +++ b/include/hw/vfio/vfio-device.h\n> @@ -172,12 +172,25 @@ typedef QLIST_HEAD(VFIODeviceList, VFIODevice) VFIODeviceList;\n>   extern VFIODeviceList vfio_device_list;\n>   \n>   #ifdef CONFIG_LINUX\n> +/*\n> + * VFIO backend I/O operation capabilities\n> + */\n> +#define VFIO_IO_CAP_DMA_BUF        (1ULL << 0)\n> +\n>   /*\n>    * How devices communicate with the server.  The default option is through\n>    * ioctl() to the kernel VFIO driver, but vfio-user can use a socket to a remote\n>    * process.\n>    */\n>   struct VFIODeviceIOOps {\n> +    /**\n> +     * @capabilities\n> +     *\n> +     * Bitmask of VFIO_IO_CAP_* flags indicating which features this\n> +     * backend supports.\n> +     */\n> +    uint64_t capabilities;\n> +\n>       /**\n>        * @device_feature\n>        *\n> diff --git a/hw/vfio/device.c b/hw/vfio/device.c\n> index 8f7ae919a55dd9e08bdd072eee33f5b46a91aa2a..3ffd69a579b8ac135ef729d3d836c8545e36786b 100644\n> --- a/hw/vfio/device.c\n> +++ b/hw/vfio/device.c\n> @@ -648,6 +648,8 @@ static int vfio_device_io_region_write(VFIODevice *vbasedev, uint8_t index,\n>   }\n>   \n>   static VFIODeviceIOOps vfio_device_io_ops_ioctl = {\n> +    .capabilities = VFIO_IO_CAP_DMA_BUF,\n> +\n>       .device_feature = vfio_device_io_device_feature,\n>       .get_region_info = vfio_device_io_get_region_info,\n>       .get_irq_info = vfio_device_io_get_irq_info,\n> diff --git a/hw/vfio/region.c b/hw/vfio/region.c\n> index 47fdc2df349b65c6be6c9605b7a38a4e367f0475..0342ca712acd0ad846685115c29432c15aa966a0 100644\n> --- a/hw/vfio/region.c\n> +++ b/hw/vfio/region.c\n> @@ -293,6 +293,11 @@ static bool vfio_region_create_dma_buf(VFIORegion *region, Error **errp)\n>       size_t total_size;\n>       int i, ret;\n>   \n> +    /* Check if backend supports DMA-BUF creation */\n> +    if (!(vbasedev->io_ops->capabilities & VFIO_IO_CAP_DMA_BUF)) {\n> +        return true;\n> +    }\n> +\n>       total_size = sizeof(*feature) + sizeof(*dma_buf) +\n>                    sizeof(struct vfio_region_dma_range) * region->nr_mmaps;\n>       feature = g_malloc0(total_size);\n\nApplied to vfio-next.\n\nThanks,\n\nC.","headers":{"Return-Path":"<qemu-devel-bounces+incoming=patchwork.ozlabs.org@nongnu.org>","X-Original-To":"incoming@patchwork.ozlabs.org","Delivered-To":"patchwork-incoming@legolas.ozlabs.org","Authentication-Results":["legolas.ozlabs.org;\n\tdkim=pass (1024-bit key;\n unprotected) header.d=redhat.com header.i=@redhat.com header.a=rsa-sha256\n header.s=mimecast20190719 header.b=fuHO91l2;\n\tdkim=pass (2048-bit key;\n unprotected) header.d=redhat.com header.i=@redhat.com header.a=rsa-sha256\n header.s=google header.b=YsQGNcr2;\n\tdkim-atps=neutral","legolas.ozlabs.org;\n spf=pass (sender SPF authorized) smtp.mailfrom=nongnu.org\n (client-ip=209.51.188.17; helo=lists.gnu.org;\n envelope-from=qemu-devel-bounces+incoming=patchwork.ozlabs.org@nongnu.org;\n receiver=patchwork.ozlabs.org)"],"Received":["from lists.gnu.org (lists1p.gnu.org [209.51.188.17])\n\t(using TLSv1.2 with cipher ECDHE-ECDSA-AES256-GCM-SHA384 (256/256 bits))\n\t(No client certificate requested)\n\tby legolas.ozlabs.org (Postfix) with ESMTPS id 4fsSQC0pwZz1yCv\n\tfor <incoming@patchwork.ozlabs.org>; Fri, 10 Apr 2026 17:01:21 +1000 (AEST)","from localhost ([::1] helo=lists1p.gnu.org)\n\tby lists.gnu.org with esmtp (Exim 4.90_1)\n\t(envelope-from <qemu-devel-bounces@nongnu.org>)\n\tid 1wB5qp-0007AB-Lm; Fri, 10 Apr 2026 03:00:23 -0400","from eggs.gnu.org ([2001:470:142:3::10])\n by lists1p.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256)\n (Exim 4.90_1) (envelope-from <clg@redhat.com>) id 1wB5qk-00079t-G8\n for qemu-devel@nongnu.org; Fri, 10 Apr 2026 03:00:18 -0400","from us-smtp-delivery-124.mimecast.com ([170.10.133.124])\n by eggs.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256)\n (Exim 4.90_1) (envelope-from <clg@redhat.com>) id 1wB5qh-0002hc-T0\n for qemu-devel@nongnu.org; Fri, 10 Apr 2026 03:00:18 -0400","from mail-wm1-f70.google.com (mail-wm1-f70.google.com\n [209.85.128.70]) by relay.mimecast.com with ESMTP with STARTTLS\n (version=TLSv1.3, cipher=TLS_AES_256_GCM_SHA384) id\n us-mta-438-8xkNiSYnM266GwATEiMHNQ-1; Fri, 10 Apr 2026 03:00:12 -0400","by mail-wm1-f70.google.com with SMTP id\n 5b1f17b1804b1-488ba9dc026so8409375e9.0\n for <qemu-devel@nongnu.org>; Fri, 10 Apr 2026 00:00:12 -0700 (PDT)","from ?IPV6:2a01:e0a:165:d60:bbdd:3c5e:7d8b:3f72?\n ([2a01:e0a:165:d60:bbdd:3c5e:7d8b:3f72])\n by smtp.gmail.com with ESMTPSA id\n 5b1f17b1804b1-488d532ef00sm59512955e9.5.2026.04.10.00.00.07\n (version=TLS1_3 cipher=TLS_AES_128_GCM_SHA256 bits=128/128);\n Fri, 10 Apr 2026 00:00:07 -0700 (PDT)"],"DKIM-Signature":["v=1; a=rsa-sha256; c=relaxed/relaxed; d=redhat.com;\n s=mimecast20190719; t=1775804413;\n h=from:from:reply-to:subject:subject:date:date:message-id:message-id:\n to:to:cc:cc:mime-version:mime-version:content-type:content-type:\n content-transfer-encoding:content-transfer-encoding:\n in-reply-to:in-reply-to:references:references:autocrypt:autocrypt;\n bh=zRL3Ilz/haqztIcZF0TTIUN59xJoRquekR6jZvaVTgc=;\n b=fuHO91l2JEg7rvtBWrConr6RmewGrVPQnZUonzcjXo5Y+fw/S6uuCJImdfpttLNcF4o+ph\n +9R8BePXAIOrEFUukzXQB49gkJIDV+YCVA/IJ6eETz96hn+IVbZNUxzqtB5r+PNuTd8xwL\n SYBtTgRznRkMggC5Qb23HpjocF937Bw=","v=1; a=rsa-sha256; c=relaxed/relaxed;\n d=redhat.com; s=google; t=1775804411; x=1776409211; darn=nongnu.org;\n h=content-transfer-encoding:in-reply-to:autocrypt:from\n :content-language:references:cc:to:subject:user-agent:mime-version\n :date:message-id:from:to:cc:subject:date:message-id:reply-to;\n bh=zRL3Ilz/haqztIcZF0TTIUN59xJoRquekR6jZvaVTgc=;\n b=YsQGNcr2HymX+mv5yJIO0KxPw9+LGcuel9uTheHFYFNZuL6ntAKJNNKcsw4DTiANC0\n r1IhI3+pNhaYBws+2IrDqFPbBK503W34rhpqStib2GpDvg/sxLnFeiXzTcnyf4UWpPK6\n nwR90raj3IlwkDBFwQlExLyoki6Mf6h/rmFk4KjncJpKwuUh6gHNVzPV2IA856yR0cbZ\n t3YYzlu3iJkyM2QFdAHrpSt7Hg2SOWkcxk1xU4kncHmJeXzilmcV2c7JRfJuBSAJxh+g\n v6AF3B4Cq8hJ4QMVifodl8yj3Yeh3YYo11aFf09FDg7GxCh81vMXdYVIJ7dYnX6nm26S\n VRiQ=="],"X-MC-Unique":"8xkNiSYnM266GwATEiMHNQ-1","X-Mimecast-MFC-AGG-ID":"8xkNiSYnM266GwATEiMHNQ_1775804411","X-Google-DKIM-Signature":"v=1; a=rsa-sha256; c=relaxed/relaxed;\n d=1e100.net; s=20251104; t=1775804411; x=1776409211;\n h=content-transfer-encoding:in-reply-to:autocrypt:from\n :content-language:references:cc:to:subject:user-agent:mime-version\n :date:message-id:x-gm-gg:x-gm-message-state:from:to:cc:subject:date\n :message-id:reply-to;\n bh=zRL3Ilz/haqztIcZF0TTIUN59xJoRquekR6jZvaVTgc=;\n b=OtWG/tsqaRz6slRD8YAX140ttQ5BHWj8p07C9VLQc4FiuSlKYPDoFtXhCZhD6NNGJX\n tHqtZMYw6xg8R8EKYwR6bZTcDJJ0HgnYdOs2CA8FPzTKom7upwm6HrNGfO8pOydeZezK\n Y6uacezMhXPS/DcSzR8IOx+apZ/i4wB6yql6YbtksAzoF+z7p1O7rAypC8jHc5Cszmhn\n ZKUAkTkxvJAR6OUT2+5upRbS8IRc9RJN8qSGVi7my8gsGK3/xio8uzkgLkiRIf8GlTWf\n k0asJJVHOIm91LlHAgxAOZ5n5+0357D+JzvPppY0LUoqtxd88Cmq7ZW0WxrVFUpXRZva\n 9TMw==","X-Gm-Message-State":"AOJu0Yw60a5YFSrVOtgIY4EZ3Pw+WqjWQnNcBKGXAd8pv8kVVrPLRlUj\n Bp5MFE6ugqVL58vl4OL9I29iTMAZ6xq4XZ+zyVd0uJ3Tz97GB134b0U8lRGjwM5y6cEE+oUacjR\n f90cJk+4xcgJrjXieWA9Ep/8Yz0qhV2RUwogkDsI4j7Di3D7VWOaJPVsGrkbG9vY14QkUC6ESHD\n l8dSNpUYOZF8WVUiAv8Jj4XFpoTUrLBNZDfA==","X-Gm-Gg":"AeBDieuZz8pQNNTPJSLuk675O8f3cRa/dHJzq+CTsKo391yIEx7F7Er24kI6vBWkhxm\n DXHWF4aEwh8E417VCzKUm1epB4s3fiKZWklXPMJCa2VcwLF3HbQySKrrD6spBzdOk97ab2CfQWV\n rihQqOTbpM+DvG4EY1NwcT1hydgzISqRjGSiPwFUXRFIz24hoj4JWPRhvIJPROpyaJccKdeYN9c\n 931psQNyFJnksjNwG7PzQDhOujFfZGRvBDYdqZ7Wt1AwJmjd6QyXTuoEt9zp4Li+oMkrGRjZEQh\n e96uzz5t3SlUyYwZPAsylSg5X+ifN/trKQLGEqBS/94YpDFUPhfUk9qo8usiQEXvh5v3lwz+g7f\n HEzdPwaSy+5/b0Aj44sKDQT/A6AnUfmD7MiYM3pJN6CmGB/1fgMzUKUtjFg==","X-Received":["by 2002:a05:600c:c0da:b0:488:936a:6220 with SMTP id\n 5b1f17b1804b1-488d685b577mr16997255e9.21.1775804410336;\n Fri, 10 Apr 2026 00:00:10 -0700 (PDT)","by 2002:a05:600c:c0da:b0:488:936a:6220 with SMTP id\n 5b1f17b1804b1-488d685b577mr16994955e9.21.1775804408243;\n Fri, 10 Apr 2026 00:00:08 -0700 (PDT)"],"Message-ID":"<f0d95915-f8f6-4c37-a211-5313d48ba120@redhat.com>","Date":"Fri, 10 Apr 2026 09:00:06 +0200","MIME-Version":"1.0","User-Agent":"Mozilla Thunderbird","Subject":"Re: [PATCH] vfio: Add VFIO I/O backend capability flags for feature\n support","To":"qemu-devel@nongnu.org","Cc":"Alex Williamson <alex@shazbot.org>, John Levon <john.levon@nutanix.com>","References":"<20260409114312.1704062-1-clg@redhat.com>","Content-Language":"en-US, fr","From":"=?utf-8?q?C=C3=A9dric_Le_Goater?= <clg@redhat.com>","Autocrypt":"addr=clg@redhat.com; keydata=\n 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\n uVKe8BVz4atMOoktmt0GWTOC8P4=","In-Reply-To":"<20260409114312.1704062-1-clg@redhat.com>","Content-Type":"text/plain; charset=UTF-8; format=flowed","Content-Transfer-Encoding":"8bit","Received-SPF":"pass client-ip=170.10.133.124; envelope-from=clg@redhat.com;\n helo=us-smtp-delivery-124.mimecast.com","X-Spam_score_int":"-25","X-Spam_score":"-2.6","X-Spam_bar":"--","X-Spam_report":"(-2.6 / 5.0 requ) BAYES_00=-1.9, DKIMWL_WL_HIGH=-0.54,\n DKIM_SIGNED=0.1, DKIM_VALID=-0.1, DKIM_VALID_AU=-0.1, DKIM_VALID_EF=-0.1,\n RCVD_IN_DNSWL_NONE=-0.0001, RCVD_IN_MSPIKE_H2=0.001,\n RCVD_IN_VALIDITY_RPBL_BLOCKED=0.001, RCVD_IN_VALIDITY_SAFE_BLOCKED=0.001,\n SPF_HELO_PASS=-0.001, SPF_PASS=-0.001 autolearn=ham autolearn_force=no","X-Spam_action":"no action","X-BeenThere":"qemu-devel@nongnu.org","X-Mailman-Version":"2.1.29","Precedence":"list","List-Id":"qemu development <qemu-devel.nongnu.org>","List-Unsubscribe":"<https://lists.nongnu.org/mailman/options/qemu-devel>,\n <mailto:qemu-devel-request@nongnu.org?subject=unsubscribe>","List-Archive":"<https://lists.nongnu.org/archive/html/qemu-devel>","List-Post":"<mailto:qemu-devel@nongnu.org>","List-Help":"<mailto:qemu-devel-request@nongnu.org?subject=help>","List-Subscribe":"<https://lists.nongnu.org/mailman/listinfo/qemu-devel>,\n <mailto:qemu-devel-request@nongnu.org?subject=subscribe>","Errors-To":"qemu-devel-bounces+incoming=patchwork.ozlabs.org@nongnu.org","Sender":"qemu-devel-bounces+incoming=patchwork.ozlabs.org@nongnu.org"}}]