test, pdu: fix memory leak related issue for pdu test

Change-Id: I0e4f5a099f9af68a4a67d9305f678e664f3bda64
Signed-off-by: Ziye Yang <optimistyzy@gmail.com>
Reviewed-on: https://review.gerrithub.io/364543
Tested-by: SPDK Automated Test System <sys_sgsw@intel.com>
Reviewed-by: Daniel Verkamp <daniel.verkamp@intel.com>
This commit is contained in:
Ziye Yang 2017-06-08 13:11:02 +08:00 committed by Daniel Verkamp
parent bfd1361714
commit 1424b6a554
3 changed files with 16 additions and 4 deletions

View File

@ -33,6 +33,7 @@ spdk_put_pdu(struct spdk_iscsi_pdu *pdu)
if (!pdu)
return;
pdu->ref--;
if (pdu->ref < 0) {
CU_FAIL("negative ref count");
pdu->ref = 0;

View File

@ -104,8 +104,7 @@ maxburstlength_test(void)
struct spdk_iscsi_conn conn;
struct spdk_scsi_dev dev;
struct spdk_scsi_lun lun;
struct spdk_iscsi_pdu *req_pdu;
struct spdk_iscsi_pdu *data_out_pdu;
struct spdk_iscsi_pdu *req_pdu, *data_out_pdu, *r2t_pdu;
struct iscsi_bhs_scsi_req *req;
struct iscsi_bhs_r2t *r2t;
struct iscsi_bhs_data_out *data_out;
@ -177,6 +176,19 @@ maxburstlength_test(void)
rc = spdk_iscsi_execute(&conn, data_out_pdu);
CU_ASSERT(rc == SPDK_ISCSI_CONNECTION_FATAL);
CU_ASSERT(response_pdu->task != NULL);
spdk_iscsi_task_disassociate_pdu(response_pdu->task);
spdk_iscsi_task_put(response_pdu->task);
spdk_put_pdu(response_pdu);
r2t_pdu = TAILQ_FIRST(&conn.write_pdu_list);
CU_ASSERT(r2t_pdu != NULL);
TAILQ_REMOVE(&conn.write_pdu_list, r2t_pdu, tailq);
spdk_put_pdu(r2t_pdu);
spdk_put_pdu(data_out_pdu);
spdk_put_pdu(req_pdu);
}
int

View File

@ -68,10 +68,9 @@ $valgrind test/lib/scsi/lun/lun_ut
$valgrind test/lib/scsi/scsi_bdev/scsi_bdev_ut
$valgrind test/lib/scsi/scsi_nvme/scsi_nvme_ut
# TODO: fix valgrind warnings and add $valgrind to iSCSI tests
$valgrind test/lib/iscsi/param/param_ut
$valgrind test/lib/iscsi/target_node/target_node_ut test/lib/iscsi/target_node/target_node.conf
test/lib/iscsi/pdu/pdu
$valgrind test/lib/iscsi/pdu/pdu
$valgrind test/lib/util/bit_array/bit_array_ut
$valgrind test/lib/util/io_channel/io_channel_ut