static void nfsd4_stop_copy(struct nfsd4_copy *copy)
 {
+       trace_nfsd_copy_async_cancel(copy);
        if (!test_and_set_bit(NFSD4_COPY_F_STOPPED, ©->cp_flags))
                kthread_stop(copy->copy_task);
        nfs4_put_copy(copy);
 
        )
 );
 
-TRACE_EVENT(nfsd_copy_async_done,
+DECLARE_EVENT_CLASS(nfsd_copy_async_done_class,
        TP_PROTO(
                const struct nfsd4_copy *copy
        ),
        )
 );
 
+#define DEFINE_COPY_ASYNC_DONE_EVENT(name)             \
+DEFINE_EVENT(nfsd_copy_async_done_class,               \
+       nfsd_copy_async_##name,                         \
+       TP_PROTO(const struct nfsd4_copy *copy),        \
+       TP_ARGS(copy))
+
+DEFINE_COPY_ASYNC_DONE_EVENT(done);
+DEFINE_COPY_ASYNC_DONE_EVENT(cancel);
+
 #endif /* _NFSD_TRACE_H */
 
 #undef TRACE_INCLUDE_PATH