Hello Mike,

I just notice that this patch hasn't been included yet for open-iscsi
while the corresponding kernel component already has.  So do we still
have concerns over the enclosed patchset?

I had to spin this to version 5 as a bug as found in the enclosed patch
as-is.  

Thanks,
Eddie

On Tue, 2013-05-28 at 12:13 -0500, Mike Christie wrote:
> On 05/28/2013 12:07 PM, Eddie Wai wrote:
> > 
> > On Tue, 2013-05-28 at 04:05 -0500, Mike Christie wrote:
> >> On 04/12/2013 12:41 PM, Eddie Wai wrote:
> >>> This patch does the work to extract the corresponding
> >>> <boot_root>->ethernetN net params as specified from the kernel
> >>> session boot_nic sysfs entry based on the transport param
> >>> use_boot_info.
> >>>
> >>> This is only populated for iscsi_tcp and bnx2i.
> >>>
> >>> Signed-off-by: Eddie Wai <[email protected]>
> >>> ---
> >>>  usr/iscsi_sysfs.c |   40 ++++++++++++++++++++++++++++++++++++++++
> >>>  usr/transport.c   |    2 ++
> >>>  usr/transport.h   |    1 +
> >>>  3 files changed, 43 insertions(+), 0 deletions(-)
> >>>
> >>> diff --git a/usr/iscsi_sysfs.c b/usr/iscsi_sysfs.c
> >>> index 4015b35..91c3989 100644
> >>> --- a/usr/iscsi_sysfs.c
> >>> +++ b/usr/iscsi_sysfs.c
> >>> @@ -439,6 +439,43 @@ uint32_t iscsi_sysfs_get_host_no_from_hwinfo(struct 
> >>> iface_rec *iface, int *rc)
> >>>   return host_no;
> >>>  }
> >>>  
> >>> +static int iscsi_sysfs_read_boot(struct iface_rec *iface, char *session)
> >>> +{
> >>> + char boot_root[BOOT_NAME_MAXLEN], boot_nic[BOOT_NAME_MAXLEN];
> >>> + char boot_name[BOOT_NAME_MAXLEN], boot_content[BOOT_NAME_MAXLEN];
> >>> +
> >>> + /* Extract boot info */
> >>> + strlcpy(boot_name, "boot_target", sizeof(boot_name));
> >>> + if (sysfs_get_str(session, ISCSI_SESSION_SUBSYS, boot_name,
> >>> +                   boot_content, BOOT_NAME_MAXLEN))
> >>> +         return -1;
> >>> + strlcpy(boot_name, "boot_nic", sizeof(boot_name));
> >>> + if (sysfs_get_str(session, ISCSI_SESSION_SUBSYS, boot_name, boot_nic,
> >>> +                   BOOT_NAME_MAXLEN))
> >>> +         return -1;
> >>> + strlcpy(boot_name, "boot_root", sizeof(boot_name));
> >>> + if (sysfs_get_str(session, ISCSI_SESSION_SUBSYS, boot_name, boot_root,
> >>> +                   BOOT_NAME_MAXLEN))
> >>> +         return -1;
> >>> +
> >>> + /* If all boot_root/boot_target/boot_nic exist, then extract the
> >>> +    info from the boot nic */
> >>> + if (sysfs_get_str(boot_nic, boot_root, "vlan", boot_content,
> >>> +                   BOOT_NAME_MAXLEN))
> >>> +         log_debug(5, "could not read %s/%s/vlan", boot_root, boot_nic);
> >>> + else
> >>> +         iface->vlan_id = atoi(boot_content);
> >>> +
> >>> + if (sysfs_get_str(boot_nic, boot_root, "subnet-mask",
> >>> +                   iface->subnet_mask, NI_MAXHOST))
> >>> +         log_debug(5, "could not read %s/%s/subnet", boot_root,
> >>> +                   boot_nic);
> >>> +
> >>> + log_debug(5, "sysfs read boot returns %s/%s/ vlan = %d subnet = %s",
> >>> +           boot_root, boot_nic, iface->vlan_id, iface->subnet_mask);
> >>> + return 0;
> >>> +}
> >>> +
> >>>  /*
> >>>   * Read in iface settings based on host and session values. If
> >>>   * session is not passed in, then the ifacename will not be set. And
> >>> @@ -567,6 +604,9 @@ static int iscsi_sysfs_read_iface(struct iface_rec 
> >>> *iface, int host_no,
> >>>           }
> >>>   }
> >>>  
> >>> + if (t->template->use_boot_info)
> >>> +         iscsi_sysfs_read_boot(iface, session);
> >>> +
> >>
> >> I forgot what we were saying for this. For the running boot session is
> >> it possible to change the network settings while the session is running?
> >> If so then this would print the old info (info used for boot that might
> >> not be currently used) right? Was this ok?
> > I'm not sure if this applies to iscsi_tcp or not, but for bnx2i, the
> > boot session network settings cannot be altered once its booted.  So the
> > print out will follow the boot params; which is also the currently used
> > params.
> 
> For tcp we can. Let's just set use_boot_info for bnx2i for now. Let me
> think about tcp some more or let someone complain :)
> 
> I think it then looks ok. Or, at least I do not remember if I had other
> concerns about it :) So send kernel stuff upstream. I can actually hand
> edit the userspace patches to remove the tcp use_boot_info bit if these
> patches are ok with you.
> 
> Thanks.
> 
> 



-- 
You received this message because you are subscribed to the Google Groups 
"open-iscsi" group.
To unsubscribe from this group and stop receiving emails from it, send an email 
to [email protected].
To post to this group, send email to [email protected].
Visit this group at http://groups.google.com/group/open-iscsi.
For more options, visit https://groups.google.com/groups/opt_out.

Reply via email to