/* * Copyright (c) 2014 Christoph Hellwig. */ #undef TRACE_SYSTEM #define TRACE_SYSTEM nfsd #if !defined(_NFSD_TRACE_H) || defined(TRACE_HEADER_MULTI_READ) #define _NFSD_TRACE_H #include #include "nfsfh.h" DECLARE_EVENT_CLASS(nfsd_io_class, TP_PROTO(struct svc_rqst *rqstp, struct svc_fh *fhp, loff_t offset, int len), TP_ARGS(rqstp, fhp, offset, len), TP_STRUCT__entry( __field(__be32, xid) __field_struct(struct knfsd_fh, fh) __field(loff_t, offset) __field(int, len) ), TP_fast_assign( __entry->xid = rqstp->rq_xid, fh_copy_shallow(&__entry->fh, &fhp->fh_handle); __entry->offset = offset; __entry->len = len; ), TP_printk("xid=0x%x fh=0x%x offset=%lld len=%d", __be32_to_cpu(__entry->xid), knfsd_fh_hash(&__entry->fh), __entry->offset, __entry->len) ) #define DEFINE_NFSD_IO_EVENT(name) \ DEFINE_EVENT(nfsd_io_class, name, \ TP_PROTO(struct svc_rqst *rqstp, \ struct svc_fh *fhp, \ loff_t offset, \ int len), \ TP_ARGS(rqstp, fhp, offset, len)) DEFINE_NFSD_IO_EVENT(read_start); DEFINE_NFSD_IO_EVENT(read_opened); DEFINE_NFSD_IO_EVENT(read_io_done); DEFINE_NFSD_IO_EVENT(read_done); DEFINE_NFSD_IO_EVENT(write_start); DEFINE_NFSD_IO_EVENT(write_opened); DEFINE_NFSD_IO_EVENT(write_io_done); DEFINE_NFSD_IO_EVENT(write_done); #include "state.h" DECLARE_EVENT_CLASS(nfsd_stateid_class, TP_PROTO(stateid_t *stp), TP_ARGS(stp), TP_STRUCT__entry( __field(u32, cl_boot) __field(u32, cl_id) __field(u32, si_id) __field(u32, si_generation) ), TP_fast_assign( __entry->cl_boot = stp->si_opaque.so_clid.cl_boot; __entry->cl_id = stp->si_opaque.so_clid.cl_id; __entry->si_id = stp->si_opaque.so_id; __entry->si_generation = stp->si_generation; ), TP_printk("client %08x:%08x stateid %08x:%08x", __entry->cl_boot, __entry->cl_id, __entry->si_id, __entry->si_generation) ) #define DEFINE_STATEID_EVENT(name) \ DEFINE_EVENT(nfsd_stateid_class, name, \ TP_PROTO(stateid_t *stp), \ TP_ARGS(stp)) DEFINE_STATEID_EVENT(layoutstate_alloc); DEFINE_STATEID_EVENT(layoutstate_unhash); DEFINE_STATEID_EVENT(layoutstate_free); DEFINE_STATEID_EVENT(layout_get_lookup_fail); DEFINE_STATEID_EVENT(layout_commit_lookup_fail); DEFINE_STATEID_EVENT(layout_return_lookup_fail); DEFINE_STATEID_EVENT(layout_recall); DEFINE_STATEID_EVENT(layout_recall_done); DEFINE_STATEID_EVENT(layout_recall_fail); DEFINE_STATEID_EVENT(layout_recall_release); #endif /* _NFSD_TRACE_H */ #undef TRACE_INCLUDE_PATH #define TRACE_INCLUDE_PATH . #define TRACE_INCLUDE_FILE trace #include
diff options
context:
space:
mode:
authorLinus Torvalds <torvalds@linux-foundation.org>2017-02-01 09:22:08 -0800
committerLinus Torvalds <torvalds@linux-foundation.org>2017-02-01 09:22:08 -0800
commit35609502ac5dea2b149ec0368791d9c0e246bd65 (patch)
tree6819f6bc5b8c3585b7a19cc0d8d25d703a1bc57c /drivers
parentc325b3533730016ca5cdaf902d62550b4243fe43 (diff)
parent91539eb1fda2d530d3b268eef542c5414e54bf1a (diff)
Merge tag 'dmaengine-fix-4.10-rc7' of git://git.infradead.org/users/vkoul/slave-dma
Pull dmaengine fixes from Vinod Koul: "A couple of fixes showed up late in the cycle so sending them up and sending early in the week and not on Friday :). They fix a double lock in pl330 driver and runtime pm fixes for cppi driver" * tag 'dmaengine-fix-4.10-rc7' of git://git.infradead.org/users/vkoul/slave-dma: dmaengine: pl330: fix double lock dmaengine: cppi41: Clean up pointless warnings dmaengine: cppi41: Fix oops in cppi41_runtime_resume dmaengine: cppi41: Fix runtime PM timeouts with USB mass storage
Diffstat (limited to 'drivers')