Loading fs/afs/cmservice.c +9 −3 Original line number Diff line number Diff line Loading @@ -287,8 +287,10 @@ static int afs_deliver_cb_callback(struct afs_call *call) * vnodes to operate upon */ rxrpc_kernel_get_peer(call->net->socket, call->rxcall, &srx); server = afs_find_server(call->net, &srx); if (!server) if (!server) { trace_afs_cm_no_server(call, &srx); return -ENOTCONN; } call->cm_server = server; return afs_queue_call_work(call); Loading Loading @@ -329,8 +331,10 @@ static int afs_deliver_cb_init_call_back_state(struct afs_call *call) /* we'll need the file server record as that tells us which set of * vnodes to operate upon */ server = afs_find_server(call->net, &srx); if (!server) if (!server) { trace_afs_cm_no_server(call, &srx); return -ENOTCONN; } call->cm_server = server; return afs_queue_call_work(call); Loading Loading @@ -400,8 +404,10 @@ static int afs_deliver_cb_init_call_back_state3(struct afs_call *call) rcu_read_lock(); server = afs_find_server_by_uuid(call->net, call->request); rcu_read_unlock(); if (!server) if (!server) { trace_afs_cm_no_server_u(call, call->request); return -ENOTCONN; } call->cm_server = server; return afs_queue_call_work(call); Loading include/trace/events/afs.h +42 −0 Original line number Diff line number Diff line Loading @@ -575,6 +575,48 @@ TRACE_EVENT(afs_protocol_error, __entry->call, __entry->error, __entry->where) ); TRACE_EVENT(afs_cm_no_server, TP_PROTO(struct afs_call *call, struct sockaddr_rxrpc *srx), TP_ARGS(call, srx), TP_STRUCT__entry( __field(unsigned int, call ) __field(unsigned int, op_id ) __field_struct(struct sockaddr_rxrpc, srx ) ), TP_fast_assign( __entry->call = call->debug_id; __entry->op_id = call->operation_ID; memcpy(&__entry->srx, srx, sizeof(__entry->srx)); ), TP_printk("c=%08x op=%u %pISpc", __entry->call, __entry->op_id, &__entry->srx.transport) ); TRACE_EVENT(afs_cm_no_server_u, TP_PROTO(struct afs_call *call, const uuid_t *uuid), TP_ARGS(call, uuid), TP_STRUCT__entry( __field(unsigned int, call ) __field(unsigned int, op_id ) __field_struct(uuid_t, uuid ) ), TP_fast_assign( __entry->call = call->debug_id; __entry->op_id = call->operation_ID; memcpy(&__entry->uuid, uuid, sizeof(__entry->uuid)); ), TP_printk("c=%08x op=%u %pU", __entry->call, __entry->op_id, &__entry->uuid) ); #endif /* _TRACE_AFS_H */ /* This part must be outside protection */ Loading Loading
fs/afs/cmservice.c +9 −3 Original line number Diff line number Diff line Loading @@ -287,8 +287,10 @@ static int afs_deliver_cb_callback(struct afs_call *call) * vnodes to operate upon */ rxrpc_kernel_get_peer(call->net->socket, call->rxcall, &srx); server = afs_find_server(call->net, &srx); if (!server) if (!server) { trace_afs_cm_no_server(call, &srx); return -ENOTCONN; } call->cm_server = server; return afs_queue_call_work(call); Loading Loading @@ -329,8 +331,10 @@ static int afs_deliver_cb_init_call_back_state(struct afs_call *call) /* we'll need the file server record as that tells us which set of * vnodes to operate upon */ server = afs_find_server(call->net, &srx); if (!server) if (!server) { trace_afs_cm_no_server(call, &srx); return -ENOTCONN; } call->cm_server = server; return afs_queue_call_work(call); Loading Loading @@ -400,8 +404,10 @@ static int afs_deliver_cb_init_call_back_state3(struct afs_call *call) rcu_read_lock(); server = afs_find_server_by_uuid(call->net, call->request); rcu_read_unlock(); if (!server) if (!server) { trace_afs_cm_no_server_u(call, call->request); return -ENOTCONN; } call->cm_server = server; return afs_queue_call_work(call); Loading
include/trace/events/afs.h +42 −0 Original line number Diff line number Diff line Loading @@ -575,6 +575,48 @@ TRACE_EVENT(afs_protocol_error, __entry->call, __entry->error, __entry->where) ); TRACE_EVENT(afs_cm_no_server, TP_PROTO(struct afs_call *call, struct sockaddr_rxrpc *srx), TP_ARGS(call, srx), TP_STRUCT__entry( __field(unsigned int, call ) __field(unsigned int, op_id ) __field_struct(struct sockaddr_rxrpc, srx ) ), TP_fast_assign( __entry->call = call->debug_id; __entry->op_id = call->operation_ID; memcpy(&__entry->srx, srx, sizeof(__entry->srx)); ), TP_printk("c=%08x op=%u %pISpc", __entry->call, __entry->op_id, &__entry->srx.transport) ); TRACE_EVENT(afs_cm_no_server_u, TP_PROTO(struct afs_call *call, const uuid_t *uuid), TP_ARGS(call, uuid), TP_STRUCT__entry( __field(unsigned int, call ) __field(unsigned int, op_id ) __field_struct(uuid_t, uuid ) ), TP_fast_assign( __entry->call = call->debug_id; __entry->op_id = call->operation_ID; memcpy(&__entry->uuid, uuid, sizeof(__entry->uuid)); ), TP_printk("c=%08x op=%u %pU", __entry->call, __entry->op_id, &__entry->uuid) ); #endif /* _TRACE_AFS_H */ /* This part must be outside protection */ Loading