* [PATCH 0/3] iscsi: Add statistics support for iscsi host
@ 2016-04-22 13:39 adheer.chandravanshi-h88ZbnxC6KDQT0dZR+AlfA
[not found] ` <1461332373-18491-1-git-send-email-adheer.chandravanshi-h88ZbnxC6KDQT0dZR+AlfA@public.gmane.org>
0 siblings, 1 reply; 6+ messages in thread
From: adheer.chandravanshi-h88ZbnxC6KDQT0dZR+AlfA @ 2016-04-22 13:39 UTC (permalink / raw)
To: jbottomley-bzQdu9zFT3WakBO8gow8eQ,
michaelc-hcNo3dDEHLuVc3sceRu5cw,
martin.petersen-QHcLZuEGTsvQT0dZR+AlfA
Cc: linux-scsi-u79uwXL29TY76Z2rM5mHXA,
shyam.sundar-h88ZbnxC6KDQT0dZR+AlfA,
cleech-H+wXaHxf7aLQT0dZR+AlfA, hare-l3A5Bk7waGM,
lduncan-IBi9RG/b67k, open-iscsi-/JYPxA39Uh5TLH3MbocFFw,
Adheer Chandravanshi
From: Adheer Chandravanshi <adheer.chandravanshi-h88ZbnxC6KDQT0dZR+AlfA@public.gmane.org>
The following patches add the support to maintain some iscsi initiator
stats at the iscsi host level. The stats will be exposed using iscsi
host sysfs attrs.
This adds support for following stats:
ISCSI_HOST_PARAM_LOGIN_ACCEPT_RSPS
ISCSI_HOST_PARAM_LOGIN_OTHER_FAILS
ISCSI_HOST_PARAM_LOGIN_AUTHENTICATION_FAILS
ISCSI_HOST_PARAM_LOGIN_AUTHORIZATION_FAILS
ISCSI_HOST_PARAM_LOGIN_NEGOTIATION_FAILS
ISCSI_HOST_PARAM_LOGIN_REDIRECT_RSPS
ISCSI_HOST_PARAM_LOGOUT_NORMAL_RSPS
ISCSI_HOST_PARAM_LOGOUT_OTHER_RSPS
ISCSI_HOST_PARAM_DIGEST_ERR
ISCSI_HOST_PARAM_TIMEOUT_ERR
ISCSI_HOST_PARAM_FORMAT_ERR
ISCSI_HOST_PARAM_SESSION_FAILS
Adheer Chandravanshi (3):
scsi_transport_iscsi: Add support for stats param at host level
libiscsi: Add support to update host stats param
bnx2i: Enable support for host stats param
--
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 open-iscsi+unsubscribe-/JYPxA39Uh5TLH3MbocFF+G/Ez6ZCGd0@public.gmane.org
To post to this group, send email to open-iscsi-/JYPxA39Uh5TLH3MbocFF+G/Ez6ZCGd0@public.gmane.org
Visit this group at https://groups.google.com/group/open-iscsi.
For more options, visit https://groups.google.com/d/optout.
^ permalink raw reply [flat|nested] 6+ messages in thread[parent not found: <1461332373-18491-1-git-send-email-adheer.chandravanshi-h88ZbnxC6KDQT0dZR+AlfA@public.gmane.org>]
* [PATCH 1/3] scsi_transport_iscsi: Add stats support for iscsi host [not found] ` <1461332373-18491-1-git-send-email-adheer.chandravanshi-h88ZbnxC6KDQT0dZR+AlfA@public.gmane.org> @ 2016-04-22 13:39 ` adheer.chandravanshi-h88ZbnxC6KDQT0dZR+AlfA [not found] ` <1461332373-18491-2-git-send-email-adheer.chandravanshi-h88ZbnxC6KDQT0dZR+AlfA@public.gmane.org> 2016-04-22 13:39 ` [PATCH 2/3] libiscsi: Add support to update host stats param adheer.chandravanshi-h88ZbnxC6KDQT0dZR+AlfA 2016-04-22 13:39 ` [PATCH 3/3] bnx2i: Enable support for " adheer.chandravanshi-h88ZbnxC6KDQT0dZR+AlfA 2 siblings, 1 reply; 6+ messages in thread From: adheer.chandravanshi-h88ZbnxC6KDQT0dZR+AlfA @ 2016-04-22 13:39 UTC (permalink / raw) To: jbottomley-bzQdu9zFT3WakBO8gow8eQ, michaelc-hcNo3dDEHLuVc3sceRu5cw, martin.petersen-QHcLZuEGTsvQT0dZR+AlfA Cc: linux-scsi-u79uwXL29TY76Z2rM5mHXA, shyam.sundar-h88ZbnxC6KDQT0dZR+AlfA, cleech-H+wXaHxf7aLQT0dZR+AlfA, hare-l3A5Bk7waGM, lduncan-IBi9RG/b67k, open-iscsi-/JYPxA39Uh5TLH3MbocFFw, Adheer Chandravanshi From: Adheer Chandravanshi <adheer.chandravanshi-h88ZbnxC6KDQT0dZR+AlfA@public.gmane.org> Add stats for iscsi initiator that will be maintained at iscsi host level and will be exported as iscsi_host sysfs attributes. Signed-off-by: Adheer Chandravanshi <adheer.chandravanshi-h88ZbnxC6KDQT0dZR+AlfA@public.gmane.org> --- drivers/scsi/scsi_transport_iscsi.c | 51 +++++++++++++++++++++++++++++++++++++ include/scsi/iscsi_if.h | 24 +++++++++++++++++ 2 files changed, 75 insertions(+) diff --git a/drivers/scsi/scsi_transport_iscsi.c b/drivers/scsi/scsi_transport_iscsi.c index 42bca61..076843c 100644 --- a/drivers/scsi/scsi_transport_iscsi.c +++ b/drivers/scsi/scsi_transport_iscsi.c @@ -4253,6 +4253,21 @@ iscsi_host_attr(ipaddress, ISCSI_HOST_PARAM_IPADDRESS); iscsi_host_attr(initiatorname, ISCSI_HOST_PARAM_INITIATOR_NAME); iscsi_host_attr(port_state, ISCSI_HOST_PARAM_PORT_STATE); iscsi_host_attr(port_speed, ISCSI_HOST_PARAM_PORT_SPEED); +iscsi_host_attr(login_accept_rsps, ISCSI_HOST_PARAM_LOGIN_ACCEPT_RSPS); +iscsi_host_attr(login_other_fails, ISCSI_HOST_PARAM_LOGIN_OTHER_FAILS); +iscsi_host_attr(login_authentication_fails, + ISCSI_HOST_PARAM_LOGIN_AUTHENTICATION_FAILS); +iscsi_host_attr(login_authorization_fails, + ISCSI_HOST_PARAM_LOGIN_AUTHORIZATION_FAILS); +iscsi_host_attr(login_negotiation_fails, + ISCSI_HOST_PARAM_LOGIN_NEGOTIATION_FAILS); +iscsi_host_attr(login_redirect_rsps, ISCSI_HOST_PARAM_LOGIN_REDIRECT_RSPS); +iscsi_host_attr(logout_normal_rsps, ISCSI_HOST_PARAM_LOGOUT_NORMAL_RSPS); +iscsi_host_attr(logout_other_rsps, ISCSI_HOST_PARAM_LOGOUT_OTHER_RSPS); +iscsi_host_attr(digest_err, ISCSI_HOST_PARAM_DIGEST_ERR); +iscsi_host_attr(timeout_err, ISCSI_HOST_PARAM_TIMEOUT_ERR); +iscsi_host_attr(format_err, ISCSI_HOST_PARAM_FORMAT_ERR); +iscsi_host_attr(session_fails, ISCSI_HOST_PARAM_SESSION_FAILS); static struct attribute *iscsi_host_attrs[] = { &dev_attr_host_netdev.attr, @@ -4261,6 +4276,18 @@ static struct attribute *iscsi_host_attrs[] = { &dev_attr_host_initiatorname.attr, &dev_attr_host_port_state.attr, &dev_attr_host_port_speed.attr, + &dev_attr_host_login_accept_rsps.attr, + &dev_attr_host_login_other_fails.attr, + &dev_attr_host_login_authentication_fails.attr, + &dev_attr_host_login_authorization_fails.attr, + &dev_attr_host_login_negotiation_fails.attr, + &dev_attr_host_login_redirect_rsps.attr, + &dev_attr_host_logout_normal_rsps.attr, + &dev_attr_host_logout_other_rsps.attr, + &dev_attr_host_digest_err.attr, + &dev_attr_host_timeout_err.attr, + &dev_attr_host_format_err.attr, + &dev_attr_host_session_fails.attr, NULL, }; @@ -4284,6 +4311,30 @@ static umode_t iscsi_host_attr_is_visible(struct kobject *kobj, param = ISCSI_HOST_PARAM_PORT_STATE; else if (attr == &dev_attr_host_port_speed.attr) param = ISCSI_HOST_PARAM_PORT_SPEED; + else if (attr == &dev_attr_host_login_accept_rsps.attr) + param = ISCSI_HOST_PARAM_LOGIN_ACCEPT_RSPS; + else if (attr == &dev_attr_host_login_other_fails.attr) + param = ISCSI_HOST_PARAM_LOGIN_OTHER_FAILS; + else if (attr == &dev_attr_host_login_authentication_fails.attr) + param = ISCSI_HOST_PARAM_LOGIN_AUTHENTICATION_FAILS; + else if (attr == &dev_attr_host_login_authorization_fails.attr) + param = ISCSI_HOST_PARAM_LOGIN_AUTHORIZATION_FAILS; + else if (attr == &dev_attr_host_login_negotiation_fails.attr) + param = ISCSI_HOST_PARAM_LOGIN_NEGOTIATION_FAILS; + else if (attr == &dev_attr_host_login_redirect_rsps.attr) + param = ISCSI_HOST_PARAM_LOGIN_REDIRECT_RSPS; + else if (attr == &dev_attr_host_logout_normal_rsps.attr) + param = ISCSI_HOST_PARAM_LOGOUT_NORMAL_RSPS; + else if (attr == &dev_attr_host_logout_other_rsps.attr) + param = ISCSI_HOST_PARAM_LOGOUT_OTHER_RSPS; + else if (attr == &dev_attr_host_digest_err.attr) + param = ISCSI_HOST_PARAM_DIGEST_ERR; + else if (attr == &dev_attr_host_timeout_err.attr) + param = ISCSI_HOST_PARAM_TIMEOUT_ERR; + else if (attr == &dev_attr_host_format_err.attr) + param = ISCSI_HOST_PARAM_FORMAT_ERR; + else if (attr == &dev_attr_host_session_fails.attr) + param = ISCSI_HOST_PARAM_SESSION_FAILS; else { WARN_ONCE(1, "Invalid host attr"); return 0; diff --git a/include/scsi/iscsi_if.h b/include/scsi/iscsi_if.h index d66c070..d6a3909 100644 --- a/include/scsi/iscsi_if.h +++ b/include/scsi/iscsi_if.h @@ -632,6 +632,18 @@ enum iscsi_host_param { ISCSI_HOST_PARAM_IPADDRESS, ISCSI_HOST_PARAM_PORT_STATE, ISCSI_HOST_PARAM_PORT_SPEED, + ISCSI_HOST_PARAM_LOGIN_ACCEPT_RSPS, + ISCSI_HOST_PARAM_LOGIN_OTHER_FAILS, + ISCSI_HOST_PARAM_LOGIN_AUTHENTICATION_FAILS, + ISCSI_HOST_PARAM_LOGIN_AUTHORIZATION_FAILS, + ISCSI_HOST_PARAM_LOGIN_NEGOTIATION_FAILS, + ISCSI_HOST_PARAM_LOGIN_REDIRECT_RSPS, + ISCSI_HOST_PARAM_LOGOUT_NORMAL_RSPS, + ISCSI_HOST_PARAM_LOGOUT_OTHER_RSPS, + ISCSI_HOST_PARAM_DIGEST_ERR, + ISCSI_HOST_PARAM_TIMEOUT_ERR, + ISCSI_HOST_PARAM_FORMAT_ERR, + ISCSI_HOST_PARAM_SESSION_FAILS, ISCSI_HOST_PARAM_MAX, }; @@ -819,6 +831,18 @@ struct iscsi_stats { /* errors */ uint32_t digest_err; uint32_t timeout_err; + uint32_t format_err; + uint32_t session_fails; + + /* login/logout stats */ + uint32_t login_accept_rsps; + uint32_t login_other_fails; + uint32_t login_authentication_fails; + uint32_t login_authorization_fails; + uint32_t login_negotiation_fails; + uint32_t login_redirect_rsps; + uint32_t logout_normal_rsps; + uint32_t logout_other_rsps; /* * iSCSI Custom Statistics support, i.e. Transport could -- 1.8.3.1 -- 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 open-iscsi+unsubscribe-/JYPxA39Uh5TLH3MbocFF+G/Ez6ZCGd0@public.gmane.org To post to this group, send email to open-iscsi-/JYPxA39Uh5TLH3MbocFF+G/Ez6ZCGd0@public.gmane.org Visit this group at https://groups.google.com/group/open-iscsi. For more options, visit https://groups.google.com/d/optout. ^ permalink raw reply related [flat|nested] 6+ messages in thread
[parent not found: <1461332373-18491-2-git-send-email-adheer.chandravanshi-h88ZbnxC6KDQT0dZR+AlfA@public.gmane.org>]
* Re: [PATCH 1/3] scsi_transport_iscsi: Add stats support for iscsi host [not found] ` <1461332373-18491-2-git-send-email-adheer.chandravanshi-h88ZbnxC6KDQT0dZR+AlfA@public.gmane.org> @ 2016-04-22 18:37 ` Mike Christie [not found] ` <571A6F60.1010400-hcNo3dDEHLuVc3sceRu5cw@public.gmane.org> 0 siblings, 1 reply; 6+ messages in thread From: Mike Christie @ 2016-04-22 18:37 UTC (permalink / raw) To: open-iscsi-/JYPxA39Uh5TLH3MbocFFw, jbottomley-bzQdu9zFT3WakBO8gow8eQ, martin.petersen-QHcLZuEGTsvQT0dZR+AlfA Cc: linux-scsi-u79uwXL29TY76Z2rM5mHXA, shyam.sundar-h88ZbnxC6KDQT0dZR+AlfA, cleech-H+wXaHxf7aLQT0dZR+AlfA, hare-l3A5Bk7waGM, lduncan-IBi9RG/b67k, Adheer Chandravanshi On 04/22/2016 08:39 AM, adheer.chandravanshi-h88ZbnxC6KDQT0dZR+AlfA@public.gmane.org wrote: > From: Adheer Chandravanshi <adheer.chandravanshi-h88ZbnxC6KDQT0dZR+AlfA@public.gmane.org> > > Add stats for iscsi initiator that will be maintained at iscsi host level > and will be exported as iscsi_host sysfs attributes. > > Signed-off-by: Adheer Chandravanshi <adheer.chandravanshi-h88ZbnxC6KDQT0dZR+AlfA@public.gmane.org> > --- > drivers/scsi/scsi_transport_iscsi.c | 51 +++++++++++++++++++++++++++++++++++++ > include/scsi/iscsi_if.h | 24 +++++++++++++++++ > 2 files changed, 75 insertions(+) > > diff --git a/drivers/scsi/scsi_transport_iscsi.c b/drivers/scsi/scsi_transport_iscsi.c > index 42bca61..076843c 100644 > --- a/drivers/scsi/scsi_transport_iscsi.c > +++ b/drivers/scsi/scsi_transport_iscsi.c > @@ -4253,6 +4253,21 @@ iscsi_host_attr(ipaddress, ISCSI_HOST_PARAM_IPADDRESS); > iscsi_host_attr(initiatorname, ISCSI_HOST_PARAM_INITIATOR_NAME); > iscsi_host_attr(port_state, ISCSI_HOST_PARAM_PORT_STATE); > iscsi_host_attr(port_speed, ISCSI_HOST_PARAM_PORT_SPEED); > +iscsi_host_attr(login_accept_rsps, ISCSI_HOST_PARAM_LOGIN_ACCEPT_RSPS); > +iscsi_host_attr(login_other_fails, ISCSI_HOST_PARAM_LOGIN_OTHER_FAILS); > +iscsi_host_attr(login_authentication_fails, > + ISCSI_HOST_PARAM_LOGIN_AUTHENTICATION_FAILS); > +iscsi_host_attr(login_authorization_fails, > + ISCSI_HOST_PARAM_LOGIN_AUTHORIZATION_FAILS); > +iscsi_host_attr(login_negotiation_fails, > + ISCSI_HOST_PARAM_LOGIN_NEGOTIATION_FAILS); > +iscsi_host_attr(login_redirect_rsps, ISCSI_HOST_PARAM_LOGIN_REDIRECT_RSPS); > +iscsi_host_attr(logout_normal_rsps, ISCSI_HOST_PARAM_LOGOUT_NORMAL_RSPS); > +iscsi_host_attr(logout_other_rsps, ISCSI_HOST_PARAM_LOGOUT_OTHER_RSPS); > +iscsi_host_attr(digest_err, ISCSI_HOST_PARAM_DIGEST_ERR); > +iscsi_host_attr(timeout_err, ISCSI_HOST_PARAM_TIMEOUT_ERR); > +iscsi_host_attr(format_err, ISCSI_HOST_PARAM_FORMAT_ERR); > +iscsi_host_attr(session_fails, ISCSI_HOST_PARAM_SESSION_FAILS); > > static struct attribute *iscsi_host_attrs[] = { > &dev_attr_host_netdev.attr, > @@ -4261,6 +4276,18 @@ static struct attribute *iscsi_host_attrs[] = { > &dev_attr_host_initiatorname.attr, > &dev_attr_host_port_state.attr, > &dev_attr_host_port_speed.attr, > + &dev_attr_host_login_accept_rsps.attr, > + &dev_attr_host_login_other_fails.attr, > + &dev_attr_host_login_authentication_fails.attr, > + &dev_attr_host_login_authorization_fails.attr, > + &dev_attr_host_login_negotiation_fails.attr, > + &dev_attr_host_login_redirect_rsps.attr, > + &dev_attr_host_logout_normal_rsps.attr, > + &dev_attr_host_logout_other_rsps.attr, > + &dev_attr_host_digest_err.attr, > + &dev_attr_host_timeout_err.attr, > + &dev_attr_host_format_err.attr, > + &dev_attr_host_session_fails.attr, > NULL, > }; > > @@ -4284,6 +4311,30 @@ static umode_t iscsi_host_attr_is_visible(struct kobject *kobj, > param = ISCSI_HOST_PARAM_PORT_STATE; > else if (attr == &dev_attr_host_port_speed.attr) > param = ISCSI_HOST_PARAM_PORT_SPEED; > + else if (attr == &dev_attr_host_login_accept_rsps.attr) > + param = ISCSI_HOST_PARAM_LOGIN_ACCEPT_RSPS; > + else if (attr == &dev_attr_host_login_other_fails.attr) > + param = ISCSI_HOST_PARAM_LOGIN_OTHER_FAILS; > + else if (attr == &dev_attr_host_login_authentication_fails.attr) > + param = ISCSI_HOST_PARAM_LOGIN_AUTHENTICATION_FAILS; > + else if (attr == &dev_attr_host_login_authorization_fails.attr) > + param = ISCSI_HOST_PARAM_LOGIN_AUTHORIZATION_FAILS; > + else if (attr == &dev_attr_host_login_negotiation_fails.attr) > + param = ISCSI_HOST_PARAM_LOGIN_NEGOTIATION_FAILS; > + else if (attr == &dev_attr_host_login_redirect_rsps.attr) > + param = ISCSI_HOST_PARAM_LOGIN_REDIRECT_RSPS; > + else if (attr == &dev_attr_host_logout_normal_rsps.attr) > + param = ISCSI_HOST_PARAM_LOGOUT_NORMAL_RSPS; > + else if (attr == &dev_attr_host_logout_other_rsps.attr) > + param = ISCSI_HOST_PARAM_LOGOUT_OTHER_RSPS; > + else if (attr == &dev_attr_host_digest_err.attr) > + param = ISCSI_HOST_PARAM_DIGEST_ERR; > + else if (attr == &dev_attr_host_timeout_err.attr) > + param = ISCSI_HOST_PARAM_TIMEOUT_ERR; > + else if (attr == &dev_attr_host_format_err.attr) > + param = ISCSI_HOST_PARAM_FORMAT_ERR; > + else if (attr == &dev_attr_host_session_fails.attr) > + param = ISCSI_HOST_PARAM_SESSION_FAILS; > else { > WARN_ONCE(1, "Invalid host attr"); > return 0; > diff --git a/include/scsi/iscsi_if.h b/include/scsi/iscsi_if.h > index d66c070..d6a3909 100644 > --- a/include/scsi/iscsi_if.h > +++ b/include/scsi/iscsi_if.h > @@ -632,6 +632,18 @@ enum iscsi_host_param { > ISCSI_HOST_PARAM_IPADDRESS, > ISCSI_HOST_PARAM_PORT_STATE, > ISCSI_HOST_PARAM_PORT_SPEED, > + ISCSI_HOST_PARAM_LOGIN_ACCEPT_RSPS, > + ISCSI_HOST_PARAM_LOGIN_OTHER_FAILS, > + ISCSI_HOST_PARAM_LOGIN_AUTHENTICATION_FAILS, > + ISCSI_HOST_PARAM_LOGIN_AUTHORIZATION_FAILS, > + ISCSI_HOST_PARAM_LOGIN_NEGOTIATION_FAILS, > + ISCSI_HOST_PARAM_LOGIN_REDIRECT_RSPS, > + ISCSI_HOST_PARAM_LOGOUT_NORMAL_RSPS, > + ISCSI_HOST_PARAM_LOGOUT_OTHER_RSPS, > + ISCSI_HOST_PARAM_DIGEST_ERR, > + ISCSI_HOST_PARAM_TIMEOUT_ERR, > + ISCSI_HOST_PARAM_FORMAT_ERR, > + ISCSI_HOST_PARAM_SESSION_FAILS, > ISCSI_HOST_PARAM_MAX, > }; > > @@ -819,6 +831,18 @@ struct iscsi_stats { > /* errors */ > uint32_t digest_err; > uint32_t timeout_err; > + uint32_t format_err; > + uint32_t session_fails; > + > + /* login/logout stats */ > + uint32_t login_accept_rsps; > + uint32_t login_other_fails; > + uint32_t login_authentication_fails; > + uint32_t login_authorization_fails; > + uint32_t login_negotiation_fails; > + uint32_t login_redirect_rsps; > + uint32_t logout_normal_rsps; > + uint32_t logout_other_rsps; > I do not think we can add new fields here because this is passed between the kernel and userspace. Also, lets either go with the get stats nl type of approach or say we are depreciating that and going with sysfs now and the future. Not a mix based on who is submitting patches. I can see why the get stats approach is nasty, because it is difficult to extend. If we want to go sysfs based approach then we should probably make it more like the other transports where there is a stats dir and a reset admin file. Lee and Chris should probably decide how to proceed. -- 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 open-iscsi+unsubscribe-/JYPxA39Uh5TLH3MbocFF+G/Ez6ZCGd0@public.gmane.org To post to this group, send email to open-iscsi-/JYPxA39Uh5TLH3MbocFF+G/Ez6ZCGd0@public.gmane.org Visit this group at https://groups.google.com/group/open-iscsi. For more options, visit https://groups.google.com/d/optout. ^ permalink raw reply [flat|nested] 6+ messages in thread
[parent not found: <571A6F60.1010400-hcNo3dDEHLuVc3sceRu5cw@public.gmane.org>]
* Re: [PATCH 1/3] scsi_transport_iscsi: Add stats support for iscsi host [not found] ` <571A6F60.1010400-hcNo3dDEHLuVc3sceRu5cw@public.gmane.org> @ 2016-04-24 10:49 ` Hannes Reinecke 0 siblings, 0 replies; 6+ messages in thread From: Hannes Reinecke @ 2016-04-24 10:49 UTC (permalink / raw) To: Mike Christie, open-iscsi-/JYPxA39Uh5TLH3MbocFFw, jbottomley-bzQdu9zFT3WakBO8gow8eQ, martin.petersen-QHcLZuEGTsvQT0dZR+AlfA Cc: linux-scsi-u79uwXL29TY76Z2rM5mHXA, shyam.sundar-h88ZbnxC6KDQT0dZR+AlfA, cleech-H+wXaHxf7aLQT0dZR+AlfA, lduncan-IBi9RG/b67k, Adheer Chandravanshi On 04/22/2016 08:37 PM, Mike Christie wrote: > On 04/22/2016 08:39 AM, adheer.chandravanshi-h88ZbnxC6KDQT0dZR+AlfA@public.gmane.org wrote: >> From: Adheer Chandravanshi <adheer.chandravanshi-h88ZbnxC6KDQT0dZR+AlfA@public.gmane.org> >> >> Add stats for iscsi initiator that will be maintained at iscsi host level >> and will be exported as iscsi_host sysfs attributes. >> >> Signed-off-by: Adheer Chandravanshi <adheer.chandravanshi-h88ZbnxC6KDQT0dZR+AlfA@public.gmane.org> >> --- >> drivers/scsi/scsi_transport_iscsi.c | 51 +++++++++++++++++++++++++++++++++++++ >> include/scsi/iscsi_if.h | 24 +++++++++++++++++ >> 2 files changed, 75 insertions(+) >> >> diff --git a/drivers/scsi/scsi_transport_iscsi.c b/drivers/scsi/scsi_transport_iscsi.c >> index 42bca61..076843c 100644 >> --- a/drivers/scsi/scsi_transport_iscsi.c >> +++ b/drivers/scsi/scsi_transport_iscsi.c >> @@ -4253,6 +4253,21 @@ iscsi_host_attr(ipaddress, ISCSI_HOST_PARAM_IPADDRESS); >> iscsi_host_attr(initiatorname, ISCSI_HOST_PARAM_INITIATOR_NAME); >> iscsi_host_attr(port_state, ISCSI_HOST_PARAM_PORT_STATE); >> iscsi_host_attr(port_speed, ISCSI_HOST_PARAM_PORT_SPEED); >> +iscsi_host_attr(login_accept_rsps, ISCSI_HOST_PARAM_LOGIN_ACCEPT_RSPS); >> +iscsi_host_attr(login_other_fails, ISCSI_HOST_PARAM_LOGIN_OTHER_FAILS); >> +iscsi_host_attr(login_authentication_fails, >> + ISCSI_HOST_PARAM_LOGIN_AUTHENTICATION_FAILS); >> +iscsi_host_attr(login_authorization_fails, >> + ISCSI_HOST_PARAM_LOGIN_AUTHORIZATION_FAILS); >> +iscsi_host_attr(login_negotiation_fails, >> + ISCSI_HOST_PARAM_LOGIN_NEGOTIATION_FAILS); >> +iscsi_host_attr(login_redirect_rsps, ISCSI_HOST_PARAM_LOGIN_REDIRECT_RSPS); >> +iscsi_host_attr(logout_normal_rsps, ISCSI_HOST_PARAM_LOGOUT_NORMAL_RSPS); >> +iscsi_host_attr(logout_other_rsps, ISCSI_HOST_PARAM_LOGOUT_OTHER_RSPS); >> +iscsi_host_attr(digest_err, ISCSI_HOST_PARAM_DIGEST_ERR); >> +iscsi_host_attr(timeout_err, ISCSI_HOST_PARAM_TIMEOUT_ERR); >> +iscsi_host_attr(format_err, ISCSI_HOST_PARAM_FORMAT_ERR); >> +iscsi_host_attr(session_fails, ISCSI_HOST_PARAM_SESSION_FAILS); >> >> static struct attribute *iscsi_host_attrs[] = { >> &dev_attr_host_netdev.attr, >> @@ -4261,6 +4276,18 @@ static struct attribute *iscsi_host_attrs[] = { >> &dev_attr_host_initiatorname.attr, >> &dev_attr_host_port_state.attr, >> &dev_attr_host_port_speed.attr, >> + &dev_attr_host_login_accept_rsps.attr, >> + &dev_attr_host_login_other_fails.attr, >> + &dev_attr_host_login_authentication_fails.attr, >> + &dev_attr_host_login_authorization_fails.attr, >> + &dev_attr_host_login_negotiation_fails.attr, >> + &dev_attr_host_login_redirect_rsps.attr, >> + &dev_attr_host_logout_normal_rsps.attr, >> + &dev_attr_host_logout_other_rsps.attr, >> + &dev_attr_host_digest_err.attr, >> + &dev_attr_host_timeout_err.attr, >> + &dev_attr_host_format_err.attr, >> + &dev_attr_host_session_fails.attr, >> NULL, >> }; >> >> @@ -4284,6 +4311,30 @@ static umode_t iscsi_host_attr_is_visible(struct kobject *kobj, >> param = ISCSI_HOST_PARAM_PORT_STATE; >> else if (attr == &dev_attr_host_port_speed.attr) >> param = ISCSI_HOST_PARAM_PORT_SPEED; >> + else if (attr == &dev_attr_host_login_accept_rsps.attr) >> + param = ISCSI_HOST_PARAM_LOGIN_ACCEPT_RSPS; >> + else if (attr == &dev_attr_host_login_other_fails.attr) >> + param = ISCSI_HOST_PARAM_LOGIN_OTHER_FAILS; >> + else if (attr == &dev_attr_host_login_authentication_fails.attr) >> + param = ISCSI_HOST_PARAM_LOGIN_AUTHENTICATION_FAILS; >> + else if (attr == &dev_attr_host_login_authorization_fails.attr) >> + param = ISCSI_HOST_PARAM_LOGIN_AUTHORIZATION_FAILS; >> + else if (attr == &dev_attr_host_login_negotiation_fails.attr) >> + param = ISCSI_HOST_PARAM_LOGIN_NEGOTIATION_FAILS; >> + else if (attr == &dev_attr_host_login_redirect_rsps.attr) >> + param = ISCSI_HOST_PARAM_LOGIN_REDIRECT_RSPS; >> + else if (attr == &dev_attr_host_logout_normal_rsps.attr) >> + param = ISCSI_HOST_PARAM_LOGOUT_NORMAL_RSPS; >> + else if (attr == &dev_attr_host_logout_other_rsps.attr) >> + param = ISCSI_HOST_PARAM_LOGOUT_OTHER_RSPS; >> + else if (attr == &dev_attr_host_digest_err.attr) >> + param = ISCSI_HOST_PARAM_DIGEST_ERR; >> + else if (attr == &dev_attr_host_timeout_err.attr) >> + param = ISCSI_HOST_PARAM_TIMEOUT_ERR; >> + else if (attr == &dev_attr_host_format_err.attr) >> + param = ISCSI_HOST_PARAM_FORMAT_ERR; >> + else if (attr == &dev_attr_host_session_fails.attr) >> + param = ISCSI_HOST_PARAM_SESSION_FAILS; >> else { >> WARN_ONCE(1, "Invalid host attr"); >> return 0; >> diff --git a/include/scsi/iscsi_if.h b/include/scsi/iscsi_if.h >> index d66c070..d6a3909 100644 >> --- a/include/scsi/iscsi_if.h >> +++ b/include/scsi/iscsi_if.h >> @@ -632,6 +632,18 @@ enum iscsi_host_param { >> ISCSI_HOST_PARAM_IPADDRESS, >> ISCSI_HOST_PARAM_PORT_STATE, >> ISCSI_HOST_PARAM_PORT_SPEED, >> + ISCSI_HOST_PARAM_LOGIN_ACCEPT_RSPS, >> + ISCSI_HOST_PARAM_LOGIN_OTHER_FAILS, >> + ISCSI_HOST_PARAM_LOGIN_AUTHENTICATION_FAILS, >> + ISCSI_HOST_PARAM_LOGIN_AUTHORIZATION_FAILS, >> + ISCSI_HOST_PARAM_LOGIN_NEGOTIATION_FAILS, >> + ISCSI_HOST_PARAM_LOGIN_REDIRECT_RSPS, >> + ISCSI_HOST_PARAM_LOGOUT_NORMAL_RSPS, >> + ISCSI_HOST_PARAM_LOGOUT_OTHER_RSPS, >> + ISCSI_HOST_PARAM_DIGEST_ERR, >> + ISCSI_HOST_PARAM_TIMEOUT_ERR, >> + ISCSI_HOST_PARAM_FORMAT_ERR, >> + ISCSI_HOST_PARAM_SESSION_FAILS, >> ISCSI_HOST_PARAM_MAX, >> }; >> >> @@ -819,6 +831,18 @@ struct iscsi_stats { >> /* errors */ >> uint32_t digest_err; >> uint32_t timeout_err; >> + uint32_t format_err; >> + uint32_t session_fails; >> + >> + /* login/logout stats */ >> + uint32_t login_accept_rsps; >> + uint32_t login_other_fails; >> + uint32_t login_authentication_fails; >> + uint32_t login_authorization_fails; >> + uint32_t login_negotiation_fails; >> + uint32_t login_redirect_rsps; >> + uint32_t logout_normal_rsps; >> + uint32_t logout_other_rsps; >> > > I do not think we can add new fields here because this is passed between > the kernel and userspace. > > Also, lets either go with the get stats nl type of approach or say we > are depreciating that and going with sysfs now and the future. Not a mix > based on who is submitting patches. > > I can see why the get stats approach is nasty, because it is difficult > to extend. If we want to go sysfs based approach then we should probably > make it more like the other transports where there is a stats dir and a > reset admin file. > > Lee and Chris should probably decide how to proceed. > Hmm. For these kind of things I wonder whether debugfs isn't the correct way of doing. Thing is, sysfs is complicated enough already, and is considered a _stable_ kernel API. So everytime you add fields there you have to fight it out with upstream. It becomes especially bad when you have to _change_ fields, or even remove them. >From my POV statistics are unstable, as not every device/implementation might be able to deliver the same set. Plus I really would like to reserve the right to change them as needed; this patchset is the best example for it. Hence I would not be using sysfs for it, but rather debugfs or something like that. Cheers, Hannes -- Dr. Hannes Reinecke zSeries & Storage hare-l3A5Bk7waGM@public.gmane.org +49 911 74053 688 SUSE LINUX Products GmbH, Maxfeldstr. 5, 90409 Nürnberg GF: J. Hawn, J. Guild, F. Imendörffer, HRB 16746 (AG Nürnberg) -- 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 open-iscsi+unsubscribe-/JYPxA39Uh5TLH3MbocFF+G/Ez6ZCGd0@public.gmane.org To post to this group, send email to open-iscsi-/JYPxA39Uh5TLH3MbocFF+G/Ez6ZCGd0@public.gmane.org Visit this group at https://groups.google.com/group/open-iscsi. For more options, visit https://groups.google.com/d/optout. ^ permalink raw reply [flat|nested] 6+ messages in thread
* [PATCH 2/3] libiscsi: Add support to update host stats param [not found] ` <1461332373-18491-1-git-send-email-adheer.chandravanshi-h88ZbnxC6KDQT0dZR+AlfA@public.gmane.org> 2016-04-22 13:39 ` [PATCH 1/3] scsi_transport_iscsi: Add stats " adheer.chandravanshi-h88ZbnxC6KDQT0dZR+AlfA @ 2016-04-22 13:39 ` adheer.chandravanshi-h88ZbnxC6KDQT0dZR+AlfA 2016-04-22 13:39 ` [PATCH 3/3] bnx2i: Enable support for " adheer.chandravanshi-h88ZbnxC6KDQT0dZR+AlfA 2 siblings, 0 replies; 6+ messages in thread From: adheer.chandravanshi-h88ZbnxC6KDQT0dZR+AlfA @ 2016-04-22 13:39 UTC (permalink / raw) To: jbottomley-bzQdu9zFT3WakBO8gow8eQ, michaelc-hcNo3dDEHLuVc3sceRu5cw, martin.petersen-QHcLZuEGTsvQT0dZR+AlfA Cc: linux-scsi-u79uwXL29TY76Z2rM5mHXA, shyam.sundar-h88ZbnxC6KDQT0dZR+AlfA, cleech-H+wXaHxf7aLQT0dZR+AlfA, hare-l3A5Bk7waGM, lduncan-IBi9RG/b67k, open-iscsi-/JYPxA39Uh5TLH3MbocFFw, Adheer Chandravanshi From: Adheer Chandravanshi <adheer.chandravanshi-h88ZbnxC6KDQT0dZR+AlfA@public.gmane.org> This adds support to update the stats param maintained at host level. The stats are updated based on the status in response pdus. Signed-off-by: Adheer Chandravanshi <adheer.chandravanshi-h88ZbnxC6KDQT0dZR+AlfA@public.gmane.org> --- drivers/scsi/libiscsi.c | 114 +++++++++++++++++++++++++++++++++++++++++++++++- include/scsi/libiscsi.h | 5 +++ 2 files changed, 117 insertions(+), 2 deletions(-) diff --git a/drivers/scsi/libiscsi.c b/drivers/scsi/libiscsi.c index c051694..d2481b6 100644 --- a/drivers/scsi/libiscsi.c +++ b/drivers/scsi/libiscsi.c @@ -1034,6 +1034,7 @@ static int iscsi_handle_reject(struct iscsi_conn *conn, struct iscsi_hdr *hdr, struct iscsi_reject *reject = (struct iscsi_reject *)hdr; struct iscsi_hdr rejected_pdu; int opcode, rc = 0; + struct iscsi_host *ihost = shost_priv(conn->session->host); conn->exp_statsn = be32_to_cpu(reject->statsn) + 1; @@ -1050,12 +1051,14 @@ static int iscsi_handle_reject(struct iscsi_conn *conn, struct iscsi_hdr *hdr, switch (reject->reason) { case ISCSI_REASON_DATA_DIGEST_ERROR: + ihost->ihost_stats.digest_err++; iscsi_conn_printk(KERN_ERR, conn, "pdu (op 0x%x itt 0x%x) rejected " "due to DataDigest error.\n", opcode, rejected_pdu.itt); break; case ISCSI_REASON_IMM_CMD_REJECT: + ihost->ihost_stats.format_err++; iscsi_conn_printk(KERN_ERR, conn, "pdu (op 0x%x itt 0x%x) rejected. Too many " "immediate commands.\n", @@ -1102,6 +1105,7 @@ static int iscsi_handle_reject(struct iscsi_conn *conn, struct iscsi_hdr *hdr, } break; default: + ihost->ihost_stats.format_err++; iscsi_conn_printk(KERN_ERR, conn, "pdu (op 0x%x itt 0x%x) rejected. Reason " "code 0x%x\n", rejected_pdu.opcode, @@ -1241,6 +1245,8 @@ int __iscsi_complete_pdu(struct iscsi_conn *conn, struct iscsi_hdr *hdr, iscsi_data_in_rsp(conn, hdr, task); break; case ISCSI_OP_LOGOUT_RSP: + iscsi_update_logout_stats(session->host, + (struct iscsi_logout_rsp *)hdr); iscsi_update_cmdsn(session, (struct iscsi_nopin*)hdr); if (datalen) { rc = ISCSI_ERR_PROTO; @@ -1249,6 +1255,9 @@ int __iscsi_complete_pdu(struct iscsi_conn *conn, struct iscsi_hdr *hdr, conn->exp_statsn = be32_to_cpu(hdr->statsn) + 1; goto recv_pdu; case ISCSI_OP_LOGIN_RSP: + iscsi_update_login_stats(session->host, + (struct iscsi_login_rsp *)hdr); + case ISCSI_OP_TEXT_RSP: iscsi_update_cmdsn(session, (struct iscsi_nopin*)hdr); /* @@ -1372,6 +1381,7 @@ void iscsi_session_failure(struct iscsi_session *session, { struct iscsi_conn *conn; struct device *dev; + struct iscsi_host *ihost; spin_lock_bh(&session->frwd_lock); conn = session->leadconn; @@ -1389,10 +1399,13 @@ void iscsi_session_failure(struct iscsi_session *session, * recovery initialization because we are going to kill * the session. */ - if (err == ISCSI_ERR_INVALID_HOST) + if (err == ISCSI_ERR_INVALID_HOST) { iscsi_conn_error_event(conn->cls_conn, err); - else + } else { + ihost = shost_priv(session->host); + ihost->ihost_stats.session_fails++; iscsi_conn_failure(conn, err); + } put_device(dev); } EXPORT_SYMBOL_GPL(iscsi_session_failure); @@ -2069,6 +2082,7 @@ static void iscsi_check_transport_timeouts(unsigned long data) struct iscsi_conn *conn = (struct iscsi_conn *)data; struct iscsi_session *session = conn->session; unsigned long recv_timeout, next_timeout = 0, last_recv; + struct iscsi_host *ihost; spin_lock(&session->frwd_lock); if (session->state != ISCSI_STATE_LOGGED_IN) @@ -2088,6 +2102,8 @@ static void iscsi_check_transport_timeouts(unsigned long data) conn->ping_timeout, conn->recv_timeout, last_recv, conn->last_ping, jiffies); spin_unlock(&session->frwd_lock); + ihost = shost_priv(session->host); + ihost->ihost_stats.timeout_err++; iscsi_conn_failure(conn, ISCSI_ERR_NOP_TIMEDOUT); return; } @@ -3594,6 +3610,50 @@ int iscsi_host_get_param(struct Scsi_Host *shost, enum iscsi_host_param param, case ISCSI_HOST_PARAM_INITIATOR_NAME: len = sprintf(buf, "%s\n", ihost->initiatorname); break; + case ISCSI_HOST_PARAM_LOGIN_ACCEPT_RSPS: + len = sprintf(buf, "%u\n", + ihost->ihost_stats.login_accept_rsps); + break; + case ISCSI_HOST_PARAM_LOGIN_OTHER_FAILS: + len = sprintf(buf, "%u\n", + ihost->ihost_stats.login_other_fails); + break; + case ISCSI_HOST_PARAM_LOGIN_AUTHENTICATION_FAILS: + len = sprintf(buf, "%u\n", + ihost->ihost_stats.login_authentication_fails); + break; + case ISCSI_HOST_PARAM_LOGIN_AUTHORIZATION_FAILS: + len = sprintf(buf, "%u\n", + ihost->ihost_stats.login_authorization_fails); + break; + case ISCSI_HOST_PARAM_LOGIN_NEGOTIATION_FAILS: + len = sprintf(buf, "%u\n", + ihost->ihost_stats.login_negotiation_fails); + break; + case ISCSI_HOST_PARAM_LOGIN_REDIRECT_RSPS: + len = sprintf(buf, "%u\n", + ihost->ihost_stats.login_redirect_rsps); + break; + case ISCSI_HOST_PARAM_LOGOUT_NORMAL_RSPS: + len = sprintf(buf, "%u\n", + ihost->ihost_stats.logout_normal_rsps); + break; + case ISCSI_HOST_PARAM_LOGOUT_OTHER_RSPS: + len = sprintf(buf, "%u\n", + ihost->ihost_stats.logout_other_rsps); + break; + case ISCSI_HOST_PARAM_DIGEST_ERR: + len = sprintf(buf, "%u\n", ihost->ihost_stats.digest_err); + break; + case ISCSI_HOST_PARAM_TIMEOUT_ERR: + len = sprintf(buf, "%u\n", ihost->ihost_stats.timeout_err); + break; + case ISCSI_HOST_PARAM_FORMAT_ERR: + len = sprintf(buf, "%u\n", ihost->ihost_stats.format_err); + break; + case ISCSI_HOST_PARAM_SESSION_FAILS: + len = sprintf(buf, "%u\n", ihost->ihost_stats.session_fails); + break; default: return -ENOSYS; } @@ -3622,6 +3682,56 @@ int iscsi_host_set_param(struct Scsi_Host *shost, enum iscsi_host_param param, } EXPORT_SYMBOL_GPL(iscsi_host_set_param); +void iscsi_update_login_stats(struct Scsi_Host *shost, + struct iscsi_login_rsp *rsp_hdr) +{ + struct iscsi_host *ihost = shost_priv(shost); + + switch (rsp_hdr->status_class) { + case ISCSI_STATUS_CLS_SUCCESS: + ihost->ihost_stats.login_accept_rsps++; + break; + case ISCSI_STATUS_CLS_REDIRECT: + ihost->ihost_stats.login_redirect_rsps++; + break; + case ISCSI_STATUS_CLS_INITIATOR_ERR: + switch (rsp_hdr->status_detail) { + case ISCSI_LOGIN_STATUS_INIT_ERR: + ihost->ihost_stats.login_other_fails++; + break; + case ISCSI_LOGIN_STATUS_AUTH_FAILED: + ihost->ihost_stats.login_authentication_fails++; + break; + case ISCSI_LOGIN_STATUS_TGT_FORBIDDEN: + ihost->ihost_stats.login_authorization_fails++; + break; + default: + /* All other class2 errors are login negotiation + * failures + */ + ihost->ihost_stats.login_negotiation_fails++; + break; + } + break; + default: + ihost->ihost_stats.login_other_fails++; + break; + } +} +EXPORT_SYMBOL_GPL(iscsi_update_login_stats); + +void iscsi_update_logout_stats(struct Scsi_Host *shost, + struct iscsi_logout_rsp *rsp_hdr) +{ + struct iscsi_host *ihost = shost_priv(shost); + + if (rsp_hdr->response) + ihost->ihost_stats.logout_other_rsps++; + else + ihost->ihost_stats.logout_normal_rsps++; +} +EXPORT_SYMBOL_GPL(iscsi_update_logout_stats); + MODULE_AUTHOR("Mike Christie"); MODULE_DESCRIPTION("iSCSI library functions"); MODULE_LICENSE("GPL"); diff --git a/include/scsi/libiscsi.h b/include/scsi/libiscsi.h index 4d1c46a..be78e71 100644 --- a/include/scsi/libiscsi.h +++ b/include/scsi/libiscsi.h @@ -373,6 +373,7 @@ struct iscsi_host { struct workqueue_struct *workq; char workq_name[20]; + struct iscsi_stats ihost_stats; }; /* @@ -466,6 +467,10 @@ extern void __iscsi_put_task(struct iscsi_task *task); extern void __iscsi_get_task(struct iscsi_task *task); extern void iscsi_complete_scsi_task(struct iscsi_task *task, uint32_t exp_cmdsn, uint32_t max_cmdsn); +extern void iscsi_update_login_stats(struct Scsi_Host *shost, + struct iscsi_login_rsp *rsp_hdr); +extern void iscsi_update_logout_stats(struct Scsi_Host *shost, + struct iscsi_logout_rsp *rsp_hdr); /* * generic helpers -- 1.8.3.1 -- 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 open-iscsi+unsubscribe-/JYPxA39Uh5TLH3MbocFF+G/Ez6ZCGd0@public.gmane.org To post to this group, send email to open-iscsi-/JYPxA39Uh5TLH3MbocFF+G/Ez6ZCGd0@public.gmane.org Visit this group at https://groups.google.com/group/open-iscsi. For more options, visit https://groups.google.com/d/optout. ^ permalink raw reply related [flat|nested] 6+ messages in thread
* [PATCH 3/3] bnx2i: Enable support for host stats param [not found] ` <1461332373-18491-1-git-send-email-adheer.chandravanshi-h88ZbnxC6KDQT0dZR+AlfA@public.gmane.org> 2016-04-22 13:39 ` [PATCH 1/3] scsi_transport_iscsi: Add stats " adheer.chandravanshi-h88ZbnxC6KDQT0dZR+AlfA 2016-04-22 13:39 ` [PATCH 2/3] libiscsi: Add support to update host stats param adheer.chandravanshi-h88ZbnxC6KDQT0dZR+AlfA @ 2016-04-22 13:39 ` adheer.chandravanshi-h88ZbnxC6KDQT0dZR+AlfA 2 siblings, 0 replies; 6+ messages in thread From: adheer.chandravanshi-h88ZbnxC6KDQT0dZR+AlfA @ 2016-04-22 13:39 UTC (permalink / raw) To: jbottomley-bzQdu9zFT3WakBO8gow8eQ, michaelc-hcNo3dDEHLuVc3sceRu5cw, martin.petersen-QHcLZuEGTsvQT0dZR+AlfA Cc: linux-scsi-u79uwXL29TY76Z2rM5mHXA, shyam.sundar-h88ZbnxC6KDQT0dZR+AlfA, cleech-H+wXaHxf7aLQT0dZR+AlfA, hare-l3A5Bk7waGM, lduncan-IBi9RG/b67k, open-iscsi-/JYPxA39Uh5TLH3MbocFFw, Adheer Chandravanshi From: Adheer Chandravanshi <adheer.chandravanshi-h88ZbnxC6KDQT0dZR+AlfA@public.gmane.org> This enables the support for host stats param. Signed-off-by: Adheer Chandravanshi <adheer.chandravanshi-h88ZbnxC6KDQT0dZR+AlfA@public.gmane.org> --- drivers/scsi/bnx2i/bnx2i_iscsi.c | 12 ++++++++++++ 1 file changed, 12 insertions(+) diff --git a/drivers/scsi/bnx2i/bnx2i_iscsi.c b/drivers/scsi/bnx2i/bnx2i_iscsi.c index 7289437..8b44c9a 100644 --- a/drivers/scsi/bnx2i/bnx2i_iscsi.c +++ b/drivers/scsi/bnx2i/bnx2i_iscsi.c @@ -2201,6 +2201,18 @@ static umode_t bnx2i_attr_is_visible(int param_type, int param) case ISCSI_HOST_PARAM_NETDEV_NAME: case ISCSI_HOST_PARAM_HWADDRESS: case ISCSI_HOST_PARAM_IPADDRESS: + case ISCSI_HOST_PARAM_LOGIN_ACCEPT_RSPS: + case ISCSI_HOST_PARAM_LOGIN_OTHER_FAILS: + case ISCSI_HOST_PARAM_LOGIN_AUTHENTICATION_FAILS: + case ISCSI_HOST_PARAM_LOGIN_AUTHORIZATION_FAILS: + case ISCSI_HOST_PARAM_LOGIN_NEGOTIATION_FAILS: + case ISCSI_HOST_PARAM_LOGIN_REDIRECT_RSPS: + case ISCSI_HOST_PARAM_LOGOUT_NORMAL_RSPS: + case ISCSI_HOST_PARAM_LOGOUT_OTHER_RSPS: + case ISCSI_HOST_PARAM_DIGEST_ERR: + case ISCSI_HOST_PARAM_TIMEOUT_ERR: + case ISCSI_HOST_PARAM_FORMAT_ERR: + case ISCSI_HOST_PARAM_SESSION_FAILS: return S_IRUGO; default: return 0; -- 1.8.3.1 -- 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 open-iscsi+unsubscribe-/JYPxA39Uh5TLH3MbocFF+G/Ez6ZCGd0@public.gmane.org To post to this group, send email to open-iscsi-/JYPxA39Uh5TLH3MbocFF+G/Ez6ZCGd0@public.gmane.org Visit this group at https://groups.google.com/group/open-iscsi. For more options, visit https://groups.google.com/d/optout. ^ permalink raw reply related [flat|nested] 6+ messages in thread
end of thread, other threads:[~2016-04-24 10:49 UTC | newest]
Thread overview: 6+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2016-04-22 13:39 [PATCH 0/3] iscsi: Add statistics support for iscsi host adheer.chandravanshi-h88ZbnxC6KDQT0dZR+AlfA
[not found] ` <1461332373-18491-1-git-send-email-adheer.chandravanshi-h88ZbnxC6KDQT0dZR+AlfA@public.gmane.org>
2016-04-22 13:39 ` [PATCH 1/3] scsi_transport_iscsi: Add stats " adheer.chandravanshi-h88ZbnxC6KDQT0dZR+AlfA
[not found] ` <1461332373-18491-2-git-send-email-adheer.chandravanshi-h88ZbnxC6KDQT0dZR+AlfA@public.gmane.org>
2016-04-22 18:37 ` Mike Christie
[not found] ` <571A6F60.1010400-hcNo3dDEHLuVc3sceRu5cw@public.gmane.org>
2016-04-24 10:49 ` Hannes Reinecke
2016-04-22 13:39 ` [PATCH 2/3] libiscsi: Add support to update host stats param adheer.chandravanshi-h88ZbnxC6KDQT0dZR+AlfA
2016-04-22 13:39 ` [PATCH 3/3] bnx2i: Enable support for " adheer.chandravanshi-h88ZbnxC6KDQT0dZR+AlfA
This is a public inbox, see mirroring instructions for how to clone and mirror all data and code used for this inbox