[ofa-general] Issues with osm_sm_state_mgr_check_legality()

Vincent Ficet jean-vincent.ficet at bull.net
Fri Jul 4 00:34:31 PDT 2008


Hi Sasha,

Sasha Khapyorsky wrote:
> Hi Vincent,
>
> On 10:41 Thu 03 Jul     , Vincent Ficet wrote:
>   
>> Hello,
>>
>> In opensm/opensm/osm_sm_state_mgr.c:osm_sm_state_mgr_check_legality(), I 
>> noticed that the only valid signals that the SM can get while in the 
>> IB_SMINFO_STATE MASTER are:
>> - OSM_SM_SIGNAL_HANDOVER
>> - OSM_SM_SIGNAL_HANDOVER_SENT
>>
>> However, in opensm/opensm/osm_sm_state_mgr.c:osm_sm_state_mgr_process(), we 
>> see that the following signals can be received in the master state:
>> - OSM_SM_SIGNAL_POLLING_TIMEOUT
>> - OSM_SM_SIGNAL_HANDOVER
>> - OSM_SM_SIGNAL_HANDOVER_SENT
>> - OSM_SM_SIGNAL_WAIT_FOR_HANDOVER
>> - OSM_SM_SIGNAL_DISCOVER
>>
>> Is this a bug, or am I missing anything here ?
>>     
>
> I don't see an immediate bug here. osm_sm_state_mgr_check_legality() is
> used only during SMInfo request processing so it covers only this flow
> path and osm_sm_state_mgr_process() is called in different places.
>
>   
OK, I see, Thanks for the tip.

I have another question: I compiled opensm and ran it from a different 
prefix.
Because I'm not root, I wanted opensm to log onto a path that was not 
/var/cache. At first, I forgot to set the OSM_CACHE_DIR environment 
variable and got the following error:

Error from osm_opensm_init: IB_INSUFFICIENT_RESOURCES.

Looking at strace, I quickly found what was wrong:

lstat("/var/cache/opensm/", 0x7ffff7cbf970) = -1 ENOENT (No such file or 
directory)
mkdir("/var/cache/opensm/", 0755) = -1 EACCES (Permission denied)

Shouldn't opensm log something more accurate w.r.t this issue ? Strictly 
speaking, it's not really an IB_INSUFFICIENT_RESOURCES issue.

Cheers,

Vincent



More information about the general mailing list