On 26.11.22 03:35, Damien Le Moal wrote: > On 11/26/22 11:18, Martin K. Petersen wrote: >> >> Johannes, >> >>>>>> ERROR: modpost: "__tracepoint_scsi_prepare_zone_append" [drivers/scsi/sd_mod.ko] undefined! >>>>>> ERROR: modpost: "__SCK__tp_func_scsi_prepare_zone_append" [drivers/scsi/sd_mod.ko] undefined! >>>>>> ERROR: modpost: "__SCK__tp_func_scsi_zone_wp_update" [drivers/scsi/sd_mod.ko] undefined! >>>>>> ERROR: modpost: "__SCT__tp_func_scsi_zone_wp_update" [drivers/scsi/sd_mod.ko] undefined! >>>>>> ERROR: modpost: "__tracepoint_scsi_zone_wp_update" [drivers/scsi/sd_mod.ko] undefined! >>>>>> ERROR: modpost: "__SCT__tp_func_scsi_prepare_zone_append" [drivers/scsi/sd_mod.ko] undefined! >>>> >>> >>> I have no clue what modpost is trying to tell me here. These tracepoints aren't >>> in any way different to the other tracepoints in SCSI. >> >> Haven't investigated. But I get the same errors building scsi-staging >> with your patch applied. Builds fine without it. gcc 12.1. >> > > This is missing: > > diff --git a/drivers/scsi/scsi_trace.c b/drivers/scsi/scsi_trace.c > index 41a950075913..224b38c0fb0f 100644 > --- a/drivers/scsi/scsi_trace.c > +++ b/drivers/scsi/scsi_trace.c > @@ -389,3 +389,4 @@ scsi_trace_parse_cdb(struct trace_seq *p, unsigned > char *cdb, int len) > return scsi_trace_misc(p, cdb, len); > } > } > +EXPORT_SYMBOL(scsi_trace_parse_cdb); > diff --git a/drivers/scsi/sd_zbc.c b/drivers/scsi/sd_zbc.c > index 956d1982c51b..e7a0e1ace6d0 100644 > --- a/drivers/scsi/sd_zbc.c > +++ b/drivers/scsi/sd_zbc.c > @@ -18,6 +18,7 @@ > #include <scsi/scsi.h> > #include <scsi/scsi_cmnd.h> > > +#define CREATE_TRACE_POINTS > #include <trace/events/scsi.h> > > #include "sd.h" > > With that, it compiles fine. > Thanks, but for me it doesn't when I have scsi_mod builtin, only as a module :( If I remove the CREATE_TRACE_POINTS hunk it compiles again as builtin but breaks as module :(