diff options
| author | David Howells <dhowells@redhat.com> | 2017-01-05 10:38:34 +0000 | 
|---|---|---|
| committer | David Howells <dhowells@redhat.com> | 2017-01-09 09:18:13 +0000 | 
| commit | 8e8d7f13b6d5a93b3d2cf9a4ceaaf923809fd5ac (patch) | |
| tree | 8d5b1fd4da0dfec6cbaea9a846419fb8b7a1ac15 /fs/afs/cmservice.c | |
| parent | 4289e60cb056ccae4311197d8a4a798aca0f8e55 (diff) | |
afs: Add some tracepoints
Add three tracepoints to the AFS filesystem:
 (1) The afs_recv_data tracepoint logs data segments that are extracted
     from the data received from the peer through afs_extract_data().
 (2) The afs_notify_call tracepoint logs notification from AF_RXRPC of data
     coming in to an asynchronous call.
 (3) The afs_cb_call tracepoint logs incoming calls that have had their
     operation ID extracted and mapped into a supported cache manager
     service call.
To make (3) work, the name strings in the afs_call_type struct objects have
to be annotated with __tracepoint_string.  This is done with the CM_NAME()
macro.
Further, the AFS call state enum needs a name so that it can be used to
declare parameter types.
Signed-off-by: David Howells <dhowells@redhat.com>
Diffstat (limited to 'fs/afs/cmservice.c')
| -rw-r--r-- | fs/afs/cmservice.c | 22 | 
1 files changed, 16 insertions, 6 deletions
| diff --git a/fs/afs/cmservice.c b/fs/afs/cmservice.c index d764236072b1..a2e1e02005f6 100644 --- a/fs/afs/cmservice.c +++ b/fs/afs/cmservice.c @@ -25,11 +25,16 @@ static int afs_deliver_cb_probe_uuid(struct afs_call *);  static int afs_deliver_cb_tell_me_about_yourself(struct afs_call *);  static void afs_cm_destructor(struct afs_call *); +#define CM_NAME(name) \ +	const char afs_SRXCB##name##_name[] __tracepoint_string =	\ +		"CB." #name +  /*   * CB.CallBack operation type   */ +static CM_NAME(CallBack);  static const struct afs_call_type afs_SRXCBCallBack = { -	.name		= "CB.CallBack", +	.name		= afs_SRXCBCallBack_name,  	.deliver	= afs_deliver_cb_callback,  	.abort_to_error	= afs_abort_to_error,  	.destructor	= afs_cm_destructor, @@ -38,8 +43,9 @@ static const struct afs_call_type afs_SRXCBCallBack = {  /*   * CB.InitCallBackState operation type   */ +static CM_NAME(InitCallBackState);  static const struct afs_call_type afs_SRXCBInitCallBackState = { -	.name		= "CB.InitCallBackState", +	.name		= afs_SRXCBInitCallBackState_name,  	.deliver	= afs_deliver_cb_init_call_back_state,  	.abort_to_error	= afs_abort_to_error,  	.destructor	= afs_cm_destructor, @@ -48,8 +54,9 @@ static const struct afs_call_type afs_SRXCBInitCallBackState = {  /*   * CB.InitCallBackState3 operation type   */ +static CM_NAME(InitCallBackState3);  static const struct afs_call_type afs_SRXCBInitCallBackState3 = { -	.name		= "CB.InitCallBackState3", +	.name		= afs_SRXCBInitCallBackState3_name,  	.deliver	= afs_deliver_cb_init_call_back_state3,  	.abort_to_error	= afs_abort_to_error,  	.destructor	= afs_cm_destructor, @@ -58,8 +65,9 @@ static const struct afs_call_type afs_SRXCBInitCallBackState3 = {  /*   * CB.Probe operation type   */ +static CM_NAME(Probe);  static const struct afs_call_type afs_SRXCBProbe = { -	.name		= "CB.Probe", +	.name		= afs_SRXCBProbe_name,  	.deliver	= afs_deliver_cb_probe,  	.abort_to_error	= afs_abort_to_error,  	.destructor	= afs_cm_destructor, @@ -68,8 +76,9 @@ static const struct afs_call_type afs_SRXCBProbe = {  /*   * CB.ProbeUuid operation type   */ +static CM_NAME(ProbeUuid);  static const struct afs_call_type afs_SRXCBProbeUuid = { -	.name		= "CB.ProbeUuid", +	.name		= afs_SRXCBProbeUuid_name,  	.deliver	= afs_deliver_cb_probe_uuid,  	.abort_to_error	= afs_abort_to_error,  	.destructor	= afs_cm_destructor, @@ -78,8 +87,9 @@ static const struct afs_call_type afs_SRXCBProbeUuid = {  /*   * CB.TellMeAboutYourself operation type   */ +static CM_NAME(TellMeAboutYourself);  static const struct afs_call_type afs_SRXCBTellMeAboutYourself = { -	.name		= "CB.TellMeAboutYourself", +	.name		= afs_SRXCBTellMeAboutYourself_name,  	.deliver	= afs_deliver_cb_tell_me_about_yourself,  	.abort_to_error	= afs_abort_to_error,  	.destructor	= afs_cm_destructor, | 
