Skip site navigation (1)Skip section navigation (2)
Date:      Tue, 23 Jun 2020 12:04:39 -0400
From:      Ryan Moeller <freqlabs@FreeBSD.org>
To:        freebsd-current@freebsd.org
Subject:   Re: openzfs-kmod build error
Message-ID:  <260a4489-031a-5b61-d8e6-c0572a2bd597@FreeBSD.org>
In-Reply-To: <QB1PR01MB33648347A48861545DEDFF17DD940@QB1PR01MB3364.CANPRD01.PROD.OUTLOOK.COM>
References:  <1250230056.4543844.1592922228227.ref@mail.yahoo.com> <1250230056.4543844.1592922228227@mail.yahoo.com> <QB1PR01MB33648347A48861545DEDFF17DD940@QB1PR01MB3364.CANPRD01.PROD.OUTLOOK.COM>

next in thread | previous in thread | raw e-mail | index | archive | help

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-unsubscribe@freebsd.org"
> _______________________________________________
> freebsd-current@freebsd.org mailing list
> https://lists.freebsd.org/mailman/listinfo/freebsd-current
> To unsubscribe, send any mail to "freebsd-current-unsubscribe@freebsd.org"



Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?260a4489-031a-5b61-d8e6-c0572a2bd597>