From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: X-Spam-Checker-Version: SpamAssassin 3.4.0 (2014-02-07) on aws-us-west-2-korg-lkml-1.web.codeaurora.org X-Spam-Level: X-Spam-Status: No, score=-9.6 required=3.0 tests=DKIM_INVALID,DKIM_SIGNED, HEADER_FROM_DIFFERENT_DOMAINS,INCLUDES_PATCH,MAILING_LIST_MULTI,SIGNED_OFF_BY, SPF_HELO_NONE,SPF_PASS,URIBL_BLOCKED,USER_AGENT_GIT autolearn=ham autolearn_force=no version=3.4.0 Received: from mail.kernel.org (mail.kernel.org [198.145.29.99]) by smtp.lore.kernel.org (Postfix) with ESMTP id 05A20C54FCC for ; Tue, 21 Apr 2020 13:57:57 +0000 (UTC) Received: from gabe.freedesktop.org (gabe.freedesktop.org [131.252.210.177]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) by mail.kernel.org (Postfix) with ESMTPS id D07512071C for ; Tue, 21 Apr 2020 13:57:56 +0000 (UTC) Authentication-Results: mail.kernel.org; dkim=fail reason="signature verification failed" (1024-bit key) header.d=redhat.com header.i=@redhat.com header.b="ENaCjZ6a" DMARC-Filter: OpenDMARC Filter v1.3.2 mail.kernel.org D07512071C Authentication-Results: mail.kernel.org; dmarc=fail (p=none dis=none) header.from=redhat.com Authentication-Results: mail.kernel.org; spf=none smtp.mailfrom=dri-devel-bounces@lists.freedesktop.org Received: from gabe.freedesktop.org (localhost [127.0.0.1]) by gabe.freedesktop.org (Postfix) with ESMTP id 456E76E98B; Tue, 21 Apr 2020 13:57:56 +0000 (UTC) Received: from us-smtp-1.mimecast.com (us-smtp-delivery-1.mimecast.com [207.211.31.120]) by gabe.freedesktop.org (Postfix) with ESMTPS id 049A96E988 for ; Tue, 21 Apr 2020 13:57:51 +0000 (UTC) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=redhat.com; s=mimecast20190719; t=1587477471; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding: in-reply-to:in-reply-to:references:references; bh=+bvf7KQ6tUFJUANfUoAg/qy6nJTS9a9pVqKzaSQlys8=; b=ENaCjZ6aGrYSqQmbT4FcFZNHheze1njjQwAhn8ehLBZ4AgZjMyPxe4ql+H1mdPqGUUJBaR R1LpxwazN7qLDL9K9VklNvZnlGNwqGcoudev+yD3wSCvC6dpS0ol4PPIVyF1LMZx+C5ZX+ oaypyCyMUhnWH/WmuqDf2mbTehpJHQ8= Received: from mail-wr1-f70.google.com (mail-wr1-f70.google.com [209.85.221.70]) (Using TLS) by relay.mimecast.com with ESMTP id us-mta-485-uUfClMqTPi-Vci8qsc5MeQ-1; Tue, 21 Apr 2020 09:57:49 -0400 X-MC-Unique: uUfClMqTPi-Vci8qsc5MeQ-1 Received: by mail-wr1-f70.google.com with SMTP id h95so7498280wrh.11 for ; Tue, 21 Apr 2020 06:57:49 -0700 (PDT) X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20161025; h=x-gm-message-state:from:to:cc:subject:date:message-id:in-reply-to :references:mime-version:content-transfer-encoding; bh=5GipQquvXdS60T0xD4t06gmL9kKohzWhQBgW2pGftGs=; b=uVl6yCTGNmfuKgZClG0xWSqyUS92rK6u6wkpXn+y12pj//cyiuPPccpWPHWSjV9btr SWzx2qfBfqNdIyc8yJMKnKRKsiNWPKRCgoyqRcBW45zysc7ywaEfDoKeT9RB5NSYRHXS J+1NqP4iFB8NlwXx6p94oZqfyLaIjYq7H6Y5XMniLA9D0qCpR2d+FfnmBzkWVZonm7XF q2ieiuhq7yLccJkOANdqwgzKSo+MphNedHGm7Vln+pV38aotCdgVS37Tk2BOuHn1zUms sDhoPfGO24uXU8lRkuuChFOKrgacHPlDLlDITqrlQYiBxyEVP4X7ef92K8taMP+GUZJn B0sg== X-Gm-Message-State: AGi0PuYHG3yv5H1tnezBjFAPIQFwPh7QoXfyaQsDRSp+JsSgcwqRprsq U83YKo37SJNgczs40FCIN1jqFURhslhEa/M+7ivoGWrY6kGtDWP4ZvZs3Y4g3uQRt+YmlLNqvoj JEviV7Y5dXDQi/oEv9TVIzAhBL/fL X-Received: by 2002:a05:6000:10c4:: with SMTP id b4mr3548551wrx.203.1587477468498; Tue, 21 Apr 2020 06:57:48 -0700 (PDT) X-Google-Smtp-Source: APiQypIF3TEMFKgVlkqjV5D8Ac9x2gOX23CIH+SaywYNkeLA37qXXTG9GqXHBVuGZrEE7VAAb2MwEw== X-Received: by 2002:a05:6000:10c4:: with SMTP id b4mr3548522wrx.203.1587477468324; Tue, 21 Apr 2020 06:57:48 -0700 (PDT) Received: from localhost.localdomain.com ([194.230.155.194]) by smtp.gmail.com with ESMTPSA id f23sm3562989wml.4.2020.04.21.06.57.46 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Tue, 21 Apr 2020 06:57:47 -0700 (PDT) From: Emanuele Giuseppe Esposito To: linux-fsdevel@vger.kernel.org Subject: [PATCH v2 4/7] libfs: add alloc_anon_inode wrapper Date: Tue, 21 Apr 2020 15:57:38 +0200 Message-Id: <20200421135741.30657-2-eesposit@redhat.com> X-Mailer: git-send-email 2.25.2 In-Reply-To: <20200421135119.30007-1-eesposit@redhat.com> References: <20200421135119.30007-1-eesposit@redhat.com> MIME-Version: 1.0 X-Mimecast-Spam-Score: 0 X-Mimecast-Originator: redhat.com X-BeenThere: dri-devel@lists.freedesktop.org X-Mailman-Version: 2.1.29 Precedence: list List-Id: Direct Rendering Infrastructure - Development List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Cc: "Rafael J. Wysocki" , David Airlie , dri-devel@lists.freedesktop.org, Christoph Hellwig , Andrew Donnellan , Emanuele Giuseppe Esposito , linux-scsi@vger.kernel.org, James Morris , "Serge E. Hallyn" , Arnd Bergmann , "James E.J. Bottomley" , "Manoj N. Kumar" , Alexander Viro , "Matthew R. Ochs" , Uma Krishnan , John Johansen , "Martin K. Petersen" , Greg Kroah-Hartman , linux-kernel@vger.kernel.org, linux-security-module@vger.kernel.org, Thomas Zimmermann , Frederic Barrat , Paolo Bonzini , linuxppc-dev@lists.ozlabs.org, Joel Becker Content-Type: text/plain; charset="us-ascii" Content-Transfer-Encoding: 7bit Errors-To: dri-devel-bounces@lists.freedesktop.org Sender: "dri-devel" libfs.c has many functions that are useful to implement dentry and inode operations, but not many at the filesystem level. Start adding file creation wrappers, the simplest returns an anonymous inode. There is no functional change intended. Signed-off-by: Emanuele Giuseppe Esposito --- drivers/gpu/drm/drm_drv.c | 2 +- drivers/misc/cxl/api.c | 2 +- drivers/scsi/cxlflash/ocxl_hw.c | 2 +- fs/libfs.c | 10 +++++++++- include/linux/fs.h | 2 ++ 5 files changed, 14 insertions(+), 4 deletions(-) diff --git a/drivers/gpu/drm/drm_drv.c b/drivers/gpu/drm/drm_drv.c index e29424d64874..1854f760ad39 100644 --- a/drivers/gpu/drm/drm_drv.c +++ b/drivers/gpu/drm/drm_drv.c @@ -539,7 +539,7 @@ static struct inode *drm_fs_inode_new(void) return ERR_PTR(r); } - inode = alloc_anon_inode(drm_fs.mount->mnt_sb); + inode = simple_alloc_anon_inode(&drm_fs); if (IS_ERR(inode)) simple_release_fs(&drm_fs); diff --git a/drivers/misc/cxl/api.c b/drivers/misc/cxl/api.c index 67e4808bce49..57672abb6223 100644 --- a/drivers/misc/cxl/api.c +++ b/drivers/misc/cxl/api.c @@ -72,7 +72,7 @@ static struct file *cxl_getfile(const char *name, goto err_module; } - inode = alloc_anon_inode(cxl_fs.mount->mnt_sb); + inode = simple_alloc_anon_inode(&cxl_fs); if (IS_ERR(inode)) { file = ERR_CAST(inode); goto err_fs; diff --git a/drivers/scsi/cxlflash/ocxl_hw.c b/drivers/scsi/cxlflash/ocxl_hw.c index 7fa98dd4fa28..0e9f2ae7eebf 100644 --- a/drivers/scsi/cxlflash/ocxl_hw.c +++ b/drivers/scsi/cxlflash/ocxl_hw.c @@ -85,7 +85,7 @@ static struct file *ocxlflash_getfile(struct device *dev, const char *name, goto err2; } - inode = alloc_anon_inode(ocxlflash_fs.mount->mnt_sb); + inode = simple_alloc_anon_inode(&ocxlflash_fs); if (IS_ERR(inode)) { rc = PTR_ERR(inode); dev_err(dev, "%s: alloc_anon_inode failed rc=%d\n", diff --git a/fs/libfs.c b/fs/libfs.c index 3fa0cd27ab06..5c76e4c648dc 100644 --- a/fs/libfs.c +++ b/fs/libfs.c @@ -741,7 +741,15 @@ void simple_release_fs(struct simple_fs *fs) } EXPORT_SYMBOL(simple_release_fs); - +/** + * simple_alloc_anon_inode - wrapper for alloc_anon_inode + * @fs: a pointer to a struct simple_fs containing a valid vfs_mount pointer + **/ +struct inode *simple_alloc_anon_inode(struct simple_fs *fs) +{ + return alloc_anon_inode(fs->mount->mnt_sb); +} +EXPORT_SYMBOL(simple_alloc_anon_inode); /** * simple_read_from_buffer - copy data from the buffer to user space diff --git a/include/linux/fs.h b/include/linux/fs.h index de2577df30ae..5e93de72118b 100644 --- a/include/linux/fs.h +++ b/include/linux/fs.h @@ -3373,6 +3373,8 @@ struct simple_fs { extern int simple_pin_fs(struct simple_fs *, struct file_system_type *); extern void simple_release_fs(struct simple_fs *); +extern struct inode *simple_alloc_anon_inode(struct simple_fs *fs); + extern ssize_t simple_read_from_buffer(void __user *to, size_t count, loff_t *ppos, const void *from, size_t available); extern ssize_t simple_write_to_buffer(void *to, size_t available, loff_t *ppos, -- 2.25.2 _______________________________________________ dri-devel mailing list dri-devel@lists.freedesktop.org https://lists.freedesktop.org/mailman/listinfo/dri-devel