localio_trace.h 1.3 KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556
  1. /* SPDX-License-Identifier: GPL-2.0 */
  2. /*
  3. * Copyright (c) 2024 Trond Myklebust <trond.myklebust@hammerspace.com>
  4. * Copyright (C) 2024 Mike Snitzer <snitzer@hammerspace.com>
  5. */
  6. #undef TRACE_SYSTEM
  7. #define TRACE_SYSTEM nfs_localio
  8. #if !defined(_TRACE_NFS_COMMON_LOCALIO_H) || defined(TRACE_HEADER_MULTI_READ)
  9. #define _TRACE_NFS_COMMON_LOCALIO_H
  10. #include <linux/tracepoint.h>
  11. #include <trace/misc/fs.h>
  12. #include <trace/misc/nfs.h>
  13. #include <trace/misc/sunrpc.h>
  14. DECLARE_EVENT_CLASS(nfs_local_client_event,
  15. TP_PROTO(
  16. const struct nfs_client *clp
  17. ),
  18. TP_ARGS(clp),
  19. TP_STRUCT__entry(
  20. __field(unsigned int, protocol)
  21. __string(server, clp->cl_hostname)
  22. ),
  23. TP_fast_assign(
  24. __entry->protocol = clp->rpc_ops->version;
  25. __assign_str(server);
  26. ),
  27. TP_printk(
  28. "server=%s NFSv%u", __get_str(server), __entry->protocol
  29. )
  30. );
  31. #define DEFINE_NFS_LOCAL_CLIENT_EVENT(name) \
  32. DEFINE_EVENT(nfs_local_client_event, name, \
  33. TP_PROTO( \
  34. const struct nfs_client *clp \
  35. ), \
  36. TP_ARGS(clp))
  37. DEFINE_NFS_LOCAL_CLIENT_EVENT(nfs_localio_enable_client);
  38. DEFINE_NFS_LOCAL_CLIENT_EVENT(nfs_localio_disable_client);
  39. #endif /* _TRACE_NFS_COMMON_LOCALIO_H */
  40. #undef TRACE_INCLUDE_PATH
  41. #define TRACE_INCLUDE_PATH .
  42. #define TRACE_INCLUDE_FILE localio_trace
  43. /* This part must be outside protection */
  44. #include <trace/define_trace.h>