openzfs-kmod build error
Rick Macklem
rmacklem at uoguelph.ca
Tue Jun 23 15:12:50 UTC 2020
Kostya Berger wrote:
>CURRENT r362292
>sysutils/openzfs-kmod build aborts with error:...............
>/usr/ports/sysutils/openzfs-kmod/work/zfs->c0eb5c35e/module/os/freebsd/zfs/zfs_vfsops.c:128:19: error:
> incompatible pointer types initializing 'vfs_checkexp_t *' (aka 'int (*)(struct
> mount *, struct sockaddr *, unsigned long *, struct ucred **, int *, int *)') with
> an expression of type 'int (vfs_t *, struct sockaddr *, int *, struct ucred **, int
> *, int **)' (aka 'int (struct mount *, struct sockaddr *, int *, struct ucred **,
> int *, int **)') [-Werror,-Wincompatible-pointer-types]
> .vfs_checkexp = zfs_checkexp,
> ^~~~~~~~~~~~
>/usr/ports/sysutils/openzfs-kmod/work/zfs->c0eb5c35e/module/os/freebsd/zfs/zfs_vfsops.c:1911:56: error:
> incompatible pointer types passing 'int *' to parameter of type 'uint64_t *'
> (aka 'unsigned long *') [-Werror,-Wincompatible-pointer-types]
> return (vfs_stdcheckexp(zfsvfs->z_parent->z_vfs, nam, extflagsp,
> ^~~~~~~~~
>/usr/src/sys/sys/mount.h:980:17: note: passing argument to parameter here
>vfs_checkexp_t vfs_stdcheckexp;
> ^
>/usr/ports/sysutils/openzfs-kmod/work/zfs->c0eb5c35e/module/os/freebsd/zfs/zfs_vfsops.c:1912:32: error:
> incompatible pointer types passing 'int **' to parameter of type 'int *';
> dereference with * [-Werror,-Wincompatible-pointer-types]
> credanonp, numsecflavors, secflavors));
> ^~~~~~~~~~
> *
>/usr/src/sys/sys/mount.h:980:17: note: passing argument to parameter here
>vfs_checkexp_t vfs_stdcheckexp;
> ^
>3 errors generated.
>*** Error code 1
>
>Stop.
Post r362158, the argument types change. Since they are just passed to
vfs_stdcheckexp(), all that needs to be done is changing the types of
the arguments.
freqlabs@ volunteered to do this upstream, but I don't know if/when
that gets applied to the port?
If you can fix this, simply replace:
zfs_checkexp(vfs_t *vfsp, struct sockaddr *nam, int *extflagsp,
struct ucred **credanonp, int *numsecflavors, int **secflavors)
with
zfs_checkexp(vfs_t *vfsp, struct sockaddr *nam, uint64_t *extflagsp,
struct ucred **credanonp, int *numsecflavors, int *secflavors)
in the two places it exists in zfs_vfsops.c.
rick
With kindest regards,
Kostya Berger
_______________________________________________
freebsd-current at freebsd.org mailing list
https://lists.freebsd.org/mailman/listinfo/freebsd-current
To unsubscribe, send any mail to "freebsd-current-unsubscribe at freebsd.org"
More information about the freebsd-current
mailing list