All of lore.kernel.org
 help / color / mirror / Atom feed
* [31/38] vfs: Convert gadgetfs to fs_context
  2019-03-20  7:42 ` [PATCH 31/38] " David Howells
@ 2019-03-20  8:34 ` Felipe Balbi
  -1 siblings, 0 replies; 60+ messages in thread
From: Felipe Balbi @ 2019-03-20  8:34 UTC (permalink / raw)
  To: David Howells; +Cc: viro, linux-usb, linux-fsdevel, linux-kernel

David Howells <dhowells@redhat.com> writes:

> Felipe Balbi <balbi@kernel.org> wrote:
>
>> looks like a mostly mechanical change. Do you want this to go through
>> the USB tree or FS tree?
>
> I'm going to try and get all of these to go through the Al's vfs tree since
> there are dependent cleanup patches that remove code that's then obsolete.

In that case, here's my ack:

Acked-by: Felipe Balbi <felipe.balbi@linux.intel.com>

>> Also, do you mind doing the same for drivers/usb/gadget/function/f_fs.c?
>
> Sure.  The reason I hadn't already done it is that it doesn't look entirely
> trivial.

oh, no rush :-) Just thought I'd mention.

^ permalink raw reply	[flat|nested] 60+ messages in thread
* [31/38] vfs: Convert gadgetfs to fs_context
  2019-03-20  6:57 ` [PATCH 31/38] " Felipe Balbi
@ 2019-03-20  7:42 ` David Howells
  -1 siblings, 0 replies; 60+ messages in thread
From: David Howells @ 2019-03-20  7:42 UTC (permalink / raw)
  To: Felipe Balbi; +Cc: dhowells, viro, linux-usb, linux-fsdevel, linux-kernel

Felipe Balbi <balbi@kernel.org> wrote:

> looks like a mostly mechanical change. Do you want this to go through
> the USB tree or FS tree?

I'm going to try and get all of these to go through the Al's vfs tree since
there are dependent cleanup patches that remove code that's then obsolete.

> Also, do you mind doing the same for drivers/usb/gadget/function/f_fs.c?

Sure.  The reason I hadn't already done it is that it doesn't look entirely
trivial.

David

^ permalink raw reply	[flat|nested] 60+ messages in thread
* [31/38] vfs: Convert gadgetfs to fs_context
  2019-03-14 16:13 ` [PATCH 31/38] " David Howells
@ 2019-03-20  6:57 ` Felipe Balbi
  -1 siblings, 0 replies; 60+ messages in thread
From: Felipe Balbi @ 2019-03-20  6:57 UTC (permalink / raw)
  To: David Howells, viro; +Cc: linux-usb, linux-fsdevel, linux-kernel

David Howells <dhowells@redhat.com> writes:

> Signed-off-by: David Howells <dhowells@redhat.com>
> cc: Felipe Balbi <balbi@kernel.org>
> cc: linux-usb@vger.kernel.org
> ---
>
>  drivers/usb/gadget/legacy/inode.c |   21 +++++++++++++++------
>  1 file changed, 15 insertions(+), 6 deletions(-)
>
> diff --git a/drivers/usb/gadget/legacy/inode.c b/drivers/usb/gadget/legacy/inode.c
> index 249277d0e53f..441da16ffc39 100644
> --- a/drivers/usb/gadget/legacy/inode.c
> +++ b/drivers/usb/gadget/legacy/inode.c
> @@ -12,6 +12,7 @@
>  #include <linux/init.h>
>  #include <linux/module.h>
>  #include <linux/fs.h>
> +#include <linux/fs_context.h>
>  #include <linux/pagemap.h>
>  #include <linux/uts.h>
>  #include <linux/wait.h>
> @@ -1990,7 +1991,7 @@ static const struct super_operations gadget_fs_operations = {
>  };
>  
>  static int
> -gadgetfs_fill_super (struct super_block *sb, void *opts, int silent)
> +gadgetfs_fill_super (struct super_block *sb, struct fs_context *fc)
>  {
>  	struct inode	*inode;
>  	struct dev_data	*dev;
> @@ -2044,11 +2045,19 @@ gadgetfs_fill_super (struct super_block *sb, void *opts, int silent)
>  }
>  
>  /* "mount -t gadgetfs path /dev/gadget" ends up here */
> -static struct dentry *
> -gadgetfs_mount (struct file_system_type *t, int flags,
> -		const char *path, void *opts)
> +static int gadgetfs_get_tree(struct fs_context *fc)
>  {
> -	return mount_single (t, flags, opts, gadgetfs_fill_super);
> +	return vfs_get_super(fc, vfs_get_single_super, gadgetfs_fill_super);
> +}
> +
> +static const struct fs_context_operations gadgetfs_context_ops = {
> +	.get_tree	= gadgetfs_get_tree,
> +};
> +
> +static int gadgetfs_init_fs_context(struct fs_context *fc)
> +{
> +	fc->ops = &gadgetfs_context_ops;
> +	return 0;
>  }
>  
>  static void
> @@ -2068,7 +2077,7 @@ gadgetfs_kill_sb (struct super_block *sb)
>  static struct file_system_type gadgetfs_type = {
>  	.owner		= THIS_MODULE,
>  	.name		= shortname,
> -	.mount		= gadgetfs_mount,
> +	.init_fs_context = gadgetfs_init_fs_context,
>  	.kill_sb	= gadgetfs_kill_sb,
>  };
>  MODULE_ALIAS_FS("gadgetfs");

