Commit 6569a0ea authored by Seth Howell's avatar Seth Howell Committed by Tomasz Zawadzki
Browse files

lib/blobfs: add a map file.



Also, increment the library version since some non-public symbols have been removed.

Please note, SPDK_LOG_BLOBFS is included in the map file because it is used by the
blobfs_bdev module.

Signed-off-by: default avatarSeth Howell <seth.howell@intel.com>
Change-Id: Ib05c0b6630951d97b1a5b2931746471eeb9d9630
Reviewed-on: https://review.spdk.io/gerrit/c/spdk/spdk/+/1702


Community-CI: Mellanox Build Bot
Community-CI: Broadcom CI
Tested-by: default avatarSPDK CI Jenkins <sys_sgci@intel.com>
Reviewed-by: default avatarShuhei Matsumoto <shuhei.matsumoto.xt@hitachi.com>
Reviewed-by: default avatarAleksey Marchuk <alexeymar@mellanox.com>
Reviewed-by: default avatarJim Harris <james.r.harris@intel.com>
parent d8343f94
Loading
Loading
Loading
Loading
+3 −1
Original line number Diff line number Diff line
@@ -34,11 +34,13 @@
SPDK_ROOT_DIR := $(abspath $(CURDIR)/../..)
include $(SPDK_ROOT_DIR)/mk/spdk.common.mk

SO_VER := 2
SO_VER := 3
SO_MINOR := 0
SO_SUFFIX := $(SO_VER).$(SO_MINOR)

C_SRCS = blobfs.c tree.c
LIBNAME = blobfs

SPDK_MAP_FILE = $(abspath $(CURDIR)/spdk_blobfs.map)

