On 07/22/2015 10:24 AM, The Lee-Man wrote:
> On Tuesday, July 21, 2015 at 9:29:19 PM UTC-7, Mike Christie wrote:
>
> On 07/21/2015 05:47 PM,
leeman...@gmail.com <javascript:> wrote:
> > From: Lee Duncan <
ldu...@suse.com <javascript:>>
> >
> > This patch allows iser transport to be used for the discovery
> > daemon. Otherwise, iscsid core dumps when attempting this.
> > ---
> > usr/discoveryd.c | 5 -----
> > 1 file changed, 5 deletions(-)
> >
> > diff --git a/usr/discoveryd.c b/usr/discoveryd.c
> > index 1e149771a50b..2d3ccbcd722f 100644
> > --- a/usr/discoveryd.c
> > +++ b/usr/discoveryd.c
> > @@ -1034,11 +1034,6 @@ static void __do_st_disc_and_login(struct
> discovery_rec *drec)
> > drec->u.sendtargets.reopen_max = 0;
> >
> > iface_link_ifaces(&setup_ifaces);
> > - /*
> > - * disc code assumes this is not set and wants to use
> > - * the userspace IO code.
> > - */
> > - ipc = NULL;
> >
> > rc = idbm_bind_ifaces_to_nodes(discovery_sendtargets, drec,
> > &setup_ifaces, &rec_list);
> >
>
> Do you need this patch for offload support too, and does it work ok now
> too, or was that already working?
>
>
> That was already working. With this patch, offload via IB/iSER seems
> to be working for us.
>
For offload, like bnx2i, was it doing discovery through the offload
engine or in software for you? I thought it would crash in
iscsi_create_leading_conn when it references the ipc pointer here:
conn->socket_fd = ipc->ctldev_open();
for bnx2i.
Your patch is correct. I am just trying to figure out why I wrote that
"disc code assumes" comment above. It seems like my comment in the code
is very very wrong, because if CAP_TEXT_NEGO, like with
bnx2i/cxgb/be2iscsi and in newer kernels where we now set that bit iser,
then we want a valid ipc pointer.