Skip site navigation (1)Skip section navigation (2)
Date:      Thu, 12 Dec 2019 22:16:06 +0000 (UTC)
From:      Jung-uk Kim <jkim@FreeBSD.org>
To:        ports-committers@freebsd.org, svn-ports-all@freebsd.org, svn-ports-head@freebsd.org
Subject:   svn commit: r519953 - head/emulators/virtualbox-ose/files
Message-ID:  <201912122216.xBCMG6Sf099855@repo.freebsd.org>

next in thread | raw e-mail | index | archive | help
Author: jkim
Date: Thu Dec 12 22:16:06 2019
New Revision: 519953
URL: https://svnweb.freebsd.org/changeset/ports/519953

Log:
  Build emulators/virtualbox-ose-additions on head after r355537.

Modified:
  head/emulators/virtualbox-ose/files/patch-src_VBox_Additions_freebsd_vboxvfs_vboxvfs__vnops.c

Modified: head/emulators/virtualbox-ose/files/patch-src_VBox_Additions_freebsd_vboxvfs_vboxvfs__vnops.c
==============================================================================
--- head/emulators/virtualbox-ose/files/patch-src_VBox_Additions_freebsd_vboxvfs_vboxvfs__vnops.c	Thu Dec 12 22:13:32 2019	(r519952)
+++ head/emulators/virtualbox-ose/files/patch-src_VBox_Additions_freebsd_vboxvfs_vboxvfs__vnops.c	Thu Dec 12 22:16:06 2019	(r519953)
@@ -1,5 +1,5 @@
---- src/VBox/Additions/freebsd/vboxvfs/vboxvfs_vnops.c.orig	2017-04-28 16:59:22.000000000 +0200
-+++ src/VBox/Additions/freebsd/vboxvfs/vboxvfs_vnops.c	2017-07-14 14:22:09.045026515 +0200
+--- src/VBox/Additions/freebsd/vboxvfs/vboxvfs_vnops.c.orig	2019-10-10 18:06:51 UTC
++++ src/VBox/Additions/freebsd/vboxvfs/vboxvfs_vnops.c
 @@ -1,10 +1,6 @@
 -/* $Id: vboxvfs_vnops.c $ */
 -/** @file
@@ -12,7 +12,7 @@
   *
   * This file is part of VirtualBox Open Source Edition (OSE), as
   * available from http://www.virtualbox.org. This file is free software;
-@@ -14,228 +9,1334 @@
+@@ -14,228 +10,1338 @@
   * VirtualBox OSE distribution. VirtualBox OSE is distributed in the
   * hope that it will be useful, but WITHOUT ANY WARRANTY of any kind.
   */
@@ -45,9 +45,13 @@
 -#include <vm/vm.h>
 -#include <vm/vm_extern.h>
 +#include <vm/uma.h>
-+
-+#include "vboxvfs.h"
  
++#include "vboxvfs.h"
++
++#if __FreeBSD_version < 1300063
++#define	VN_IS_DOOMED(vp)	 (((vp)->v_iflag & VI_DOOMED) != 0)
++#endif
++
  /*
   * Prototypes for VBOXVFS vnode operations
   */
@@ -79,10 +83,37 @@
 -static vop_inactive_t   vboxvfs_inactive;
 -static vop_putpages_t   vboxvfs_putpages;
 -static vop_reclaim_t    vboxvfs_reclaim;
