From: Robert W. <wrw...@us...> - 2007-08-23 02:50:24
|
Update of /cvsroot/linuxisns/isnsNT/isnsclient/src In directory sc8-pr-cvs6.sourceforge.net:/tmp/cvs-serv5003/isnsclient/src Modified Files: comm.c entity.c iscsi.c isns.c payloads.c Log Message: fixed tcp memory leak and Attr Query requests Index: payloads.c =================================================================== RCS file: /cvsroot/linuxisns/isnsNT/isnsclient/src/payloads.c,v retrieving revision 1.5 retrieving revision 1.6 diff -C2 -d -r1.5 -r1.6 *** payloads.c 13 Aug 2007 22:56:44 -0000 1.5 --- payloads.c 23 Aug 2007 02:50:20 -0000 1.6 *************** *** 67,70 **** --- 67,71 ---- else { + ISNSAppendAttr (&cmd, ISNS_DDS_ID, 0, NULL, 0); ISNSAppendAttr (&cmd, 0, 0, NULL, 0); ISNSAppendAttr (&cmd, ISNS_DDS_ID, 0, NULL, 0); *************** *** 102,105 **** --- 103,107 ---- else { + ISNSAppendAttr (&cmd, ISNS_DD_ID, 0, NULL, 0); ISNSAppendAttr (&cmd, 0, 0, NULL, 0); ISNSAppendAttr (&cmd, ISNS_DD_ID, 0, NULL, 0); *************** *** 414,421 **** char buffer[MAX_PAYLOAD_SIZE]={0}; if (strlen(id) ) { - ISNSCreateHdr (ISNS_DEV_ATTR_QRY_REQ, &cmd, sizeof (cmd), 0); - ISNSAppendAttr (&cmd, ISNS_ISCSI_NODE_ID, PAD4 (strlen (CONTROL_NODE)),CONTROL_NODE, 0); ISNSAppendAttr (&cmd, ISNS_ISCSI_IDX, ISNS_INDEX_SIZE, NULL, atoi(id)); --- 416,424 ---- char buffer[MAX_PAYLOAD_SIZE]={0}; + ISNSCreateHdr (ISNS_DEV_ATTR_QRY_REQ, &cmd, sizeof (cmd), 0); + ISNSAppendAttr (&cmd, ISNS_ISCSI_NODE_ID, PAD4 (strlen (CONTROL_NODE)),CONTROL_NODE, 0); + if (strlen(id) ) { ISNSAppendAttr (&cmd, ISNS_ISCSI_IDX, ISNS_INDEX_SIZE, NULL, atoi(id)); *************** *** 426,431 **** else { ! ISNSCreateHdr (ISNS_DEV_ATTR_QRY_REQ, &cmd, sizeof (cmd), 0); ! ISNSAppendAttr (&cmd, ISNS_ISCSI_NODE_ID, PAD4 (strlen (CONTROL_NODE)),CONTROL_NODE, 0); ISNSAppendAttr (&cmd, 0, 0, NULL, 0); --- 429,433 ---- else { ! ISNSAppendAttr (&cmd, ISNS_ISCSI_NODE_ID, 0, NULL, 0); ISNSAppendAttr (&cmd, 0, 0, NULL, 0); *************** *** 450,454 **** ISNSCreateHdr (ISNS_DEV_ATTR_QRY_REQ, &cmd, sizeof (cmd), 0); ISNSAppendAttr (&cmd, ISNS_ISCSI_NODE_ID, PAD4 (strlen (CONTROL_NODE)),CONTROL_NODE, 0); ! ISNSAppendAttr (&cmd, 0, 0, NULL, 0); ISNSAppendAttr (&cmd, ISNS_ENTITY_ID, 0, NULL, 0); --- 452,456 ---- ISNSCreateHdr (ISNS_DEV_ATTR_QRY_REQ, &cmd, sizeof (cmd), 0); ISNSAppendAttr (&cmd, ISNS_ISCSI_NODE_ID, PAD4 (strlen (CONTROL_NODE)),CONTROL_NODE, 0); ! ISNSAppendAttr (&cmd, ISNS_ENTITY_ID, 0, NULL, 0); ISNSAppendAttr (&cmd, 0, 0, NULL, 0); ISNSAppendAttr (&cmd, ISNS_ENTITY_ID, 0, NULL, 0); *************** *** 470,473 **** --- 472,476 ---- ISNSCreateHdr (ISNS_DEV_ATTR_QRY_REQ, &cmd, sizeof (cmd), 0); ISNSAppendAttr (&cmd, ISNS_ISCSI_NODE_ID, PAD4 (strlen (CONTROL_NODE)),CONTROL_NODE, 0); + ISNSAppendAttr (&cmd, ISNS_PORTAL_IP, 0, NULL, 0); ISNSAppendAttr (&cmd, 0, 0, NULL, 0); Index: comm.c =================================================================== RCS file: /cvsroot/linuxisns/isnsNT/isnsclient/src/comm.c,v retrieving revision 1.9 retrieving revision 1.10 diff -C2 -d -r1.9 -r1.10 *** comm.c 14 Aug 2007 03:43:55 -0000 1.9 --- comm.c 23 Aug 2007 02:50:20 -0000 1.10 *************** *** 147,156 **** /* the connection actually occurs. If it can't connect, then a timeout occurs */ fds.fd = fd; ! fds.events = POLLOUT; for (;;) { fds.revents = 0; ! rc = poll(&fds, 1, timeout * 1000); if (rc < 0) { if (!(errno == EINTR || errno == EAGAIN)) break; --- 147,157 ---- /* the connection actually occurs. If it can't connect, then a timeout occurs */ fds.fd = fd; ! fds.events = 0XFFFF; //POLLOUT; for (;;) { fds.revents = 0; ! rc = poll(&fds, 1, timeout * 5000); if (rc < 0) { + printf("errno is:%i %s\n",errno,strerror(errno)); if (!(errno == EINTR || errno == EAGAIN)) break; *************** *** 162,168 **** } else ! /* success we have a connection */ ! if (fds.revents & POLLOUT) ! break; } } --- 163,173 ---- } else ! if (fds.revents & POLLERR) ! { ! printf ("TCP error on connection\n"); ! exit(-1); ! } ! printf("We have a connection:0x%x\n",fds.revents); ! break; } } *************** *** 171,174 **** --- 176,181 ---- fcntl (fd, F_SETFL, flags ); + // printf("Spawn TCPReceiveMain\n"); + /* Spawn TCP Recv Thread*/ { *************** *** 276,280 **** { /* Loops until we receive a msg */ ! Sleep (1); } --- 283,287 ---- { /* Loops until we receive a msg */ ! usleep(100); } Index: entity.c =================================================================== RCS file: /cvsroot/linuxisns/isnsNT/isnsclient/src/entity.c,v retrieving revision 1.9 retrieving revision 1.10 diff -C2 -d -r1.9 -r1.10 *** entity.c 14 Aug 2007 03:43:55 -0000 1.9 --- entity.c 23 Aug 2007 02:50:20 -0000 1.10 *************** *** 193,196 **** --- 193,199 ---- cmdLine, 0); } + else + ISNSAppendAttr (&cmd, ISNS_ENTITY_ID, 0, NULL, 0); + } } Index: isns.c =================================================================== RCS file: /cvsroot/linuxisns/isnsNT/isnsclient/src/isns.c,v retrieving revision 1.11 retrieving revision 1.12 diff -C2 -d -r1.11 -r1.12 *** isns.c 14 Aug 2007 03:43:55 -0000 1.11 --- isns.c 23 Aug 2007 02:50:20 -0000 1.12 *************** *** 283,286 **** --- 283,287 ---- default: + ISNSAppendAttr (&cmd, ISNS_DDS_ID, 0, NULL, 0); break; } *************** *** 408,411 **** --- 409,413 ---- default: + ISNSAppendAttr (&cmd, ISNS_DD_ID, 0, NULL, 0); break; } Index: iscsi.c =================================================================== RCS file: /cvsroot/linuxisns/isnsNT/isnsclient/src/iscsi.c,v retrieving revision 1.10 retrieving revision 1.11 diff -C2 -d -r1.10 -r1.11 *** iscsi.c 14 Aug 2007 03:43:55 -0000 1.10 --- iscsi.c 23 Aug 2007 02:50:20 -0000 1.11 *************** *** 305,308 **** --- 305,311 ---- } } + else + ISNSAppendAttr (&cmd, ISNS_ISCSI_NODE_ID, 0, NULL, 0); + /* Delimiter */ |