Commit 119935cc authored by Mateusz Kozlowski's avatar Mateusz Kozlowski Committed by Ben Walker
Browse files

lib/ftl: Extend FTL dump property function



The context of FTL device is provided to the dump callback function

Change-Id: I5b7dd89583d3bbd943debfbe6f6e959cda9971d7
Signed-off-by: default avatarMariusz Barczak <Mariusz.Barczak@solidigmtechnology.com>
Signed-off-by: default avatarMateusz Kozlowski <mateusz.kozlowski@solidigm.com>
Reviewed-on: https://review.spdk.io/gerrit/c/spdk/spdk/+/19045


Community-CI: Mellanox Build Bot
Reviewed-by: default avatarBen Walker <ben@nvidia.com>
Tested-by: default avatarSPDK CI Jenkins <sys_sgci@intel.com>
Reviewed-by: default avatarArtur Paszkiewicz <artur.paszkiewicz@intel.com>
Reviewed-by: default avatarJim Harris <jim.harris@samsung.com>
parent 217332a9
Loading
Loading
Loading
Loading
+4 −4
Original line number Diff line number Diff line
@@ -163,7 +163,7 @@ ftl_property_dump(struct spdk_ftl_dev *dev, struct spdk_jsonrpc_request *request
	LIST_FOREACH(prop, &properties->list, entry) {
		spdk_json_write_object_begin(w);
		ftl_property_dump_common_begin(prop, w);
		prop->dump(prop, w);
		prop->dump(dev, prop, w);
		ftl_property_dump_common_end(prop, w);
		spdk_json_write_object_end(w);
	}
@@ -174,7 +174,7 @@ ftl_property_dump(struct spdk_ftl_dev *dev, struct spdk_jsonrpc_request *request
}

void
ftl_property_dump_bool(const struct ftl_property *property,
ftl_property_dump_bool(struct spdk_ftl_dev *dev, const struct ftl_property *property,
		       struct spdk_json_write_ctx *w)
{
	bool *value = property->value;
@@ -184,7 +184,7 @@ ftl_property_dump_bool(const struct ftl_property *property,
}

void
ftl_property_dump_uint64(const struct ftl_property *property,
ftl_property_dump_uint64(struct spdk_ftl_dev *dev, const struct ftl_property *property,
			 struct spdk_json_write_ctx *w)
{
	uint64_t *value = property->value;
@@ -194,7 +194,7 @@ ftl_property_dump_uint64(const struct ftl_property *property,
}

void
ftl_property_dump_uint32(const struct ftl_property *property,
ftl_property_dump_uint32(struct spdk_ftl_dev *dev, const struct ftl_property *property,
			 struct spdk_json_write_ctx *w)
{
	uint32_t *value = property->value;
+8 −4
Original line number Diff line number Diff line
@@ -26,25 +26,29 @@ void ftl_properties_deinit(struct spdk_ftl_dev *dev);
/**
 * @brief A function to dump the FTL property which type is bool
 */
void ftl_property_dump_bool(const struct ftl_property *property, struct spdk_json_write_ctx *w);
void ftl_property_dump_bool(struct spdk_ftl_dev *dev, const struct ftl_property *property,
			    struct spdk_json_write_ctx *w);

/**
 * @brief A function to dump the FTL property which type is uint64
 */
void ftl_property_dump_uint64(const struct ftl_property *property, struct spdk_json_write_ctx *w);
void ftl_property_dump_uint64(struct spdk_ftl_dev *dev, const struct ftl_property *property,
			      struct spdk_json_write_ctx *w);

/**
 * @brief A function to dump the FTL property which type is uint32
 */
void ftl_property_dump_uint32(const struct ftl_property *property, struct spdk_json_write_ctx *w);
void ftl_property_dump_uint32(struct spdk_ftl_dev *dev, const struct ftl_property *property,
			      struct spdk_json_write_ctx *w);

/**
 * @brief Dump the value of property into the specified JSON RPC request
 *
 * @param dev FTL device
 * @param property The property to dump to the JSON RPC request
 * @param[out] w JSON RPC request
 */
typedef void (*ftl_property_dump_fn)(const struct ftl_property *property,
typedef void (*ftl_property_dump_fn)(struct spdk_ftl_dev *dev, const struct ftl_property *property,
				     struct spdk_json_write_ctx *w);

/**
+3 −2
Original line number Diff line number Diff line
@@ -70,8 +70,9 @@ DEFINE_STUB(ftl_p2l_ckpt_acquire, struct ftl_p2l_ckpt *, (struct spdk_ftl_dev *d
DEFINE_STUB_V(ftl_p2l_ckpt_release, (struct spdk_ftl_dev *dev, struct ftl_p2l_ckpt *ckpt));
DEFINE_STUB(ftl_l2p_get, ftl_addr, (struct spdk_ftl_dev *dev, uint64_t lba), 0);
DEFINE_STUB_V(ftl_mempool_put, (struct ftl_mempool *mpool, void *element));
DEFINE_STUB_V(ftl_property_dump_bool, (const struct ftl_property *property,
				       struct spdk_json_write_ctx *w))
DEFINE_STUB_V(ftl_property_dump_bool, (struct spdk_ftl_dev *dev,
				       const struct ftl_property *property,
				       struct spdk_json_write_ctx *w));
DEFINE_STUB(ftl_property_decode_bool, int, (struct spdk_ftl_dev *dev, struct ftl_property *property,
		const char *value, size_t value_size, void *output, size_t output_size), 0);
DEFINE_STUB_V(ftl_property_set_generic, (struct spdk_ftl_dev *dev, struct ftl_mngt_process *mngt,