[PATCH RFC 0/2] Introduce variable-length sockaddr trace fields

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



Here's my naive first pass. Tested with a modified libtraceevent.

            nfsd-1006  [000]   615.380178: nfsd_cb_args:         addr=192.168.2.67:38673 client 61ddcfcf:54b96b71 prog=1073741824 ident=1
            nfsd-1006  [000]   615.380242: nfsd_cb_probe:        addr=192.168.2.67:38673 client 61ddcfcf:54b96b71 state=UNKNOWN
    kworker/u8:5-79    [002]   615.380307: nfsd_cb_setup:        addr=192.168.2.67:38673 client 61ddcfcf:54b96b71 proto=tcp flavor=sys
    kworker/u8:4-78    [001]   615.380459: nfsd_cb_state:        addr=192.168.2.67:38673 client 61ddcfcf:54b96b71 state=UP
            nfsd-1006  [000]   615.380599: nfsd_cb_args:         addr=192.168.2.67:38673 client 61ddcfcf:54b96b71 prog=1073741824 ident=1
            nfsd-1006  [000]   615.380661: nfsd_cb_state:        addr=192.168.2.67:38673 client 61ddcfcf:54b96b71 state=UNKNOWN
            nfsd-1006  [000]   615.380661: nfsd_cb_probe:        addr=192.168.2.67:38673 client 61ddcfcf:54b96b71 state=UNKNOWN
    kworker/u8:4-78    [000]   615.380715: nfsd_cb_setup:        addr=192.168.2.67:38673 client 61ddcfcf:54b96b71 proto=tcp flavor=sys
    kworker/u8:4-78    [000]   615.380865: nfsd_cb_state:        addr=192.168.2.67:38673 client 61ddcfcf:54b96b71 state=UP

And in the raw:

            nfsd-1006  [000]   615.380178: nfsd_cb_args:          cl_boot=61ddcfcf cl_id=54b96b71 prog=1073741824 ident=1 addr=ARRAY[02, 00, 97, 11, c0, a8, 02, 43, 00, 00, 00, 00, 00, 00, 00, 00]
            nfsd-1006  [000]   615.380242: nfsd_cb_probe:         state=0x1 cl_boot=61ddcfcf cl_id=54b96b71 addr=ARRAY[02, 00, 97, 11, c0, a8, 02, 43, 00, 00, 00, 00, 00, 00, 00, 00]
    kworker/u8:5-79    [002]   615.380307: nfsd_cb_setup:         cl_boot=61ddcfcf cl_id=54b96b71 authflavor=0x1 addr=ARRAY[02, 00, 97, 11, c0, a8, 02, 43, 00, 00, 00, 00, 00, 00, 00, 00] netid=tcp
    kworker/u8:4-78    [001]   615.380459: nfsd_cb_state:         state=0x0 cl_boot=61ddcfcf cl_id=54b96b71 addr=ARRAY[02, 00, 97, 11, c0, a8, 02, 43, 00, 00, 00, 00, 00, 00, 00, 00]
            nfsd-1006  [000]   615.380599: nfsd_cb_args:          cl_boot=61ddcfcf cl_id=54b96b71 prog=1073741824 ident=1 addr=ARRAY[02, 00, 97, 11, c0, a8, 02, 43, 00, 00, 00, 00, 00, 00, 00, 00]
            nfsd-1006  [000]   615.380661: nfsd_cb_state:         state=0x1 cl_boot=61ddcfcf cl_id=54b96b71 addr=ARRAY[02, 00, 97, 11, c0, a8, 02, 43, 00, 00, 00, 00, 00, 00, 00, 00]
            nfsd-1006  [000]   615.380661: nfsd_cb_probe:         state=0x1 cl_boot=61ddcfcf cl_id=54b96b71 addr=ARRAY[02, 00, 97, 11, c0, a8, 02, 43, 00, 00, 00, 00, 00, 00, 00, 00]
    kworker/u8:4-78    [000]   615.380715: nfsd_cb_setup:         cl_boot=61ddcfcf cl_id=54b96b71 authflavor=0x1 addr=ARRAY[02, 00, 97, 11, c0, a8, 02, 43, 00, 00, 00, 00, 00, 00, 00, 00] netid=tcp
    kworker/u8:4-78    [000]   615.380865: nfsd_cb_state:         state=0x0 cl_boot=61ddcfcf cl_id=54b96b71 addr=ARRAY[02, 00, 97, 11, c0, a8, 02, 43, 00, 00, 00, 00, 00, 00, 00, 00]

Comments welcome.

---

Chuck Lever (2):
      trace: Introduce helpers to safely handle dynamic-sized sockaddrs
      NFSD: Use __sockaddr field to store socket addresses


 fs/nfsd/trace.h              | 79 ++++++++++++++++++------------------
 include/trace/bpf_probe.h    |  3 ++
 include/trace/perf.h         |  3 ++
 include/trace/trace_events.h | 18 ++++++++
 4 files changed, 63 insertions(+), 40 deletions(-)

--
Chuck Lever



[Index of Archives]     [Linux Filesystem Development]     [Linux USB Development]     [Linux Media Development]     [Video for Linux]     [Linux NILFS]     [Linux Audio Users]     [Yosemite Info]     [Linux SCSI]

  Powered by Linux