]> git.ipfire.org Git - thirdparty/open-vm-tools.git/commitdiff
FreeBSD has removed some vnops flags that have never been used.
authorOliver Kurth <okurth@vmware.com>
Wed, 4 Mar 2020 20:07:12 +0000 (12:07 -0800)
committerOliver Kurth <okurth@vmware.com>
Wed, 4 Mar 2020 20:07:12 +0000 (12:07 -0800)
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

open-vm-tools/AUTHORS
open-vm-tools/modules/freebsd/vmblock/vnops.c

index 814797509849a75fa04ef3fefa0d7ac5790b7c30..62e58e2d26f5d61446d8529ce78dd13b2703f907 100644 (file)
@@ -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
+
index 457b5e8d5214e92abb5ee1c6f49dbfb22b5ed5f1..d1786912df4c6d86b2811bbbac483757c511f741 100644 (file)
@@ -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;
 }