--
++static vop_create_t	vboxfs_create;
++static vop_open_t	vboxfs_open;
++static vop_close_t	vboxfs_close;
++static vop_access_t	vboxfs_access;
++static vop_getattr_t	vboxfs_getattr;
++static vop_setattr_t	vboxfs_setattr;
++static vop_read_t	vboxfs_read;
++static vop_readlink_t	vboxfs_readlink;
++static vop_write_t	vboxfs_write;
++static vop_fsync_t	vboxfs_fsync;
++static vop_remove_t	vboxfs_remove;
++static vop_link_t	vboxfs_link;
++static vop_cachedlookup_t	vboxfs_lookup;
++static vop_rename_t	vboxfs_rename;
++static vop_mkdir_t	vboxfs_mkdir;
++static vop_rmdir_t	vboxfs_rmdir;
++static vop_symlink_t	vboxfs_symlink;
++static vop_readdir_t	vboxfs_readdir;
++static vop_print_t	vboxfs_print;
++static vop_pathconf_t	vboxfs_pathconf;
++static vop_advlock_t	vboxfs_advlock;
++static vop_ioctl_t	vboxfs_ioctl;
++static vop_inactive_t	vboxfs_inactive;
++static vop_reclaim_t	vboxfs_reclaim;
++static vop_vptofh_t	vboxfs_vptofh;
+ 
 -struct vop_vector vboxvfs_vnodeops = {
 -    .vop_default    =   &default_vnodeops,
--
++struct vop_vector vboxfs_vnodeops = {
++	.vop_default	= &default_vnodeops,
+ 
 -    .vop_access     =   vboxvfs_access,
 -    .vop_advlock    =   vboxvfs_advlock,
 -    .vop_close      =   vboxvfs_close,
@@ -111,35 +142,6 @@
 -    .vop_strategy   =   vboxvfs_strategy,
 -    .vop_symlink    =   vboxvfs_symlink,
 -    .vop_write      =   vboxvfs_write,
-+static vop_create_t	vboxfs_create;
-+static vop_open_t	vboxfs_open;
-+static vop_close_t	vboxfs_close;
-+static vop_access_t	vboxfs_access;
-+static vop_getattr_t	vboxfs_getattr;
-+static vop_setattr_t	vboxfs_setattr;
-+static vop_read_t	vboxfs_read;
-+static vop_readlink_t	vboxfs_readlink;
-+static vop_write_t	vboxfs_write;
-+static vop_fsync_t	vboxfs_fsync;
-+static vop_remove_t	vboxfs_remove;
-+static vop_link_t	vboxfs_link;
-+static vop_cachedlookup_t	vboxfs_lookup;
-+static vop_rename_t	vboxfs_rename;
-+static vop_mkdir_t	vboxfs_mkdir;
-+static vop_rmdir_t	vboxfs_rmdir;
-+static vop_symlink_t	vboxfs_symlink;
-+static vop_readdir_t	vboxfs_readdir;
-+static vop_print_t	vboxfs_print;
-+static vop_pathconf_t	vboxfs_pathconf;
-+static vop_advlock_t	vboxfs_advlock;
-+static vop_ioctl_t	vboxfs_ioctl;
-+static vop_inactive_t	vboxfs_inactive;
-+static vop_reclaim_t	vboxfs_reclaim;
-+static vop_vptofh_t	vboxfs_vptofh;
-+
-+struct vop_vector vboxfs_vnodeops = {
-+	.vop_default	= &default_vnodeops,
-+
 +	.vop_access	= vboxfs_access,
 +	.vop_advlock	= VOP_EOPNOTSUPP,
 +	.vop_close	= vboxfs_close,
@@ -176,22 +178,14 @@
 +vsfnode_cur_time_usec(void)
  {
 -    return 0;
--}
 +	struct timeval now;
- 
--static int vboxvfs_open(struct vop_open_args *ap)
--{
--    return 0;
--}
++
 +	getmicrotime(&now);
- 
--static int vboxvfs_close(struct vop_close_args *ap)
--{
--    return 0;
++
 +	return (now.tv_sec*1000 + now.tv_usec);
  }
  
--static int vboxvfs_getattr(struct vop_getattr_args *ap)
+-static int vboxvfs_open(struct vop_open_args *ap)
 +static int
 +vsfnode_stat_cached(struct vboxfs_node *np)
  {
@@ -200,18 +194,13 @@
 +	    np->vboxfsmp->sf_stat_ttl * 1000UL;
  }
  
--static int vboxvfs_setattr(struct vop_setattr_args *ap)
+-static int vboxvfs_close(struct vop_close_args *ap)
 +static int
 +vsfnode_update_stat_cache(struct vboxfs_node *np)
  {
 -    return 0;
--}
 +	int error;
- 
--static int vboxvfs_read(struct vop_read_args *ap)
--{
--    return 0;
--}
++
 +	error = sfprov_get_attr(np->vboxfsmp->sf_handle, np->sf_path,
 +	    &np->sf_stat);
 +#if 0
@@ -220,14 +209,11 @@
 +#endif
 +	if (error == 0)
 +		np->sf_stat_time = vsfnode_cur_time_usec();
- 
--static int vboxvfs_write(struct vop_write_args *ap)
--{
--    return 0;
++
 +	return (error);
  }
  
--static int vboxvfs_create(struct vop_create_args *ap)
+-static int vboxvfs_getattr(struct vop_getattr_args *ap)
 +/*
 + * Need to clear v_object for insmntque failure.
 + */
@@ -235,11 +221,7 @@
 +vboxfs_insmntque_dtr(struct vnode *vp, void *dtr_arg)
  {
 -    return 0;
--}
- 
--static int vboxvfs_remove(struct vop_remove_args *ap)
--{
--    return 0;
++
 +	// XXX: vboxfs_destroy_vobject(vp, vp->v_object);
 +	vp->v_object = NULL;
 +	vp->v_data = NULL;
@@ -248,10 +230,7 @@
 +	vput(vp);
  }
  
--static int vboxvfs_rename(struct vop_rename_args *ap)
--{
--    return 0;
--}
+-static int vboxvfs_setattr(struct vop_setattr_args *ap)
 +/*
 + * Allocates a new vnode for the node node or returns a new reference to
 + * an existing one if the node had already a vnode referencing it.  The
@@ -262,7 +241,8 @@
 +int
 +vboxfs_alloc_vp(struct mount *mp, struct vboxfs_node *node, int lkflag,
 +    struct vnode **vpp)
-+{
+ {
+-    return 0;
 +	struct vnode *vp;
 +	int error;
 +
@@ -274,7 +254,7 @@
 +		MPASS((node->sf_vpstate & VBOXFS_VNODE_DOOMED) == 0);
 +		VI_LOCK(vp);
 +		if ((node->sf_type == VDIR && node->sf_parent == NULL) ||
-+		    ((vp->v_iflag & VI_DOOMED) != 0 &&
++		    (VN_IS_DOOMED(vp) &&
 +		    (lkflag & LK_NOWAIT) != 0)) {
 +			VI_UNLOCK(vp);
 +			VBOXFS_NODE_UNLOCK(node);
@@ -282,7 +262,7 @@
 +			vp = NULL;
 +			goto out;
 +		}
-+		if ((vp->v_iflag & VI_DOOMED) != 0) {
++		if (VN_IS_DOOMED(vp)) {
 +			VI_UNLOCK(vp);
 +			node->sf_vpstate |= VBOXFS_VNODE_WRECLAIM;
 +			while ((node->sf_vpstate & VBOXFS_VNODE_WRECLAIM) != 0) {
@@ -406,14 +386,11 @@
 +		VBOXFS_NODE_UNLOCK(node);
 +	}
 +#endif
- 
--static int vboxvfs_link(struct vop_link_args *ap)
--{
--    return EOPNOTSUPP;
++
 +	return error;
  }
  
--static int vboxvfs_symlink(struct vop_symlink_args *ap)
+-static int vboxvfs_read(struct vop_read_args *ap)
 +/*
 + * Destroys the association between the vnode vp and the node it
 + * references.
@@ -421,19 +398,11 @@
 +void
 +vboxfs_free_vp(struct vnode *vp)
  {
--    return EOPNOTSUPP;
--}
+-    return 0;
 +	struct vboxfs_node *node;
- 
--static int vboxvfs_mknod(struct vop_mknod_args *ap)
--{
--    return EOPNOTSUPP;
--}
++
 +	node = VP_TO_VBOXFS_NODE(vp);
- 
--static int vboxvfs_mkdir(struct vop_mkdir_args *ap)
--{
--    return 0;
++
 +	VBOXFS_NODE_ASSERT_LOCKED(node);
 +	node->sf_vnode = NULL;
 +	if ((node->sf_vpstate & VBOXFS_VNODE_WRECLAIM) != 0)
@@ -442,7 +411,7 @@
 +	vp->v_data = NULL;
  }
  
--static int vboxvfs_rmdir(struct vop_rmdir_args *ap)
+-static int vboxvfs_write(struct vop_write_args *ap)
 +/*
 + * Allocate new vboxfs_node and vnode for given file
 + */
@@ -452,54 +421,34 @@
 +    int lkflag, struct vnode **vpp)
  {
 -    return 0;
--}
 +	int error;
 +	struct vboxfs_node *unode;
- 
--static int vboxvfs_readdir(struct vop_readdir_args *ap)
--{
--    return 0;
--}
++
 +	error = vboxfs_alloc_node(vboxfsmp->sf_vfsp, vboxfsmp, fullpath, type,
 +	    vboxfsmp->sf_uid, vboxfsmp->sf_gid, mode, parent, &unode);
- 
--static int vboxvfs_fsync(struct vop_fsync_args *ap)
--{
--    return 0;
--}
++
 +	if (error)
 +		goto out;
- 
--static int vboxvfs_print (struct vop_print_args *ap)
--{
--    return 0;
--}
++
 +	error = vboxfs_alloc_vp(vboxfsmp->sf_vfsp, unode, lkflag, vpp);
 +	if (error)
 +		vboxfs_free_node(vboxfsmp, unode);
- 
--static int vboxvfs_pathconf (struct vop_pathconf_args *ap)
--{
--    return 0;
++
 +out:
 +	return (error);
  }
  
--static int vboxvfs_strategy (struct vop_strategy_args *ap)
+-static int vboxvfs_create(struct vop_create_args *ap)
 +static int
 +vboxfs_vn_get_ino_alloc(struct mount *mp, void *arg, int lkflags,
 +    struct vnode **rvp)
  {
 -    return 0;
--}
- 
--static int vboxvfs_ioctl(struct vop_ioctl_args *ap)
--{
--    return ENOTTY;
++
 +	return (vboxfs_alloc_vp(mp, arg, lkflags, rvp));
  }
  
--static int vboxvfs_getextattr(struct vop_getextattr_args *ap)
+-static int vboxvfs_remove(struct vop_remove_args *ap)
 +/*
 + * Construct a new pathname given an sfnode plus an optional tail
 + * component of length len
@@ -509,13 +458,8 @@
 +sfnode_construct_path(struct vboxfs_node *node, char *tail, int len)
  {
 -    return 0;
--}
 +	char *p;
- 
--static int vboxvfs_advlock(struct vop_advlock_args *ap)
--{
--    return 0;
--}
++
 +	if (len <= 2 && tail[0] == '.' && (len == 1 || tail[1] == '.'))
 +		panic("construct path for %s", tail);
 +	p = malloc(strlen(node->sf_path) + 1 + len + 1, M_VBOXVFS, M_WAITOK);
@@ -523,11 +467,13 @@
 +	strcat(p, "/");
 +	strcat(p, tail);
 +	return (p);
-+}
-+
+ }
+ 
+-static int vboxvfs_rename(struct vop_rename_args *ap)
 +static int
 +vboxfs_access(struct vop_access_args *ap)
-+{
+ {
+-    return 0;
 +	struct vnode *vp = ap->a_vp;
 +	accmode_t accmode = ap->a_accmode;
 +	struct vboxfs_node *node;
@@ -555,32 +501,31 @@
 +	else
 +		error = vsfnode_update_stat_cache(node);
 +	m = (error == 0) ? node->sf_stat.sf_mode : 0;
- 
--static int vboxvfs_lookup(struct vop_lookup_args *ap)
--{
--    return 0;
++
 +	return (vaccess(vp->v_type, m, node->vboxfsmp->sf_uid,
 +	    node->vboxfsmp->sf_gid, accmode, ap->a_cred, NULL));
  }
  
--static int vboxvfs_inactive(struct vop_inactive_args *ap)
+-static int vboxvfs_link(struct vop_link_args *ap)
 +/*
 + * Clears the (cached) directory listing for the node.
 + */
 +static void
 +vfsnode_clear_dir_list(struct vboxfs_node *np)
  {
--    return 0;
+-    return EOPNOTSUPP;
 +	while (np->sf_dir_list != NULL) {
 +		sffs_dirents_t *next = np->sf_dir_list->sf_next;
 +		free(np->sf_dir_list, M_VBOXVFS);
 +		np->sf_dir_list = next;
 +	}
-+}
-+
+ }
+ 
+-static int vboxvfs_symlink(struct vop_symlink_args *ap)
 +static int
 +vboxfs_open(struct vop_open_args *ap)
-+{
+ {
+-    return EOPNOTSUPP;
 +	struct vboxfs_node *np;
 +	sfp_file_t *fp;
 +	int error;
@@ -599,17 +544,21 @@
 +	MPASS(VOP_ISLOCKED(vp));
 +
 +	return (error);
-+}
-+
+ }
+ 
+-static int vboxvfs_mknod(struct vop_mknod_args *ap)
 +static void
 +vfsnode_invalidate_stat_cache(struct vboxfs_node *np)
-+{
+ {
+-    return EOPNOTSUPP;
 +	np->sf_stat_time = 0;
-+}
-+
+ }
+ 
+-static int vboxvfs_mkdir(struct vop_mkdir_args *ap)
 +static int
 +vboxfs_close(struct vop_close_args *ap)
-+{
+ {
+-    return 0;
 +	struct vnode *vp = ap->a_vp;
 +	struct vboxfs_node *np;
 +
@@ -634,11 +583,13 @@
 +	}
 +
 +	return (0);
-+}
-+
+ }
+ 
+-static int vboxvfs_rmdir(struct vop_rmdir_args *ap)
 +static int
 +vboxfs_getattr(struct vop_getattr_args *ap)
