]>
git.proxmox.com Git - ceph.git/blob - ceph/src/pmdk/src/librpmem/librpmem.c
1 // SPDX-License-Identifier: BSD-3-Clause
2 /* Copyright 2016-2019, Intel Corporation */
5 * librpmem.c -- entry points for librpmem
14 #include "rpmem_common.h"
15 #include "rpmem_util.h"
16 #include "rpmem_fip.h"
21 * librpmem_init -- load-time initialization for librpmem
23 * Called automatically by the run-time loader.
30 out_init(RPMEM_LOG_PREFIX
, RPMEM_LOG_LEVEL_VAR
, RPMEM_LOG_FILE_VAR
,
31 RPMEM_MAJOR_VERSION
, RPMEM_MINOR_VERSION
);
33 rpmem_util_cmds_init();
35 rpmem_util_get_env_max_nlanes(&Rpmem_max_nlanes
);
36 rpmem_util_get_env_wq_size(&Rpmem_wq_size
);
40 * librpmem_fini -- librpmem cleanup routine
42 * Called automatically when the process terminates.
49 rpmem_util_cmds_fini();
54 * rpmem_check_version -- see if library meets application version requirements
57 rpmem_check_version(unsigned major_required
, unsigned minor_required
)
59 LOG(3, "major_required %u minor_required %u",
60 major_required
, minor_required
);
62 if (major_required
!= RPMEM_MAJOR_VERSION
) {
63 ERR("librpmem major version mismatch (need %u, found %u)",
64 major_required
, RPMEM_MAJOR_VERSION
);
65 return out_get_errormsg();
68 if (minor_required
> RPMEM_MINOR_VERSION
) {
69 ERR("librpmem minor version mismatch (need %u, found %u)",
70 minor_required
, RPMEM_MINOR_VERSION
);
71 return out_get_errormsg();
78 * rpmem_errormsg -- return the last error message
83 return out_get_errormsg();