@@ -310,7 +310,7 @@ struct spdk_nvmf_tcp_qpair {
310
310
void * fini_cb_arg ;
311
311
bool dump ;
312
312
uint64_t time ;
313
-
313
+ uint64_t ticks_hz ;
314
314
TAILQ_ENTRY (spdk_nvmf_tcp_qpair ) link ;
315
315
};
316
316
@@ -539,7 +539,7 @@ nvmf_tcp_dump_qpair_req_contents(struct spdk_nvmf_tcp_qpair *tqpair)
539
539
// }
540
540
// }
541
541
542
- char buf [1024 ]; // Adjust the size as necessary
542
+ char buf [255 ]; // Adjust the size as necessary
543
543
int offset = 0 ;
544
544
545
545
// Build the string with all states
@@ -1362,6 +1362,7 @@ nvmf_tcp_handle_connect(struct spdk_nvmf_transport *transport,
1362
1362
tqpair -> state_cntr [TCP_REQUEST_STATE_FREE ] = 0 ;
1363
1363
tqpair -> port = port ;
1364
1364
tqpair -> qpair .transport = transport ;
1365
+ tqpair -> ticks_hz = spdk_get_ticks_hz ();
1365
1366
1366
1367
rc = spdk_sock_getaddr (tqpair -> sock , tqpair -> target_addr ,
1367
1368
sizeof (tqpair -> target_addr ), & tqpair -> target_port ,
@@ -2909,21 +2910,28 @@ nvme_command_string(uint16_t value)
2909
2910
2910
2911
static void
2911
2912
check_time (struct spdk_nvmf_tcp_req * tcp_req , struct spdk_nvmf_tcp_qpair * tqpair ) {
2912
- if (!tcp_req -> loged && tcp_req -> time && (tqpair -> target_port <= 9099 && tqpair -> target_port >= 9090 )) {
2913
- if (((spdk_get_ticks () - tcp_req -> time ) > spdk_get_ticks_hz () * 2 ) && tqpair -> qpair .qid ) {
2914
- char * uuid = spdk_nvmf_request_nqn (& tcp_req -> req );
2915
- if (!uuid ) {
2916
- uuid = "" ;
2917
- }
2918
- SPDK_NOTICELOG ("ttag %d (QID %d) cp %d sp %d, cmd %s, nqn %s\n" ,
2913
+ if (!tcp_req -> loged && tcp_req -> time && tqpair -> qpair .qid ) {
2914
+ uint64_t current = spdk_get_ticks ();
2915
+ uint8_t idx = (tqpair -> target_port == 4420 ) ? 32 : 67 ;
2916
+ // Check if more than 28 ticks have passed since tcp_req->time
2917
+ if ((current - tcp_req -> time ) > tqpair -> ticks_hz * 28 ) {
2918
+ char * uuid = spdk_nvmf_request_nqn (& tcp_req -> req , idx );
2919
+ uuid = (uuid ) ? uuid : "" ; // Handle NULL UUID
2920
+
2921
+ // Log relevant information
2922
+ SPDK_NOTICELOG ("ttag %d (QID %d) cp %d sp %d, cmd %s, nqn %s\n" ,
2919
2923
tcp_req -> ttag , tqpair -> qpair .qid , tqpair -> initiator_port ,
2920
2924
tqpair -> target_port , nvme_command_string (tcp_req -> cmd .opc ), uuid );
2921
2925
// spdk_nvmf_request_nqn(&tcp_req->req);
2922
2926
// spdk_nvme_print_command_s(tqpair->qpair.qid, &tcp_req->cmd);
2923
- if (tqpair -> qpair .qid && ((spdk_get_ticks () - tqpair -> time ) > spdk_get_ticks_hz () * 15 )) {
2927
+
2928
+ // If more than 30 ticks have passed for the qpair, dump its contents
2929
+ if ((current - tqpair -> time ) > tqpair -> ticks_hz * 30 ) {
2924
2930
nvmf_tcp_dump_qpair_req_contents (tqpair );
2925
- tqpair -> time = spdk_get_ticks () ;
2931
+ tqpair -> time = current ;
2926
2932
}
2933
+
2934
+ // Mark the request as logged
2927
2935
tcp_req -> loged = true;
2928
2936
}
2929
2937
}
0 commit comments