Hello Pino,

As the contributor of the patch being discussed, can I please get your
opinion on this bug report?

Thanks

On 26 May 2011 04:44, Andrew Deason <[email protected]> wrote:

> k_hasafs is currently broken, due to patch 043_hurd_ioctl introduced in
> 1.4.0-4 to fix #483281. That patch changes the definition of
> VIOC_SYSCALL_PROC in this hunk:
>
> -#define VIOC_SYSCALL_PROC _IOW('C', 1, void *)
> +#ifdef __GNU__
> +#define _IOT_procdata _IOT(_IOTS(long), 5, 0, 0, 0, 0)
> +#endif
> +#define VIOC_SYSCALL_PROC _IOW('C', 1, struct procdata)
>
> This changes the ioctl command number we use to an incorrect one, so
> k_hasafs() always returns false, even if an AFS client is running. I
> have no idea what GNU hurd uses _IOT_* for, but since _IOT_procdata
> includes the name of a structure, I expect that this will FTBFS on hurd
> again if the third _IOW argument is just reverted to void*.
>
> I don't know if the GNU hurd folks have an opinion on the "proper"
> solution here, but here are a couple of options that I think will work:
>
>  - Define a structure that only has one 'void*' in it, and pass that in
>   instead of struct procdata. (And define _IOT_whatever instead of
>   _IOT_procdata
>
>  - Don't build kafs on hurd, or just always return 0 for k_hasafs or
>   something, since I'm not aware of any AFS kernel clients that run on
>   hurd. In particular, trying to calculate the ioctl number on hurd
>   doesn't make a lot of sense, since there's never any kernel module on
>   hurd to match it to. There's no "correct" number.
>

-- 
Brian May <[email protected]>

Reply via email to