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.
