From mboxrd@z Thu Jan 1 00:00:00 1970 Received: from mail-wm1-f49.google.com (mail-wm1-f49.google.com [209.85.128.49]) (using TLSv1.2 with cipher ECDHE-RSA-AES128-GCM-SHA256 (128/128 bits)) (No client certificate requested) by smtp.subspace.kernel.org (Postfix) with ESMTPS id 0F4D52DCC01 for ; Wed, 29 Apr 2026 15:26:24 +0000 (UTC) Authentication-Results: smtp.subspace.kernel.org; arc=none smtp.client-ip=209.85.128.49 ARC-Seal:i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1777476387; cv=none; b=TM9+xklp5dgUtUJjimQhSXvHvPyzVfPbZxB+AnPY1gXEuP70SzLAVlgDJ+luxnM40diYpw+EVfo49dx3I9o06BLajL2Ak+pB5vtcbAGzP17TjypBFGfsyz9ibDdAL6m60w3MI6J69zVLPPBvaoqKVByahi38ApqoIwfRwiWjAbQ= ARC-Message-Signature:i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1777476387; c=relaxed/simple; bh=dwXXUn2/AXYocQMBrxdXlK4QY//00n+FpUG8ksJYzZ4=; h=From:To:Cc:Subject:Date:Message-ID:In-Reply-To:References: MIME-Version; b=F/CgsZBXttdgqBRuFIGRvhXxvTZX+KSgGE6jDmJ9DIbBMpQIf2ZcB6jO37DS1dau7sfSnrXlmTy6GFR9ncoNvdiNukhRd3VuZ+NqLDvKqSP9xTzcppZg82xBfL6W7VsTxWsLV79COmZXvA3zNpuTREBcirQ+Wvec5KB7ceZ5OE4= ARC-Authentication-Results:i=1; smtp.subspace.kernel.org; dmarc=pass (p=none dis=none) header.from=gmail.com; spf=pass smtp.mailfrom=gmail.com; dkim=pass (2048-bit key) header.d=gmail.com header.i=@gmail.com header.b=Q//38A29; arc=none smtp.client-ip=209.85.128.49 Authentication-Results: smtp.subspace.kernel.org; dmarc=pass (p=none dis=none) header.from=gmail.com Authentication-Results: smtp.subspace.kernel.org; spf=pass smtp.mailfrom=gmail.com Authentication-Results: smtp.subspace.kernel.org; dkim=pass (2048-bit key) header.d=gmail.com header.i=@gmail.com header.b="Q//38A29" Received: by mail-wm1-f49.google.com with SMTP id 5b1f17b1804b1-488af96f6b2so167925905e9.0 for ; Wed, 29 Apr 2026 08:26:24 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20251104; t=1777476383; x=1778081183; darn=vger.kernel.org; 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; bh=Bz5U140iikgjy9qkhQv9ANNAasoYi2fY/CedhAQlGZc=; b=Q//38A29BIyAwvgVfxuarwdkkCIkYkoEgnlCZ1ZWTVC9bBGBlbwjWMLO+PCyW3pZb3 /pU/BZg1FEtUrImeH+eXGiGHqna2ZvIWgk+L6yR86y2B0VdaVlYkeMunR7khoFxE4S8J 0FNUd76MGFcBRZ5OxoP4ajvEzZZMXCSTkGLykLqyP0Ab+gFIXaGbWxh2fVbPdhx2Z9ZJ KEn1sba+9jRPPUOBVsvW0+1xOMEdWejyHJKwKElkTfsdDWcEYtTzEgQw3k+6VtHwcQUk tNSQwq6YhbSfLlBF0fbYnD0bGUK6JS4s8nem1hUMV56iM3cdlycEqDt4GJcUEtO5p6XO 1Mlg== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20251104; t=1777476383; x=1778081183; 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; bh=Bz5U140iikgjy9qkhQv9ANNAasoYi2fY/CedhAQlGZc=; b=mdQyuRmqS1t/hRbijwXMY51aLIhg2Btv3uRFjxk5RcM2JWEZuESXWqDJ0HIrDRgTCO TIHaXahyUXAmd2VUgqntgv1MaLPherBNSKXyLgRpriWqYuWCMNUk/iTgFvzoEP/BfaUE QG2dVCFvzeMrg9PNBQ1fa5+RTsbsiOmBLXhyvxkUkIiRTUBYWu2twayd4/L0a5B48gRb 6jszJlkS+Xjyq5e5+Ip+RaEsAPvit1yRPImxQVqDAwMyVp4nrNMixgt/zuSBVl6YTnOn qSVjwwoqQVQOHZd9uLtsfY2ESpnfCER0lX/URuW6S9p0G1Hb1sFirIWmvwybttlWnR3i 9bgQ== X-Forwarded-Encrypted: i=1; AFNElJ/hvMsx7MjGpqMztLoNwJy/2BnMNrTC0rd1aT2W0Fh8nHstO/m2Jyyw0sIXF4gq4bfCV9kcSTMFE7FXYtI=@vger.kernel.org X-Gm-Message-State: AOJu0YzLkGIkiTSN7YDRNFTphYia+PhNylK3vnO0QyR4myJXaMCY1+oF /TdNDOPkXN1cd1kb5Uf9XtqA8i4vcPZ9H65u2tueOPz0dZBAZ59x8NCZ X-Gm-Gg: AeBDievUXM23GKb0ntYGnwKv+fHHfFrLsj4LvkB3B1h3ufrXqtVB3Z1n0gnTZJKOgb3 zVPiaS/jejd5LMenKBJn/Wt54mS6bFGuxf9IbjICc7+LHX0YeuyoVEQl9NawKNghSTFy7HpfZDO 85Vp7RZJ7vtb+56dmhWmeGjZqSAPWZUeIKa6r0gXX3knM9NSBf8P0wNSd+RwQVwh0HQmVbCSzzg 6rEmGjIK51ptDqSawK/0iMjRBxrX2sjF8viOS+9AbL5hPLhjjFJYCNR521ztwjGWUbKKJZg0EE7 XcoQMallHVV121d3gJDdBYgOemdpwceVmHFOzQTOOGWSBOihTNTBOW3rbAN+ZKvb9qqj8pGNLQW z0UPsh6/87FJ6+FPNShR0T8XQ4G+9g7goV9lF+YcJlRs3iPKBs9gUrKhTI8EBektP3/EVJhRtDu P2sgiaEaOk0BvqBCUjDzoz72IN6bhDiPo+Er9ywRV2uGjlPRzFj38o4yBBtMdpg7QX36Ss1DRBk i5aXh/1ZwMiVkftF1ydUgljnmy3O1MhwsMr0Oj0uwey X-Received: by 2002:a05:600c:3b13:b0:48a:52ee:5776 with SMTP id 5b1f17b1804b1-48a77ae049fmr129049305e9.11.1777476382406; Wed, 29 Apr 2026 08:26:22 -0700 (PDT) Received: from 127.0.0.1localhost ([82.132.184.31]) by smtp.gmail.com with ESMTPSA id ffacd0b85a97d-447b76e5c22sm6382951f8f.28.2026.04.29.08.26.17 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Wed, 29 Apr 2026 08:26:21 -0700 (PDT) From: Pavel Begunkov To: Jens Axboe , Keith Busch , Christoph Hellwig , Sagi Grimberg , Alexander Viro , Christian Brauner , Andrew Morton , Sumit Semwal , =?UTF-8?q?Christian=20K=C3=B6nig?= , linux-block@vger.kernel.org, linux-kernel@vger.kernel.org, linux-nvme@lists.infradead.org, linux-fsdevel@vger.kernel.org, io-uring@vger.kernel.org, linux-media@vger.kernel.org, dri-devel@lists.freedesktop.org, linaro-mm-sig@lists.linaro.org Cc: asml.silence@gmail.com, Nitesh Shetty , Kanchan Joshi , Anuj Gupta , Tushar Gohad , William Power , Phil Cayton , Jason Gunthorpe Subject: [PATCH v3 01/10] file: add callback for creating long-term dmabuf maps Date: Wed, 29 Apr 2026 16:25:47 +0100 Message-ID: X-Mailer: git-send-email 2.53.0 In-Reply-To: References: Precedence: bulk X-Mailing-List: linux-kernel@vger.kernel.org List-Id: List-Subscribe: List-Unsubscribe: MIME-Version: 1.0 Content-Transfer-Encoding: 8bit Introduce a new file callback that allows creating long-term dma mapping. All necessary information together with a dmabuf will be passed in the second argument of type struct io_dmabuf_token, which will be defined in following patches. Signed-off-by: Pavel Begunkov --- include/linux/fs.h | 2 ++ 1 file changed, 2 insertions(+) diff --git a/include/linux/fs.h b/include/linux/fs.h index b5b01bb22d12..c5558aab4628 100644 --- a/include/linux/fs.h +++ b/include/linux/fs.h @@ -1920,6 +1920,7 @@ struct dir_context { struct io_uring_cmd; struct offset_ctx; +struct io_dmabuf_token; typedef unsigned int __bitwise fop_flags_t; @@ -1967,6 +1968,7 @@ struct file_operations { int (*uring_cmd_iopoll)(struct io_uring_cmd *, struct io_comp_batch *, unsigned int poll_flags); int (*mmap_prepare)(struct vm_area_desc *); + int (*create_dmabuf_token)(struct file *, struct io_dmabuf_token *); } __randomize_layout; /* Supports async buffered reads */ -- 2.53.0