looks like a mostly mechanical change. Do you want this to go through
the USB tree or FS tree?

Also, do you mind doing the same for drivers/usb/gadget/function/f_fs.c?

cheers

^ permalink raw reply	[flat|nested] 60+ messages in thread
* [31/38] vfs: Convert gadgetfs to fs_context
  2019-03-14 16:08 ` David Howells
@ 2019-03-14 16:13 ` David Howells
  -1 siblings, 0 replies; 60+ messages in thread
From: David Howells @ 2019-03-14 16:13 UTC (permalink / raw)
  To: viro; +Cc: Felipe Balbi, linux-usb, dhowells, linux-fsdevel, linux-kernel

Signed-off-by: David Howells <dhowells@redhat.com>
cc: Felipe Balbi <balbi@kernel.org>
cc: linux-usb@vger.kernel.org
---

 drivers/usb/gadget/legacy/inode.c |   21 +++++++++++++++------
 1 file changed, 15 insertions(+), 6 deletions(-)

diff --git a/drivers/usb/gadget/legacy/inode.c b/drivers/usb/gadget/legacy/inode.c
index 249277d0e53f..441da16ffc39 100644
--- a/drivers/usb/gadget/legacy/inode.c
+++ b/drivers/usb/gadget/legacy/inode.c
@@ -12,6 +12,7 @@
 #include <linux/init.h>
 #include <linux/module.h>
 #include <linux/fs.h>
+#include <linux/fs_context.h>
 #include <linux/pagemap.h>
 #include <linux/uts.h>
 #include <linux/wait.h>
@@ -1990,7 +1991,7 @@ static const struct super_operations gadget_fs_operations = {
 };
 
 static int
-gadgetfs_fill_super (struct super_block *sb, void *opts, int silent)
+gadgetfs_fill_super (struct super_block *sb, struct fs_context *fc)
 {
 	struct inode	*inode;
 	struct dev_data	*dev;
@@ -2044,11 +2045,19 @@ gadgetfs_fill_super (struct super_block *sb, void *opts, int silent)
 }
 
 /* "mount -t gadgetfs path /dev/gadget" ends up here */
-static struct dentry *
-gadgetfs_mount (struct file_system_type *t, int flags,
-		const char *path, void *opts)
+static int gadgetfs_get_tree(struct fs_context *fc)
 {
-	return mount_single (t, flags, opts, gadgetfs_fill_super);
+	return vfs_get_super(fc, vfs_get_single_super, gadgetfs_fill_super);
+}
+
+static const struct fs_context_operations gadgetfs_context_ops = {
+	.get_tree	= gadgetfs_get_tree,
+};
+
+static int gadgetfs_init_fs_context(struct fs_context *fc)
+{
+	fc->ops = &gadgetfs_context_ops;
+	return 0;
 }
 
 static void
