Commit 1424b6a5 authored by Ziye Yang's avatar Ziye Yang Committed by Daniel Verkamp
Browse files

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



Change-Id: I0e4f5a099f9af68a4a67d9305f678e664f3bda64
Signed-off-by: default avatarZiye Yang <optimistyzy@gmail.com>
Reviewed-on: https://review.gerrithub.io/364543


Tested-by: default avatarSPDK Automated Test System <sys_sgsw@intel.com>
Reviewed-by: default avatarDaniel Verkamp <daniel.verkamp@intel.com>
parent bfd13617
Loading
Loading
Loading
Loading
+1 −0
Original line number Diff line number Diff line
@@ -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;
+14 −2
Original line number Diff line number Diff line
@@ -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
+1 −2
Original line number Diff line number Diff line
@@ -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