-+{
+ {
+-    return 0;
 +	struct vnode 		*vp = ap->a_vp;
 +	struct vattr 		*vap = ap->a_vap;
 +	struct vboxfs_node	*np = VP_TO_VBOXFS_NODE(vp);
@@ -713,11 +664,13 @@
 +
 +done:
 +	return (error);
-+}
-+
+ }
+ 
+-static int vboxvfs_readdir(struct vop_readdir_args *ap)
 +static int
 +vboxfs_setattr(struct vop_setattr_args *ap)
-+{
+ {
+-    return 0;
 +	struct vnode 		*vp = ap->a_vp;
 +	struct vattr 		*vap = ap->a_vap;
 +	struct vboxfs_node	*np = VP_TO_VBOXFS_NODE(vp);
@@ -775,13 +728,15 @@
 +	}
 +
 +	return (error);
-+}
-+
+ }
+ 
+-static int vboxvfs_fsync(struct vop_fsync_args *ap)
 +#define blkoff(vboxfsmp, loc)	((loc) & (vboxfsmp)->bmask)
 +
 +static int
 +vboxfs_read(struct vop_read_args *ap)
-+{
+ {
+-    return 0;
 +	struct vnode		*vp = ap->a_vp;
 +	struct uio 		*uio = ap->a_uio;
 +	struct vboxfs_node	*np = VP_TO_VBOXFS_NODE(vp);
@@ -829,11 +784,13 @@
 +		error = 0;
 +
 +	return (error);
-+}
-+
+ }
+ 
+-static int vboxvfs_print (struct vop_print_args *ap)
 +static int
 +vboxfs_write(struct vop_write_args *ap)
