Yes the 'else' is missing. Good catch, I will get it fixed. However this
is not going to cause any issues as this missing else (and all the
following elses) is simply to say dont bother checking any further if
ICMD is being aborted. The subsequent check are also going to either set
'dq' (which is already set in this case) or do nothing.
Sumit
Cyril Plisko wrote:
> Hello !
>
> I was recently checking something in COMSTAR sources, and trip over
> this part of code -
>
> usr/src/uts/common/io/comstar/port/fct/discovery.c
>
> 1983 if ((*ppcmd)->icmd_flags & ICMD_BEING_ABORTED) {
> 1984 dq = 1;
> 1985 } if (irp->irp_sa_elses_count > 1) {
> 1986 dq = 1;
> 1987 /* This els might have set the CLEANUP flag */
> 1988 atomic_and_32(&irp->irp_flags, ~IRP_SESSION_CLEANUP);
> 1989 stmf_trace(iport->iport_alias, "Killing ELS %x cond 1",
> 1990 els->els_req_payload[0]);
> 1991 } else if (irp->irp_sa_elses_count &&
> 1992 (((*ppcmd)->icmd_flags &
> ICMD_SESSION_AFFECTING) == 0)) {
> 1993 stmf_trace(iport->iport_alias, "Killing ELS %x cond 2",
> 1994 els->els_req_payload[0]);
> 1995 dq = 1;
> 1996 } else if (((irp->irp_flags & IRP_PLOGI_DONE) == 0) &&
> 1997 (els->els_req_payload[0] != ELS_OP_PLOGI) &&
> 1998 (els->els_req_payload[0] != ELS_OP_LOGO) &&
> 1999 (special_prli_cond == 0)) {
> 2000 stmf_trace(iport->iport_alias, "Killing ELS %x cond 3",
> 2001 els->els_req_payload[0]);
> 2002 dq = 1;
> 2003 }
> 2004
>
>
> Check line 1985. It looks to me like something is missing there.
> There, between "}" and "if", should be either newline or "else".
> Am I right, or just didn't understand something ?
>
>
> --
> Regards,
> Cyril
> _______________________________________________
> storage-discuss mailing list
> [email protected]
> http://mail.opensolaris.org/mailman/listinfo/storage-discuss
>
_______________________________________________
storage-discuss mailing list
[email protected]
http://mail.opensolaris.org/mailman/listinfo/storage-discuss