Skip site navigation (1)Skip section navigation (2)
Date:      Tue, 23 Jun 2020 15:12:46 +0000
From:      Rick Macklem <rmacklem@uoguelph.ca>
To:        Kostya Berger <bergerkos@yahoo.co.uk>, Freebsd-current <freebsd-current@freebsd.org>
Cc:        Ryan Moeller <freqlabs@FreeBSD.org>
Subject:   Re: openzfs-kmod build error
Message-ID:  <QB1PR01MB33648347A48861545DEDFF17DD940@QB1PR01MB3364.CANPRD01.PROD.OUTLOOK.COM>
In-Reply-To: <1250230056.4543844.1592922228227@mail.yahoo.com>
References:  <1250230056.4543844.1592922228227.ref@mail.yahoo.com>, <1250230056.4543844.1592922228227@mail.yahoo.com>

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



Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?QB1PR01MB33648347A48861545DEDFF17DD940>