Update of /cvsroot/linuxisns/isnsNT/isnsserver/src
In directory sc8-pr-cvs6.sourceforge.net:/tmp/cvs-serv6372/src
Modified Files:
iSNSList.c iSNSquery.c
Log Message:
correct DD_DDS_LIST database read/write
Index: iSNSquery.c
===================================================================
RCS file: /cvsroot/linuxisns/isnsNT/isnsserver/src/iSNSquery.c,v
retrieving revision 1.18
retrieving revision 1.19
diff -C2 -d -r1.18 -r1.19
*** iSNSquery.c 4 Jan 2007 19:00:07 -0000 1.18
--- iSNSquery.c 16 Jan 2007 20:21:50 -0000 1.19
***************
*** 2563,2575 ****
NULL, p_dds->status);
break;
! case ISNS_DD_ID:
pnode=NULL;
while ((pnode=GetNextNode(&p_dds->dd_list, pnode)))
{
! ISNSAppendAttr (p_msg, ISNS_DD_ID, ISNS_DD_ID_SIZE, NULL,
! *(uint32_t *)GetNodeData(pnode));
}
break;
! default:
break;
}
--- 2563,2594 ----
NULL, p_dds->status);
break;
! case ISNS_DD_SYM_NAME:
! pnode=NULL;
! while ((pnode=GetNextNode(&p_dds->dd_list, pnode)))
! {
! SOIP_Dd *p_dd;
! ISNS_DBKey read_key;
! SOIP_DB_Entry lentry;
! int rval;
!
! read_key.tag = DD_ID_KEY;
! read_key.val.dd_key.id = *(uint32_t *)GetNodeData(pnode);
! rval = ISNSdbRead(&read_key,&lentry);
! if (rval == SUCCESS)
! {
! p_dd = (SOIP_Dd *)&lentry.data;
! ISNSAppendAttr (p_msg, ISNS_DD_SYM_NAME,
! PAD4 (strlen (p_dd->sym_name)), p_dd->sym_name, 0);
! }
! }
! break;
! case ISNS_DD_ID:
pnode=NULL;
while ((pnode=GetNextNode(&p_dds->dd_list, pnode)))
{
! ISNSAppendAttr (p_msg, ISNS_DD_ID, ISNS_DD_ID_SIZE, NULL, *(uint32_t *)GetNodeData(pnode));
}
break;
! default:
break;
}
***************
*** 2587,2590 ****
--- 2606,2610 ----
ISNS_LIST_NODE *pnode;
SOIP_Dd_Member *p_member;
+ SOIP_DB_Entry lentry;
for (ii = 0; (ii < SNS_MAX_ATTRS) && (attr_indx[ii]); ii++)
***************
*** 2612,2615 ****
--- 2632,2652 ----
}
break;
+ case ISNS_DDS_SYM_NAME:
+ pnode=NULL;
+ while ((pnode=GetNextNode(&p_dd->dds_list, pnode)))
+ {
+ int rval;
+ SOIP_Dds *p_dds;
+ ISNS_DBKey key;
+ key.tag = DDS_ID_KEY;
+ key.val.dds_key.id = *(uint32_t *)GetNodeData(pnode);
+ rval = ISNSdbRead(&key,&lentry);
+ if (rval == SUCCESS)
+ {
+ p_dds = (SOIP_Dds *)&lentry.data;
+ ISNSAppendAttr (p_msg, ISNS_DDS_SYM_NAME, PAD4(strlen(p_dds->sym_name)),p_dds->sym_name,0);
+ }
+ }
+ break;
case ISNS_DD_ISCSI_MEMBER:
pnode=NULL;
***************
*** 2645,2651 ****
}
break;
- case ISNS_DD_ACTIVE:
- ISNSAppendAttr (p_msg, ISNS_DD_ACTIVE, ISNS_DD_ACTIVE_SIZE, NULL, p_dd->activeFlag);
- break;
default:
break;
--- 2682,2685 ----
Index: iSNSList.c
===================================================================
RCS file: /cvsroot/linuxisns/isnsNT/isnsserver/src/iSNSList.c,v
retrieving revision 1.11
retrieving revision 1.12
diff -C2 -d -r1.11 -r1.12
*** iSNSList.c 21 Dec 2006 00:50:51 -0000 1.11
--- iSNSList.c 16 Jan 2007 20:21:50 -0000 1.12
***************
*** 257,260 ****
--- 257,265 ----
key.val.list.key.dds.id = p_dds->id;
}
+ else if (plist->list_id == DD_DDS_LIST)
+ {
+ p_dd = plist->p_entry;
+ key.val.list.key.dd.id = p_dd->id;
+ }
else if (plist->list_id == DD_MEMBER_LIST)
{
***************
*** 422,425 ****
--- 427,436 ----
memcpy(&entry.data.list.key.dd,pdata,data_size);
}
+ else if (plist->list_id == DD_DDS_LIST)
+ {
+ p_dd = plist->p_entry;
+ key.val.list.key.dd.id = p_dd->id;
+ memcpy(&entry.data.list.key.dds,pdata,data_size);
+ }
else if (plist->list_id == DD_MEMBER_LIST)
{
|