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@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"

Reply via email to