On Tue, 2009-12-08 at 12:30 -0800, Joe Eykholt wrote:
> > @@ -967,6 +969,9 @@ static void fc_lport_enter_reset(struct fc_lport
> *lport)
> > FC_LPORT_DBG(lport, "Entered RESET state from %s state\n",
> > fc_lport_state(lport));
> >
> > + if (lport->state == LPORT_ST_DISABLED || lport->state ==
> LPORT_ST_LOGO)
> > + return;
> > +
> > if (lport->vport) {
> > if (lport->link_up)
> > fc_vport_set_state(lport->vport,
> FC_VPORT_INITIALIZING);
> >
>
> This looks good.
>
> I'm unsure of the treatment of LOGO state, and haven't
> completely investigated that. It seems like if LOGO is not accepted,
> we go back to reset state, and could re-login. Maybe my goof.
> It seems like fc_lport_error() should go to DISABLED from LOGO state
> if all retries are exhausted.
>
In this case the lport will remain in LOGO state due to added checks for
LOGO and DISABLED state to skip fc_lport_enter_reset processing for
these states. I verified that disabled lport doesn't re-login and
otherwise lport does re-login on reset with these added checks.
I tested lport resets with and w/o disabled state for link flap and
reset issued from /sys/class/fc_host/hostX/issue_lip.
Thanks Joe for reviewing this patch.
Vasu
_______________________________________________
devel mailing list
[email protected]
http://www.open-fcoe.org/mailman/listinfo/devel