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: Seth 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: SPDK CI Jenkins <sys_sgci@intel.com> Reviewed-by: Shuhei Matsumoto <shuhei.matsumoto.xt@hitachi.com> Reviewed-by: Aleksey Marchuk <alexeymar@mellanox.com> Reviewed-by: Jim Harris <james.r.harris@intel.com>
This commit is contained in:
parent
d8343f9496
commit
6569a0ea06
@ -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
lib/blobfs/spdk_blobfs.map
Normal file
45
lib/blobfs/spdk_blobfs.map
Normal file
@ -0,0 +1,45 @@
|
||||
{
|
||||
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: *;
|
||||
};
|
@ -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;
|
||||
|
@ -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 {
|
||||
|
@ -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
|
||||
|
||||
|
@ -346,5 +346,3 @@ int main(int argc, char **argv)
|
||||
|
||||
return num_failures;
|
||||
}
|
||||
|
||||
SPDK_LOG_REGISTER_COMPONENT("blobfs", SPDK_LOG_BLOBFS)
|
||||
|
Loading…
Reference in New Issue
Block a user