On 6/23/20 11:12 AM, Rick Macklem wrote:
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?
The port has already been updated, so update the ports tree checkout and
you should be good.
-Ryan
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@freebsd.org mailing list
https://lists.freebsd.org/mailman/listinfo/freebsd-current
To unsubscribe, send any mail to "freebsd-current-unsubscr...@freebsd.org"
_______________________________________________
freebsd-current@freebsd.org mailing list
https://lists.freebsd.org/mailman/listinfo/freebsd-current
To unsubscribe, send any mail to "freebsd-current-unsubscr...@freebsd.org"
_______________________________________________
freebsd-current@freebsd.org mailing list
https://lists.freebsd.org/mailman/listinfo/freebsd-current
To unsubscribe, send any mail to "freebsd-current-unsubscr...@freebsd.org"