-+{
+ {
+-    return 0;
 +	struct vnode		*vp = ap->a_vp;
 +	struct uio 		*uio = ap->a_uio;
 +	struct vboxfs_node	*np = VP_TO_VBOXFS_NODE(vp);
@@ -888,11 +845,13 @@
 +		error = 0;
 +
 +	return (error);
-+}
-+
+ }
+ 
+-static int vboxvfs_pathconf (struct vop_pathconf_args *ap)
 +static int
 +vboxfs_create(struct vop_create_args *ap)
-+{
+ {
+-    return 0;
 +	struct vnode *dvp = ap->a_dvp;
 +	struct vnode **vpp = ap->a_vpp;
 +	struct componentname *cnp = ap->a_cnp;
@@ -926,11 +885,13 @@
 +	}
 +
 +	return (error);
-+}
-+
+ }
+ 
+-static int vboxvfs_strategy (struct vop_strategy_args *ap)
 +static int
 +vboxfs_remove(struct vop_remove_args *ap)
-+{
+ {
+-    return 0;
 +	struct vnode *dvp = ap->a_dvp;
 +	struct vnode *vp = ap->a_vp;
 +	struct vboxfs_node *np, *dir;
@@ -974,11 +935,13 @@
 +
 +out:
 +	return (error);
-+}
-+
+ }
+ 
+-static int vboxvfs_ioctl(struct vop_ioctl_args *ap)
 +static int
 +vboxfs_rename(struct vop_rename_args *ap)
