---

** [tickets:#1271] leap : align attr of leap ncs_os_posix_shm()   to uint64_t**

**Status:** unassigned
**Milestone:** 4.7-Tentative
**Created:** Thu Mar 19, 2015 03:53 AM UTC by A V Mahesh (AVM)
**Last Updated:** Thu Mar 19, 2015 03:53 AM UTC
**Owner:** Ramesh

Hi Khai,

Agreed to your findings.

As the "maxSectionSize" defined in CKPT is of "SaUint64T" type and the "offset" 
which is been derived from "+maxSectionSize" should also align to "uint64_t" 
type. 

So please raise a TR for this, will provide the fix.

Best Regards,
Ramesh.


On 3/4/2015 12:26 PM, A V Mahesh wrote:
> Hi Ramesh,
>
> It looks like limitation  in  Leap ncs_os_posix_shm() function  while 
> writing/Reading   (cpsv is using leap library for shared memory functionality 
> )
> Including Ramesh for further analysis.
>
> Please also update Khai, regarding  leap timers re-usability  related data 
> also.
>
> -AVM
>
> On 3/3/2015 4:13 PM, Khai Doan wrote:
>>
>> Here is memory allocation for the checkpoint:
>>
>>  
>>
>> CKPT_HEADER + MAXSECTION*(SECTIONSIZE + SECTIONHEADER)
>>
>>  
>>
>> |---------------|------------ |-------------- 
>> |------------|-------------|--- -------|-------------|-------------|
>>
>> | CKPT_HDR  | SEC_HDR  | SEC_INFO   |SEC_HDR | SEC_INFO |.............|  
>> SEC_HDR |SEC_INFO |
>>
>> |---------------|------------ |-------------- 
>> |------------|-------------|--- -------|-------------|-------------|
>>
>>  
>>
>> The checkpoint section is read base on checkpoint pointer. For example: we 
>> need to read data from checkpoint section 5000.
>>
>>  
>>
>> Then it will get checkpoint + checkpoint section offset. The checkpoint 
>> section offset in this case is 4999*(SECTIONSIZE + SECTIONHEADER). If the 
>> section size is 2MB, is it overflow?
>>
>>  
>>
>> i_offset datatype is int32_t.
>>
>>  
>>
>>                       while (counter < ckpt_hdr.n_secs) {
>>
>>                                             memset(&read_req, '\0', 
>> sizeof(NCS_OS_POSIX_SHM_REQ_INFO));
>>
>>                                             memset(&sect_hdr, '\0', 
>> sizeof(CPSV_SECT_HDR));
>>
>>                                             read_req.type = 
>> NCS_OS_POSIX_SHM_REQ_READ;
>>
>>                                             read_req.info.read.i_addr = 
>> (void *)((char *)open_req->info.open.o_addr + sizeof(CPSV_CKPT_HDR));
>>
>>                                             read_req.info.read.i_read_size = 
>> sizeof(CPSV_SECT_HDR);
>>
>>                                             read_req.info.read.i_offset =
>>
>>                                                 counter * 
>> (sizeof(CPSV_SECT_HDR) + (*cp_node)->create_attrib.maxSectionSize);
>>
>>                                             read_req.info.read.i_to_buff = 
>> (CPSV_SECT_HDR *)&sect_hdr;
>>
>>                                             rc = ncs_os_posix_shm(&read_req);
>>
>>                                             if (rc != NCSCC_RC_SUCCESS) {
>>
>>                                                                  
>> LOG_ER("cpnd sect HDR read failed");
>>
>>                                                                  /*   
>> assert(0); */
>>
>>                                                                  return rc;
>>
>>                                             }
>>
>> …
>>
>> }
>>
>>  
>>
>> Regards,
>>
>> Khai


---

Sent from sourceforge.net because [email protected] is 
subscribed to https://sourceforge.net/p/opensaf/tickets/

To unsubscribe from further messages, a project admin can change settings at 
https://sourceforge.net/p/opensaf/admin/tickets/options.  Or, if this is a 
mailing list, you can unsubscribe from the mailing list.
------------------------------------------------------------------------------
Dive into the World of Parallel Programming The Go Parallel Website, sponsored
by Intel and developed in partnership with Slashdot Media, is your hub for all
things parallel software development, from weekly thought leadership blogs to
news, videos, case studies, tutorials and more. Take a look and join the 
conversation now. http://goparallel.sourceforge.net/
_______________________________________________
Opensaf-tickets mailing list
[email protected]
https://lists.sourceforge.net/lists/listinfo/opensaf-tickets

Reply via email to