@@ -2068,7 +2077,7 @@ gadgetfs_kill_sb (struct super_block *sb)
 static struct file_system_type gadgetfs_type = {
 	.owner		= THIS_MODULE,
 	.name		= shortname,
-	.mount		= gadgetfs_mount,
+	.init_fs_context = gadgetfs_init_fs_context,
 	.kill_sb	= gadgetfs_kill_sb,
 };
 MODULE_ALIAS_FS("gadgetfs");

^ permalink raw reply related	[flat|nested] 60+ messages in thread
* [PATCH 00/38] VFS: Convert trivial filesystems and more
@ 2019-03-14 16:08 ` David Howells
  0 siblings, 0 replies; 60+ messages in thread
From: David Howells @ 2019-03-14 16:08 UTC (permalink / raw)
  To: viro-RmSDqhL/yNMiFSDQTTA3OLVCufUGDwFn
  Cc: Uma Krishnan, linux-aio-Bw31MaZKKs3YtjvyW6yDsg,
	linux-efi-u79uwXL29TY76Z2rM5mHXA,
	linux-ia64-u79uwXL29TY76Z2rM5mHXA, Sergey Senozhatsky,
	Michael S. Tsirkin, David Airlie, Jason Wang,
	dri-devel-PD4FTy7X32lNgt0PjOBp9y5qC8QIuHrW,
	virtualization-cunTk1MwBs9QetFLy7KEm3xJsTq8ys+cHZ5vskTnxNA,
	Chris Mason, Joel Fernandes, Todd Kjos, Manoj N. Kumar,
	Christoph Hellwig, devel-gWbeCf7V1WCQmaza687I9mD2FQJk+8+b,
	Matthew Garrett, Stefano Stabellini, Paul Moore,
	linux-scsi-u79uwXL29TY76Z2rM5mHXA,
	linux-nvdimm-hn68Rpc1hR1g9hUCZPvPmw,
	linux-rdma-u79uwXL29TY76Z2rM5mHXA, Boris Ostrovsky, Hugh Dickins,
	Arve Hjønnevåg


Hi Al,

Here's a set of patches that:

 (1) Provides a convenience member in struct fs_context that is OR'd into
     sb->s_iflags by sget_fc().

 (2) Provides a convenience vfs_init_pseudo_fs_context() helper function
     for doing most of the work in mounting a pseudo filesystem.

 (3) Converts all the trivial filesystems that have no arguments to
     fs_context.

 (4) Converts binderfs (which was trivial before January).

 (5) Converts ramfs, tmpfs, rootfs and devtmpfs.

 (6) Kills off mount_pseudo(), mount_pseudo_xattr(), mount_ns(),
     sget_userns().

The patches can be found here also:

	https://git.kernel.org/pub/scm/linux/kernel/git/dhowells/linux-fs.git

on branch:

	mount-api-viro

David
---
David Howells (38):
      vfs: Provide sb->s_iflags settings in fs_context struct
      vfs: Provide a mount_pseudo-replacement for fs_context
      vfs: Convert aio to fs_context
      vfs: Convert anon_inodes to fs_context
      vfs: Convert bdev to fs_context
      vfs: Convert nsfs to fs_context
      vfs: Convert pipe to fs_context
      vfs: Convert zsmalloc to fs_context
      vfs: Convert sockfs to fs_context
      vfs: Convert dax to fs_context
      vfs: Convert drm to fs_context
      vfs: Convert ia64 perfmon to fs_context
      vfs: Convert cxl to fs_context
      vfs: Convert ocxlflash to fs_context
      vfs: Convert virtio_balloon to fs_context
      vfs: Convert btrfs_test to fs_context
      vfs: Kill off mount_pseudo() and mount_pseudo_xattr()
      vfs: Use sget_fc() for pseudo-filesystems
      vfs: Convert binderfs to fs_context
      vfs: Convert nfsctl to fs_context
      vfs: Convert rpc_pipefs to fs_context
      vfs: Kill off mount_ns()
      vfs: Kill sget_userns()
      vfs: Convert binfmt_misc to fs_context
      vfs: Convert configfs to fs_context
      vfs: Convert efivarfs to fs_context
      vfs: Convert fusectl to fs_context
      vfs: Convert qib_fs/ipathfs to fs_context
      vfs: Convert ibmasmfs to fs_context
      vfs: Convert oprofilefs to fs_context
      vfs: Convert gadgetfs to fs_context
      vfs: Convert xenfs to fs_context
      vfs: Convert openpromfs to fs_context
      vfs: Convert apparmorfs to fs_context
      vfs: Convert securityfs to fs_context
      vfs: Convert selinuxfs to fs_context
      vfs: Convert smackfs to fs_context
      tmpfs, devtmpfs, ramfs, rootfs: Convert to fs_context


 arch/ia64/kernel/perfmon.c         |   14 +
 drivers/android/binderfs.c         |  173 +++++++++-------
 drivers/base/devtmpfs.c            |   16 +
 drivers/dax/super.c                |   13 +
 drivers/gpu/drm/drm_drv.c          |   14 +
 drivers/infiniband/hw/qib/qib_fs.c |   26 ++
 drivers/misc/cxl/api.c             |   10 -
 drivers/misc/ibmasm/ibmasmfs.c     |   21 +-
 drivers/oprofile/oprofilefs.c      |   20 +-
 drivers/scsi/cxlflash/ocxl_hw.c    |   21 +-
 drivers/usb/gadget/legacy/inode.c  |   21 +-
 drivers/virtio/virtio_balloon.c    |   19 +-
 drivers/xen/xenfs/super.c          |   21 +-
 fs/aio.c                           |   15 +
 fs/anon_inodes.c                   |   12 +
 fs/binfmt_misc.c                   |   20 +-
 fs/block_dev.c                     |   14 +
 fs/btrfs/tests/btrfs-tests.c       |   13 +
 fs/configfs/mount.c                |   20 +-
 fs/efivarfs/super.c                |   20 +-
 fs/fuse/control.c                  |   20 +-
 fs/libfs.c                         |   91 ++++++--
 fs/nfsd/nfsctl.c                   |   33 ++-
 fs/nsfs.c                          |   13 +
 fs/openpromfs/inode.c              |   20 +-
 fs/pipe.c                          |   12 +
 fs/ramfs/inode.c                   |  104 ++++++---
 fs/super.c                         |  106 ++--------
 include/linux/fs.h                 |   21 --
 include/linux/fs_context.h         |    8 +
 include/linux/ramfs.h              |    6 -
 include/linux/shmem_fs.h           |    4 
 init/do_mounts.c                   |   12 -
 mm/shmem.c                         |  396 ++++++++++++++++++++++++------------
 mm/zsmalloc.c                      |   19 +-
 net/socket.c                       |   14 +
 net/sunrpc/rpc_pipe.c              |   34 ++-
 security/apparmor/apparmorfs.c     |   20 +-
 security/inode.c                   |   21 +-
 security/selinux/selinuxfs.c       |   20 +-
 security/smack/smackfs.c           |   34 ++-
 41 files changed, 902 insertions(+), 609 deletions(-)

^ permalink raw reply	[flat|nested] 60+ messages in thread

end of thread, other threads:[~2019-03-22  7:44 UTC | newest]

Thread overview: 60+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2019-03-20  8:34 [31/38] vfs: Convert gadgetfs to fs_context Felipe Balbi
2019-03-20  8:34 ` [PATCH 31/38] " Felipe Balbi
  -- strict thread matches above, loose matches on Subject: below --
