Ack.

Thanks
-Nagu

> -----Original Message-----
> From: Praveen Malviya
> Sent: 15 April 2014 16:19
> To: hans.fe...@ericsson.com; Nagendra Kumar
> Cc: opensaf-devel@lists.sourceforge.net
> Subject: [PATCH 1 of 1] amfd: assign only one csi per component for NPI SU
> [#856]
> 
>  osaf/services/saf/amf/amfd/sgproc.cc |  6 +++++-
>  1 files changed, 5 insertions(+), 1 deletions(-)
> 
> 
> Problem: Unlock of NPI SU hangs, if more than one CSIs are configured
> for one component.
> 
> Reason: AMFD created compcsi object for all the CSIs which can go to
> the single component. When AMFND gets the assignment message from AMFD,
> it assigns one CSI to the component. Since other CSIs remain unassigned,
> AMFND never responds to AMFD. This is the reason of hanging of unlock
> operation.
> 
> Fix: While creating comp-csi objects, AMFD should not assign more than
> one CSis to a single component for NPI SU.
> 
> diff --git a/osaf/services/saf/amf/amfd/sgproc.cc
> b/osaf/services/saf/amf/amfd/sgproc.cc
> --- a/osaf/services/saf/amf/amfd/sgproc.cc
> +++ b/osaf/services/saf/amf/amfd/sgproc.cc
> @@ -129,6 +129,10 @@ uint32_t avd_new_assgn_susi(AVD_CL_CB *c
>               l_csi = l_csi->si_list_of_csi_next;
>       } /* while(l_csi != AVD_CSI_NULL) */
> 
> +     /* For NPI SU each component will get only one CSI and that is already
> assigned above.*/
> +     if (su->saAmfSUPreInstantiable == false)
> +             goto npisu_done;
> +
>       /* After previous while loop(while (l_csi != NULL)) all the deserving
> components got assigned at least one. Some
>          components and csis may be left out. We need to ignore now all
> unassigned comps as they cann't be assigned
>          any csi. Unassigned csis may include those csi, which cann't be
> assigned to any comp and those csi, which
> @@ -176,7 +180,7 @@ uint32_t avd_new_assgn_susi(AVD_CL_CB *c
>               }/* if (false == l_csi->assign_flag)*/
>               l_csi = l_csi->si_list_of_csi_next;
>       }/* while (l_csi != NULL) */
> -
> +npisu_done:
>       /* Log the unassigned csi.*/
>       l_csi = si->list_of_csi;
>       while ((l_csi != NULL) && (false == l_csi->assign_flag)) {

------------------------------------------------------------------------------
Learn Graph Databases - Download FREE O'Reilly Book
"Graph Databases" is the definitive new guide to graph databases and their
applications. Written by three acclaimed leaders in the field,
this first edition is now available. Download your free book today!
http://p.sf.net/sfu/NeoTech
_______________________________________________
Opensaf-devel mailing list
Opensaf-devel@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/opensaf-devel

Reply via email to