From: Oliver Kurth Date: Wed, 4 Mar 2020 20:07:12 +0000 (-0800) Subject: FreeBSD has removed some vnops flags that have never been used. X-Git-Tag: stable-11.1.0~57 X-Git-Url: http://git.ipfire.org/cgi-bin/gitweb.cgi?a=commitdiff_plain;h=29703e3fff4902856e2ae339cd855abb9a852795;p=thirdparty%2Fopen-vm-tools.git FreeBSD has removed some vnops flags that have never been used. Two flags that were being tested in the nullfs vnops.c source have never actually been used by any filesystem layer on top of the nullfs. FreeBSD is doing a little house cleaning and the VDESC_NOMAP_VPP and VDESC_VPP_WILLRELE defines are being removed from the source base. FreeBSD has provided source code changes for the FreeBSD vmblock driver as they have made in identical nullfs code in the FreeBSD base code. Pull request: https://github.com/vmware/open-vm-tools/pull/403 --- diff --git a/open-vm-tools/AUTHORS b/open-vm-tools/AUTHORS index 814797509..62e58e2d2 100644 --- a/open-vm-tools/AUTHORS +++ b/open-vm-tools/AUTHORS @@ -56,3 +56,6 @@ MilhouseVH stop systemd-243 udev complaints Josh Paetzel Changes to vmmemctl.ko and vmblock.ko for FreeBSD 13.0 API changes. - https://github.com/vmware/open-vm-tools/pull/398 +Josh Paetzel FreeBSD has removed some vnops flags that have never been used. + - https://github.com/vmware/open-vm-tools/pull/403 + diff --git a/open-vm-tools/modules/freebsd/vmblock/vnops.c b/open-vm-tools/modules/freebsd/vmblock/vnops.c index 457b5e8d5..d1786912d 100644 --- a/open-vm-tools/modules/freebsd/vmblock/vnops.c +++ b/open-vm-tools/modules/freebsd/vmblock/vnops.c @@ -532,17 +532,7 @@ struct vop_generic_args { * Map the possible out-going vpp (Assumes that the lower layer always * returns a VREF'ed vpp unless it gets an error.) */ - if (descp->vdesc_vpp_offset != VDESC_NO_OFFSET && - !(descp->vdesc_flags & VDESC_NOMAP_VPP) && - !error) { - /* - * XXX - even though some ops have vpp returned vp's, several ops - * actually vrele this before returning. We must avoid these ops. - * (This should go away when these ops are regularized.) - */ - if (descp->vdesc_flags & VDESC_VPP_WILLRELE) { - goto out; - } + if (descp->vdesc_vpp_offset != VDESC_NO_OFFSET && !error) { vppp = VOPARG_OFFSETTO(struct vnode***, descp->vdesc_vpp_offset,ap); if (*vppp) { /* FIXME: set proper name for the vnode */ @@ -550,7 +540,6 @@ struct vop_generic_args { } } -out: return error; }