2019-03-20  7:42 [31/38] " David Howells
2019-03-20  7:42 ` [PATCH 31/38] " David Howells
2019-03-20  6:57 [31/38] " Felipe Balbi
2019-03-20  6:57 ` [PATCH 31/38] " Felipe Balbi
2019-03-14 16:13 [31/38] " David Howells
2019-03-14 16:13 ` [PATCH 31/38] " David Howells
2019-03-14 16:08 [PATCH 00/38] VFS: Convert trivial filesystems and more David Howells
2019-03-14 16:08 ` David Howells
2019-03-14 16:08 ` David Howells
2019-03-14 16:08 ` David Howells
2019-03-14 16:09 ` [PATCH 01/38] vfs: Provide sb->s_iflags settings in fs_context struct David Howells
2019-03-14 16:09 ` [PATCH 02/38] vfs: Provide a mount_pseudo-replacement for fs_context David Howells
2019-03-14 16:09 ` [PATCH 03/38] vfs: Convert aio to fs_context David Howells
2019-03-14 16:09 ` [PATCH 04/38] vfs: Convert anon_inodes " David Howells
2019-03-14 16:09 ` [PATCH 05/38] vfs: Convert bdev " David Howells
2019-03-14 16:09 ` [PATCH 06/38] vfs: Convert nsfs " David Howells
2019-03-14 16:09 ` [PATCH 07/38] vfs: Convert pipe " David Howells
2019-03-14 16:09 ` [PATCH 08/38] vfs: Convert zsmalloc " David Howells
2019-03-14 16:10 ` [PATCH 09/38] vfs: Convert sockfs " David Howells
2019-03-14 16:10 ` [PATCH 10/38] vfs: Convert dax " David Howells
2019-03-14 16:10   ` David Howells
2019-03-14 16:10 ` [PATCH 11/38] vfs: Convert drm " David Howells
2019-03-14 16:10 ` [PATCH 12/38] vfs: Convert ia64 perfmon " David Howells
2019-03-14 16:10 ` [PATCH 13/38] vfs: Convert cxl " David Howells
2019-03-14 16:10   ` David Howells
2019-03-15  0:22   ` Andrew Donnellan
2019-03-15  0:22     ` Andrew Donnellan
2019-03-22  7:42   ` Frederic Barrat
2019-03-22  7:42     ` Frederic Barrat
2019-03-14 16:10 ` [PATCH 14/38] vfs: Convert ocxlflash " David Howells
2019-03-19 14:53   ` Matthew R. Ochs
2019-03-14 16:10 ` [PATCH 15/38] vfs: Convert virtio_balloon " David Howells
2019-03-14 16:10 ` David Howells
2019-03-14 16:11 ` [PATCH 16/38] vfs: Convert btrfs_test " David Howells
2019-03-14 18:24   ` David Sterba
2019-03-14 16:11 ` [PATCH 17/38] vfs: Kill off mount_pseudo() and mount_pseudo_xattr() David Howells
2019-03-14 16:11 ` [PATCH 18/38] vfs: Use sget_fc() for pseudo-filesystems David Howells
2019-03-14 16:11 ` [PATCH 19/38] vfs: Convert binderfs to fs_context David Howells
2019-03-14 16:11 ` [PATCH 20/38] vfs: Convert nfsctl " David Howells
2019-03-14 17:29   ` J. Bruce Fields
2019-03-14 16:11 ` [PATCH 21/38] vfs: Convert rpc_pipefs " David Howells
2019-03-14 16:11 ` [PATCH 22/38] vfs: Kill off mount_ns() David Howells
2019-03-14 16:11 ` [PATCH 23/38] vfs: Kill sget_userns() David Howells
2019-03-14 16:12 ` [PATCH 24/38] vfs: Convert binfmt_misc to fs_context David Howells
2019-03-14 16:12 ` [PATCH 25/38] vfs: Convert configfs " David Howells
2019-03-14 16:12 ` [PATCH 26/38] vfs: Convert efivarfs " David Howells
2019-03-14 16:12 ` [PATCH 27/38] vfs: Convert fusectl " David Howells
2019-03-14 16:12 ` [PATCH 28/38] vfs: Convert qib_fs/ipathfs " David Howells
2019-03-14 16:12 ` [PATCH 29/38] vfs: Convert ibmasmfs " David Howells
2019-03-14 16:12 ` [PATCH 30/38] vfs: Convert oprofilefs " David Howells
2019-03-14 16:13 ` [PATCH 32/38] vfs: Convert xenfs " David Howells
2019-03-14 16:13 ` David Howells
2019-03-14 16:13 ` [PATCH 33/38] vfs: Convert openpromfs " David Howells
2019-03-14 16:13 ` [PATCH 34/38] vfs: Convert apparmorfs " David Howells
2019-03-14 16:13 ` [PATCH 35/38] vfs: Convert securityfs " David Howells
2019-03-14 16:13 ` [PATCH 36/38] vfs: Convert selinuxfs " David Howells
2019-03-14 16:13 ` [PATCH 37/38] vfs: Convert smackfs " David Howells
2019-03-14 16:13 ` [PATCH 38/38] tmpfs, devtmpfs, ramfs, rootfs: Convert " David Howells

This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.