-+{
+ {
+-    return ENOTTY;
 +	struct vnode *fvp;
 +	struct vnode *fdvp;
 +	struct vnode *tvp;
@@ -1016,17 +979,21 @@
 +	vrele(fdvp);
 +	vrele(fvp);
 +	return (ret);
-+}
-+
+ }
+ 
+-static int vboxvfs_getextattr(struct vop_getextattr_args *ap)
 +static int
 +vboxfs_link(struct vop_link_args *ap)
-+{
+ {
+-    return 0;
 +	return (EOPNOTSUPP);
-+}
-+
+ }
+ 
+-static int vboxvfs_advlock(struct vop_advlock_args *ap)
 +static int
 +vboxfs_symlink(struct vop_symlink_args *ap)
-+{
+ {
+-    return 0;
 +	struct vnode *dvp = ap->a_dvp;
 +	struct vnode **vpp = ap->a_vpp;
 +	struct componentname *cnp = ap->a_cnp;
@@ -1055,11 +1022,13 @@
 +		vfsnode_clear_dir_list(dir);
 +
 +	return (error);
-+}
-+
+ }
+ 
+-static int vboxvfs_lookup(struct vop_lookup_args *ap)
 +static int
 +vboxfs_mkdir(struct vop_mkdir_args *ap)