include $(SPDK_ROOT_DIR)/mk/spdk.lib.mk
+45 −0
Original line number Diff line number Diff line
{
	global:

	# public functions
	spdk_fs_opts_init;
	spdk_fs_init;
	spdk_fs_load;
	spdk_fs_unload;
	spdk_fs_alloc_io_channel;
	spdk_fs_free_io_channel;
	spdk_fs_alloc_thread_ctx;
	spdk_fs_free_thread_ctx;
	spdk_fs_file_stat;
	spdk_fs_create_file;
	spdk_fs_open_file;
	spdk_file_close;
	spdk_fs_rename_file;
	spdk_fs_delete_file;
	spdk_fs_iter_first;
	spdk_fs_iter_next;
	spdk_file_truncate;
	spdk_file_get_name;
	spdk_file_get_length;
	spdk_file_write;
	spdk_file_read;
	spdk_fs_set_cache_size;
	spdk_fs_get_cache_size;
	spdk_file_set_priority;
	spdk_file_sync;
	spdk_file_get_id;
	spdk_file_readv_async;
	spdk_file_writev_async;
	spdk_fs_file_stat_async;
	spdk_fs_create_file_async;
	spdk_fs_open_file_async;
	spdk_file_close_async;
	spdk_fs_rename_file_async;
	spdk_fs_delete_file_async;
	spdk_file_truncate_async;
	spdk_file_write_async;
	spdk_file_read_async;
	spdk_file_sync_async;

	local: *;
};
+12 −9
Original line number Diff line number Diff line
@@ -142,14 +142,15 @@ spdk_blobfs_bdev_detect(const char *bdev_name,

	rc = spdk_bdev_open_ext(bdev_name, true, blobfs_bdev_event_cb, NULL, &desc);
	if (rc != 0) {
		SPDK_INFOLOG(SPDK_LOG_BLOBFS, "Failed to open bdev(%s): %s\n", ctx->bdev_name, spdk_strerror(rc));
		SPDK_INFOLOG(SPDK_LOG_BLOBFS_BDEV, "Failed to open bdev(%s): %s\n", ctx->bdev_name,
			     spdk_strerror(rc));

		goto invalid;
	}

	bs_dev = spdk_bdev_create_bs_dev_from_desc(desc);
	if (bs_dev == NULL) {
		SPDK_INFOLOG(SPDK_LOG_BLOBFS,  "Failed to create a blobstore block device from bdev desc");
		SPDK_INFOLOG(SPDK_LOG_BLOBFS_BDEV,  "Failed to create a blobstore block device from bdev desc");
		rc = -ENOMEM;
		spdk_bdev_close(desc);

@@ -191,14 +192,15 @@ spdk_blobfs_bdev_create(const char *bdev_name, uint32_t cluster_sz,
	/* Creation requires WRITE operation */
	rc = spdk_bdev_open_ext(bdev_name, true, blobfs_bdev_event_cb, NULL, &desc);
	if (rc != 0) {
		SPDK_INFOLOG(SPDK_LOG_BLOBFS, "Failed to open bdev(%s): %s\n", ctx->bdev_name, spdk_strerror(rc));
		SPDK_INFOLOG(SPDK_LOG_BLOBFS_BDEV, "Failed to open bdev(%s): %s\n", ctx->bdev_name,
			     spdk_strerror(rc));

		goto invalid;
	}

	bs_dev = spdk_bdev_create_bs_dev_from_desc(desc);
	if (bs_dev == NULL) {
		SPDK_INFOLOG(SPDK_LOG_BLOBFS,  "Failed to create a blobstore block device from bdev desc\n");
		SPDK_INFOLOG(SPDK_LOG_BLOBFS_BDEV,  "Failed to create a blobstore block device from bdev desc\n");
		rc = -ENOMEM;
		spdk_bdev_close(desc);

@@ -207,7 +209,7 @@ spdk_blobfs_bdev_create(const char *bdev_name, uint32_t cluster_sz,

	rc = spdk_bs_bdev_claim(bs_dev, &blobfs_bdev_module);
	if (rc) {
		SPDK_INFOLOG(SPDK_LOG_BLOBFS, "Blobfs base bdev already claimed by another bdev\n");
		SPDK_INFOLOG(SPDK_LOG_BLOBFS_BDEV, "Blobfs base bdev already claimed by another bdev\n");
		bs_dev->destroy(bs_dev);

		goto invalid;
@@ -227,7 +229,7 @@ invalid:

	cb_fn(cb_arg, rc);
}

SPDK_LOG_REGISTER_COMPONENT("blobfs_bdev", SPDK_LOG_BLOBFS_BDEV)
#ifdef SPDK_CONFIG_FUSE

static void
@@ -323,14 +325,15 @@ spdk_blobfs_bdev_mount(const char *bdev_name, const char *mountpoint,

	rc = spdk_bdev_open_ext(bdev_name, true, blobfs_bdev_fuse_event_cb, ctx, &desc);
	if (rc != 0) {
		SPDK_INFOLOG(SPDK_LOG_BLOBFS, "Failed to open bdev(%s): %s\n", ctx->bdev_name, spdk_strerror(rc));
		SPDK_INFOLOG(SPDK_LOG_BLOBFS_BDEV, "Failed to open bdev(%s): %s\n", ctx->bdev_name,
			     spdk_strerror(rc));

		goto invalid;
	}

	bs_dev = spdk_bdev_create_bs_dev_from_desc(desc);
	if (bs_dev == NULL) {
		SPDK_INFOLOG(SPDK_LOG_BLOBFS,  "Failed to create a blobstore block device from bdev desc");
		SPDK_INFOLOG(SPDK_LOG_BLOBFS_BDEV,  "Failed to create a blobstore block device from bdev desc");
		rc = -ENOMEM;
		spdk_bdev_close(desc);

@@ -339,7 +342,7 @@ spdk_blobfs_bdev_mount(const char *bdev_name, const char *mountpoint,

	rc = spdk_bs_bdev_claim(bs_dev, &blobfs_bdev_module);
	if (rc != 0) {
		SPDK_INFOLOG(SPDK_LOG_BLOBFS, "Blobfs base bdev already claimed by another bdev\n");
		SPDK_INFOLOG(SPDK_LOG_BLOBFS_BDEV, "Blobfs base bdev already claimed by another bdev\n");
		bs_dev->destroy(bs_dev);

		goto invalid;
+2 −1
Original line number Diff line number Diff line
@@ -201,7 +201,7 @@ rpc_decode_cluster_sz(const struct spdk_json_val *val, void *out)
		return -EINVAL;
	}

	SPDK_DEBUGLOG(SPDK_LOG_BLOBFS, "cluster_sz of blobfs: %ld\n", *cluster_sz);
	SPDK_DEBUGLOG(SPDK_LOG_BLOBFS_BDEV_RPC, "cluster_sz of blobfs: %ld\n", *cluster_sz);
	return 0;
}

@@ -261,6 +261,7 @@ spdk_rpc_blobfs_create(struct spdk_jsonrpc_request *request,

SPDK_RPC_REGISTER("blobfs_create", spdk_rpc_blobfs_create, SPDK_RPC_RUNTIME)

SPDK_LOG_REGISTER_COMPONENT("blobfs_bdev_rpc", SPDK_LOG_BLOBFS_BDEV_RPC)
#ifdef SPDK_CONFIG_FUSE

struct rpc_blobfs_mount {
+4 −0
Original line number Diff line number Diff line
@@ -29,6 +29,10 @@ function confirm_abi_deps() {
	cat <<EOF > ${suppression_file}
[suppress_variable]
	name = SPDK_LOG_BDEV
[suppress_variable]
	name = SPDK_LOG_BLOBFS_BDEV
[suppress_variable]
	name = SPDK_LOG_BLOBFS_BDEV_RPC

EOF

Loading