Re: [PATCH v2] fs: Add VirtualBox guest shared folder (vboxsf) support

Amir Goldstein
2018-01-15T19:32:28Z

On Mon, Jan 15, 2018 at 7:51 PM, Hans de Goede <hdegoede@redhat.com> wrote:
> VirtualBox hosts can share folders with guests, this commit adds a
> VFS driver implementing the Linux-guest side of this, allowing folders
> exported by the host to be mounted under Linux.
>
> This driver depends on the guest <-> host IPC functions exported by
> the vboxguest driver.
>
> Signed-off-by: Hans de Goede <hdegoede@redhat.com>
> ---
> fs/Kconfig | 1 +
> fs/Makefile | 1 +
> fs/vboxsf/Kconfig | 9 +
> fs/vboxsf/Makefile | 3 +
> fs/vboxsf/dir.c | 648 +++++++++++++++++++++++++++++
> fs/vboxsf/file.c | 416 +++++++++++++++++++
> fs/vboxsf/shfl_hostintf.h | 919 +++++++++++++++++++++++++++++++++++++++++
> fs/vboxsf/super.c | 430 +++++++++++++++++++
> fs/vboxsf/utils.c | 589 ++++++++++++++++++++++++++
> fs/vboxsf/vboxsf_wrappers.c | 365 ++++++++++++++++
> fs/vboxsf/vboxsf_wrappers.h | 46 +++
> fs/vboxsf/vfsmod.h | 104 +++++
> include/uapi/linux/vbsfmount.h | 62 +++
> 13 files changed, 3593 insertions(+)
> create mode 100644 fs/vboxsf/Kconfig
> create mode 100644 fs/vboxsf/Makefile
> create mode 100644 fs/vboxsf/dir.c
> create mode 100644 fs/vboxsf/file.c
> create mode 100644 fs/vboxsf/shfl_hostintf.h
> create mode 100644 fs/vboxsf/super.c
> create mode 100644 fs/vboxsf/utils.c
> create mode 100644 fs/vboxsf/vboxsf_wrappers.c
> create mode 100644 fs/vboxsf/vboxsf_wrappers.h
> create mode 100644 fs/vboxsf/vfsmod.h
> create mode 100644 include/uapi/linux/vbsfmount.h

A MAINTAINERS entry seems in order.

>
> diff --git a/fs/Kconfig b/fs/Kconfig
> index 7aee6d699fd6..7f80ad1cf591 100644
> --- a/fs/Kconfig
> +++ b/fs/Kconfig
> @@ -248,6 +248,7 @@ source "fs/pstore/Kconfig"
> source "fs/sysv/Kconfig"
> source "fs/ufs/Kconfig"
> source "fs/exofs/Kconfig"
> +source "fs/vboxsf/Kconfig"
>
> endif # MISC_FILESYSTEMS
>
> diff --git a/fs/Makefile b/fs/Makefile
> index ef772f1eaff8..3057830f112a 100644
> --- a/fs/Makefile
> +++ b/fs/Makefile
> @@ -129,3 +129,4 @@ obj-y += exofs/ # Multiple modules
> obj-$(CONFIG_CEPH_FS) += ceph/
> obj-$(CONFIG_PSTORE) += pstore/
> obj-$(CONFIG_EFIVAR_FS) += efivarfs/
> +obj-$(CONFIG_VBOXSF_FS) += vboxsf/
> diff --git a/fs/vboxsf/Kconfig b/fs/vboxsf/Kconfig
> new file mode 100644
> index 000000000000..620e2232969c
> --- /dev/null
> +++ b/fs/vboxsf/Kconfig
> @@ -0,0 +1,9 @@
> +config VBOXSF_FS
> + tristate "VirtualBox guest shared folder (vboxsf) support"

Don't know if you noticed, but calling your filesystem vboxsf
is quite odd name among other XXXfs beasts.
Will it be an option to re-brand this as vboxfs?
Even if it is too late or too much of a hustle to change the user visible
file_system_type name, I think changing the internal name is worth it.

The other thing is if you can help it to avoid the short 'sf_' prefix and
use a longer prefix even for static functions, something like vbsf_ or
vbfs_ that would be better.

Cheers,
Amir.