Commit 0eae0106 authored by Jim Harris's avatar Jim Harris Committed by Konrad Sztyber
Browse files

trace: do not define fn in SPDK_TRACE_REGISTER_FN



Newer lcov try to detect issues with function definitions, and throw
warnings if function definitions have overlapping lines. Since
SPDK_TRACE_REGISTER_FN defines both the constructor function and
the trace function, it treats this as an overlap.

Note this is the only one of our REGISTER functions in SPDK that
effectively defines two functions in the same macro.

So change the macro so that the user actually defines the
trace function instead.

Signed-off-by: default avatarJim Harris <jim.harris@samsung.com>
Change-Id: Ib9d0d1af7674c5ff9b65c12c1e4a5b05e6e110f5
Reviewed-on: https://review.spdk.io/gerrit/c/spdk/spdk/+/24836


Reviewed-by: default avatarMichal Berger <michal.berger@intel.com>
Reviewed-by: default avatarAleksey Marchuk <alexeymar@nvidia.com>
Tested-by: default avatarSPDK CI Jenkins <sys_sgci@intel.com>
Reviewed-by: default avatarKonrad Sztyber <konrad.sztyber@intel.com>
Community-CI: Mellanox Build Bot
parent adc19790
Loading
Loading
Loading
Loading
+3 −1
Original line number Diff line number Diff line
@@ -215,7 +215,8 @@ within the application/library using the spdk_trace_register_description functio
as shown below:

~~~c
SPDK_TRACE_REGISTER_FN(nvmf_trace, "nvmf_rdma", TRACE_GROUP_NVMF_RDMA)
static void
nvmf_trace(void)
{
	spdk_trace_register_object(OBJECT_NVMF_RDMA_IO, 'r');
	spdk_trace_register_description("RDMA_REQ_NEW", TRACE_RDMA_REQUEST_STATE_NEW,
@@ -226,6 +227,7 @@ SPDK_TRACE_REGISTER_FN(nvmf_trace, "nvmf_rdma", TRACE_GROUP_NVMF_RDMA)
					SPDK_TRACE_ARG_TYPE_PTR, "qpair");
	...
}
SPDK_TRACE_REGISTER_FN(nvmf_trace, "nvmf_rdma", TRACE_GROUP_NVMF_RDMA)
~~~

Finally, use the spdk_trace_record function at the appropriate point in the
+1 −2
Original line number Diff line number Diff line
@@ -497,8 +497,7 @@ void spdk_trace_add_register_fn(struct spdk_trace_register_fn *reg_fn);
	__attribute__((constructor)) static void _ ## fn(void)	\
	{							\
		spdk_trace_add_register_fn(&reg_ ## fn);	\
	}							\
	static void fn(void)
	}

#ifdef __cplusplus
}
+3 −1
Original line number Diff line number Diff line
@@ -10615,7 +10615,8 @@ spdk_bdev_copy_blocks(struct spdk_bdev_desc *desc, struct spdk_io_channel *ch,

SPDK_LOG_REGISTER_COMPONENT(bdev)

SPDK_TRACE_REGISTER_FN(bdev_trace, "bdev", TRACE_GROUP_BDEV)
static void
bdev_trace(void)
{
	struct spdk_trace_tpoint_opts opts[] = {
		{
@@ -10663,3 +10664,4 @@ SPDK_TRACE_REGISTER_FN(bdev_trace, "bdev", TRACE_GROUP_BDEV)
	spdk_trace_tpoint_register_relation(TRACE_BDEV_RAID_IO_START, OBJECT_BDEV_IO, 0);
	spdk_trace_tpoint_register_relation(TRACE_BDEV_RAID_IO_DONE, OBJECT_BDEV_IO, 0);
}
SPDK_TRACE_REGISTER_FN(bdev_trace, "bdev", TRACE_GROUP_BDEV)
+3 −1
Original line number Diff line number Diff line
@@ -10308,7 +10308,8 @@ spdk_blob_is_degraded(const struct spdk_blob *blob)
SPDK_LOG_REGISTER_COMPONENT(blob)
SPDK_LOG_REGISTER_COMPONENT(blob_esnap)

SPDK_TRACE_REGISTER_FN(blob_trace, "blob", TRACE_GROUP_BLOB)
static void
blob_trace(void)
{
	struct spdk_trace_tpoint_opts opts[] = {
		{
@@ -10332,3 +10333,4 @@ SPDK_TRACE_REGISTER_FN(blob_trace, "blob", TRACE_GROUP_BLOB)
	spdk_trace_tpoint_register_relation(TRACE_BDEV_IO_START, OBJECT_BLOB_CB_ARG, 1);
	spdk_trace_tpoint_register_relation(TRACE_BDEV_IO_DONE, OBJECT_BLOB_CB_ARG, 0);
}
SPDK_TRACE_REGISTER_FN(blob_trace, "blob", TRACE_GROUP_BLOB)
+3 −1
Original line number Diff line number Diff line
@@ -38,7 +38,8 @@ static struct spdk_thread *g_cache_pool_thread;
static int g_fs_count = 0;
static pthread_mutex_t g_cache_init_lock = PTHREAD_MUTEX_INITIALIZER;

SPDK_TRACE_REGISTER_FN(blobfs_trace, "blobfs", TRACE_GROUP_BLOBFS)
static void
blobfs_trace(void)
{
	struct spdk_trace_tpoint_opts opts[] = {
		{
@@ -75,6 +76,7 @@ SPDK_TRACE_REGISTER_FN(blobfs_trace, "blobfs", TRACE_GROUP_BLOBFS)

	spdk_trace_register_description_ext(opts, SPDK_COUNTOF(opts));
}
SPDK_TRACE_REGISTER_FN(blobfs_trace, "blobfs", TRACE_GROUP_BLOBFS)

void
cache_buffer_free(struct cache_buffer *cache_buffer)
Loading