-+{
+ {
+-    return 0;
 +	struct vnode *dvp = ap->a_dvp;
 +	struct vnode **vpp = ap->a_vpp;
 +	struct componentname *cnp = ap->a_cnp;
@@ -1090,11 +1059,13 @@
 +		vfsnode_clear_dir_list(dir);
 +
 +	return (error);
-+}
-+
+ }
+ 
+-static int vboxvfs_inactive(struct vop_inactive_args *ap)
 +static int
 +vboxfs_rmdir(struct vop_rmdir_args *ap)
-+{
+ {
+-    return 0;
 +	struct vnode *dvp = ap->a_dvp;
 +	struct vnode *vp = ap->a_vp;
 +	struct vboxfs_node *np, *dir;
@@ -1137,11 +1108,13 @@
 +
 +out:
 +	return (error);
-+}
-+
+ }
+ 
+-static int vboxvfs_reclaim(struct vop_reclaim_args *ap)
 +static int
 +vboxfs_readdir(struct vop_readdir_args *ap)
-+{
+ {
+-    return 0;
 +	int *eofp = ap->a_eofflag;
 +	struct vnode *vp = ap->a_vp;
 +	struct uio *uio = ap->a_uio;
@@ -1260,11 +1233,13 @@
 +	if (error != 0)
 +		uio->uio_offset = orig_off;
 +	return (error);
-+}
-+
+ }
+ 
+-static int vboxvfs_getpages(struct vop_getpages_args *ap)
 +static int
 +vboxfs_readlink(struct vop_readlink_args *v)
-+{
+ {
+-    return 0;
 +	struct vnode *vp = v->a_vp;
 +	struct uio *uio = v->a_uio;
 +
@@ -1292,11 +1267,13 @@
 +	if (tmpbuf)
 +		contigfree(tmpbuf, MAXPATHLEN, M_DEVBUF);
 +	return (error);
-+}
-+
+ }
+ 
+-static int vboxvfs_putpages(struct vop_putpages_args *ap)
 +static int
 +vboxfs_fsync(struct vop_fsync_args *ap)
-+{
+ {
+-    return 0;
 +	struct vnode *vp;
 +	struct vboxfs_node *np;
 +	int ret;
@@ -1307,8 +1284,8 @@
 +		return (0);
 +	ret = sfprov_fsync(np->sf_file);
 +	return (ret);
-+}
-+
+ }
+ 
 +static int
 +vboxfs_print(struct vop_print_args *ap)
 +{
@@ -1349,22 +1326,17 @@
 +		break;
 +	}
 +	return (error);
- }
- 
--static int vboxvfs_reclaim(struct vop_reclaim_args *ap)
++}
++
 +/*
 + * File specific ioctls.
 + */
 +static int
 +vboxfs_ioctl(struct vop_ioctl_args *ap)
- {
--    return 0;
++{
 +	return (ENOTTY);
- }
- 
--static int vboxvfs_getpages(struct vop_getpages_args *ap)
--{
--    return 0;
++}
++
 +/*
 + * Lookup an entry in a directory and create a new vnode if found.
 + */
@@ -1495,14 +1467,11 @@
 +	MPASS(vp->v_data == NULL);
 +
 +	return (0);
- }
- 
--static int vboxvfs_putpages(struct vop_putpages_args *ap)
++}
++
 +static int
 +vboxfs_vptofh(struct vop_vptofh_args *ap)
- {
--    return 0;
--}
- 
++{
++
 +	return (EOPNOTSUPP);
 +}



Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?201912122216.xBCMG6Sf099855>