On Mon, 2018-01-29 at 10:29 -0700, John Nielsen wrote: > > > > On Jan 27, 2018, at 9:20 AM, Ian Lepore <ian_at_FreeBSD.org> wrote: > > > > On Fri, 2018-01-26 at 23:20 -0700, John Nielsen wrote: > > > > > > > > > > > > > > > On Jan 26, 2018, at 9:42 PM, John Nielsen <lists_at_jnielsen.net> > > > > wrote: > > > > > > > > > > > > > > > > > > > [...] > > > > --- iscsi.o --- > > > > iscsi.c:1146:3: error: incompatible pointer types passing 'void > > > > (struct mbuf *, void *, void *)' to parameter of type > > > > 'm_ext_free_t *' (aka 'void (*)(struct mbuf *)') [-Werror,- > > > > Wincompatible-pointer-types] > > > > MEXTADD(md, (caddr_t)ds_dd, (ISCSI_ALIGN(pp- > > > > >ds_len) > > > > ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ > > > > ~~~~ > > > > /usr/src/sys/sys/mbuf.h:887:42: note: expanded from macro > > > > 'MEXTADD' > > > > m_extadd((m), (char *)(buf), (size), (free), (arg1), > > > > (arg2), \ > > > > ^~~~~~ > > > > /usr/src/sys/sys/mbuf.h:634:59: note: passing argument to > > > > parameter here > > > > void m_extadd(struct mbuf *, char *, u_int, > > > > m_ext_free_t, > > > Looks like iscsi.c needs to be fixed up following r324446 > > > (https://svnweb.freebsd.org/changeset/base/324446). Starting to > > > be > > > out of my depth unless there's a mechanical way to make the > > > changes? > > I'm not set up to test-compile this against -current right now, so > > I'm > > not sure if this is all that remains or just another breadcrumb on > > the > > trail, but... try the attached patch. > > > > -- Ian > > --- iscsi.c.orig 2018-01-27 08:43:26.937858000 -0700 > > +++ iscsi.c 2018-01-27 09:15:39.631501000 -0700 > > _at__at_ -1071,17 +1071,23 _at__at_ > > } > > > > > > -#if __FreeBSD_version >= 1100000 > > +#if __FreeBSD_version >= 1200051 > > +static void > > +isboot_free_mbufext(struct mbuf *m) > > +{ > > + void *p = m->m_ext.ext_arg1; > > +#elif __FreeBSD_version >= 1100000 > > static void > > isboot_free_mbufext(struct mbuf *m, void *p, void *optarg) > > #elif __FreeBSD_version >= 1000050 && __FreeBSD_version < 1100000 > > static int > > isboot_free_mbufext(struct mbuf *m, void *p, void *optarg) > > +{ > > #else > > static void > > isboot_free_mbufext(void *p, void *optarg) > > -#endif > > { > > +#endif > Thanks Ian. I think I ran in to a copy/paste issue on my end with the > above but I can compile with this similar patch. Is it functionally > equivalent to yours? > > --- iscsi.c.orig 2015-11-05 09:50:51.000000000 -0700 > +++ iscsi.c 2018-01-29 10:20:00.586277000 -0700 > _at__at_ -1070,9 +1070,11 _at__at_ > return (n); > } > > - > -#if __FreeBSD_version >= 1100000 > +#if __FreeBSD_version >= 1200051 > static void > +isboot_free_mbufext(struct mbuf *m) > +#elif __FreeBSD_version >= 1100000 > +static void > isboot_free_mbufext(struct mbuf *m, void *p, void *optarg) > #elif __FreeBSD_version >= 1000050 && __FreeBSD_version < 1100000 > static int > _at__at_ -1082,7 +1084,9 _at__at_ > isboot_free_mbufext(void *p, void *optarg) > #endif > { > - > +#if __FreeBSD_version >= 1200051 > + void *p = m->m_ext.ext_arg1; > +#endif > ISBOOT_TRACE("isboot_free_mbufext\n"); > if (p == NULL) > #if __FreeBSD_version >= 1000050 && __FreeBSD_version < 1100000 Yeah, that looks the same. But someone else reported that once you get it to compile, it crashes at runtime, not necessarily in a way that involves this part of the code. I probably can't help much with that, I don't know anything about iscsi, and don't have a setup for testing. -- IanReceived on Mon Jan 29 2018 - 16:54:49 UTC
This archive was generated by hypermail 2.4.0 : Wed May 19 2021 - 11:41:14 UTC