@@ -2203,7 +2203,7 @@ DEFINE_EVENT(nfsd_copy_class, nfsd_copy_##name, \
2203
2203
2204
2204
DEFINE_COPY_EVENT (inter );
2205
2205
DEFINE_COPY_EVENT (intra );
2206
- DEFINE_COPY_EVENT (do_async );
2206
+ DEFINE_COPY_EVENT (async );
2207
2207
2208
2208
TRACE_EVENT (nfsd_copy_done ,
2209
2209
TP_PROTO (
@@ -2229,6 +2229,75 @@ TRACE_EVENT(nfsd_copy_done,
2229
2229
)
2230
2230
);
2231
2231
2232
+ TRACE_EVENT (nfsd_copy_async_done ,
2233
+ TP_PROTO (
2234
+ const struct nfsd4_copy * copy
2235
+ ),
2236
+ TP_ARGS (copy ),
2237
+ TP_STRUCT__entry (
2238
+ __field (int , status )
2239
+ __field (bool , intra )
2240
+ __field (bool , async )
2241
+ __field (u32 , src_cl_boot )
2242
+ __field (u32 , src_cl_id )
2243
+ __field (u32 , src_so_id )
2244
+ __field (u32 , src_si_generation )
2245
+ __field (u32 , dst_cl_boot )
2246
+ __field (u32 , dst_cl_id )
2247
+ __field (u32 , dst_so_id )
2248
+ __field (u32 , dst_si_generation )
2249
+ __field (u32 , cb_cl_boot )
2250
+ __field (u32 , cb_cl_id )
2251
+ __field (u32 , cb_so_id )
2252
+ __field (u32 , cb_si_generation )
2253
+ __field (u64 , src_cp_pos )
2254
+ __field (u64 , dst_cp_pos )
2255
+ __field (u64 , cp_count )
2256
+ __sockaddr (addr , sizeof (struct sockaddr_in6 ))
2257
+ ),
2258
+ TP_fast_assign (
2259
+ const stateid_t * src_stp = & copy -> cp_src_stateid ;
2260
+ const stateid_t * dst_stp = & copy -> cp_dst_stateid ;
2261
+ const stateid_t * cb_stp = & copy -> cp_res .cb_stateid ;
2262
+
2263
+ __entry -> status = be32_to_cpu (copy -> nfserr );
2264
+ __entry -> intra = test_bit (NFSD4_COPY_F_INTRA , & copy -> cp_flags );
2265
+ __entry -> async = !test_bit (NFSD4_COPY_F_SYNCHRONOUS , & copy -> cp_flags );
2266
+ __entry -> src_cl_boot = src_stp -> si_opaque .so_clid .cl_boot ;
2267
+ __entry -> src_cl_id = src_stp -> si_opaque .so_clid .cl_id ;
2268
+ __entry -> src_so_id = src_stp -> si_opaque .so_id ;
2269
+ __entry -> src_si_generation = src_stp -> si_generation ;
2270
+ __entry -> dst_cl_boot = dst_stp -> si_opaque .so_clid .cl_boot ;
2271
+ __entry -> dst_cl_id = dst_stp -> si_opaque .so_clid .cl_id ;
2272
+ __entry -> dst_so_id = dst_stp -> si_opaque .so_id ;
2273
+ __entry -> dst_si_generation = dst_stp -> si_generation ;
2274
+ __entry -> cb_cl_boot = cb_stp -> si_opaque .so_clid .cl_boot ;
2275
+ __entry -> cb_cl_id = cb_stp -> si_opaque .so_clid .cl_id ;
2276
+ __entry -> cb_so_id = cb_stp -> si_opaque .so_id ;
2277
+ __entry -> cb_si_generation = cb_stp -> si_generation ;
2278
+ __entry -> src_cp_pos = copy -> cp_src_pos ;
2279
+ __entry -> dst_cp_pos = copy -> cp_dst_pos ;
2280
+ __entry -> cp_count = copy -> cp_count ;
2281
+ __assign_sockaddr (addr , & copy -> cp_clp -> cl_addr ,
2282
+ sizeof (struct sockaddr_in6 ));
2283
+ ),
2284
+ TP_printk ("client=%pISpc status=%d intra=%d async=%d "
2285
+ "src_client %08x:%08x src_stateid %08x:%08x "
2286
+ "dst_client %08x:%08x dst_stateid %08x:%08x "
2287
+ "cb_client %08x:%08x cb_stateid %08x:%08x "
2288
+ "cp_src_pos=%llu cp_dst_pos=%llu cp_count=%llu" ,
2289
+ __get_sockaddr (addr ),
2290
+ __entry -> status , __entry -> intra , __entry -> async ,
2291
+ __entry -> src_cl_boot , __entry -> src_cl_id ,
2292
+ __entry -> src_so_id , __entry -> src_si_generation ,
2293
+ __entry -> dst_cl_boot , __entry -> dst_cl_id ,
2294
+ __entry -> dst_so_id , __entry -> dst_si_generation ,
2295
+ __entry -> cb_cl_boot , __entry -> cb_cl_id ,
2296
+ __entry -> cb_so_id , __entry -> cb_si_generation ,
2297
+ __entry -> src_cp_pos , __entry -> dst_cp_pos , __entry -> cp_count
2298
+ )
2299
+ );
2300
+
2232
2301
#endif /* _NFSD_TRACE_H */
2233
2302
2234
2303
#undef TRACE_INCLUDE_PATH
0 commit comments