From 7b2037a63b4bc3a56f33e8a393cc42a34c544fb4 Mon Sep 17 00:00:00 2001 From: Oksana Salyk Date: Mon, 3 Jul 2023 10:10:22 +0200 Subject: [PATCH] common: remove log src --- CODING_STYLE.md | 2 +- ChangeLog | 1 + README.md | 6 - src/Makefile | 17 +- src/Makefile.inc | 5 - src/examples/Examples.sln | 322 ------------ src/examples/README | 4 - src/include/README | 2 - src/include/libpmemlog.h | 111 ----- src/libpmemlog/Makefile | 28 -- src/libpmemlog/libpmemlog.c | 171 ------- src/libpmemlog/libpmemlog.link.in | 28 -- src/libpmemlog/log.c | 779 ------------------------------ src/libpmemlog/log.h | 118 ----- src/tools/Makefile.inc | 21 +- utils/build-dpkg.sh | 53 +- utils/check-area.sh | 1 - utils/check-commit.sh | 2 +- utils/check_docs/docs_tests.py | 3 +- utils/docker/arm64.blacklist | 1 - utils/get_aliases.sh | 6 - utils/libpmemlog.pc.in | 9 - utils/pmdk.spec.in | 72 +-- 23 files changed, 18 insertions(+), 1744 deletions(-) delete mode 100644 src/examples/Examples.sln delete mode 100644 src/include/libpmemlog.h delete mode 100644 src/libpmemlog/Makefile delete mode 100644 src/libpmemlog/libpmemlog.c delete mode 100644 src/libpmemlog/libpmemlog.link.in delete mode 100644 src/libpmemlog/log.c delete mode 100644 src/libpmemlog/log.h delete mode 100644 utils/libpmemlog.pc.in diff --git a/CODING_STYLE.md b/CODING_STYLE.md index 8434f96cb5e..263550ecf39 100644 --- a/CODING_STYLE.md +++ b/CODING_STYLE.md @@ -92,7 +92,7 @@ conventions for git commit messages: - The first line is a short summary, no longer than **50 characters,** starting with an area name and then a colon. There should be no period after the short summary. -- Valid area names are: **pmem, pmem2, obj, blk, log, set, +- Valid area names are: **pmem, pmem2, obj, blk, set, test, doc, daxio, pmreorder, pool** (for *libpmempool* and *pmempool*), **benchmark, examples, core** and **common** (for everything else). - It is acceptable for the short summary to be the only thing in the commit diff --git a/ChangeLog b/ChangeLog index e103c3d9c47..d259aacfd34 100644 --- a/ChangeLog +++ b/ChangeLog @@ -13,6 +13,7 @@ - removes log/blk support from pmemwrite - removes log/blk support from pmemspoil - removes libpmemblk related documentation + - removes libpmemlog source code - ... Wed May 31 2023 Oksana Sałyk diff --git a/README.md b/README.md index d398ce6b060..1b3b7ec4384 100644 --- a/README.md +++ b/README.md @@ -40,12 +40,6 @@ Libraries available in this repository: - [libpmemobj](https://pmem.io/pmdk/libpmemobj/): provides a transactional object store, providing memory allocation, transactions, and general facilities for persistent memory programming. -- [libpmemlog](https://pmem.io/pmdk/libpmemlog/): provides a pmem-resident log file. (DEPRECATED) - -> NOTICE: -The **libpmemlog** library is deprecated since PMDK 1.13.0 release -and will be removed in the PMDK 1.14.0 release. - - [libpmempool](https://pmem.io/pmdk/libpmempool/): provides support for off-line pool management and diagnostics. **Libpmemset** has been removed from PMDK repository. diff --git a/src/Makefile b/src/Makefile index 01c0eb89871..eb754f7c4a2 100644 --- a/src/Makefile +++ b/src/Makefile @@ -8,7 +8,7 @@ TOP := $(dir $(lastword $(MAKEFILE_LIST))).. include $(TOP)/src/common.inc # core targets -TARGETS = libpmem libpmemblk libpmemlog libpmemobj libpmempool tools libpmem2 +TARGETS = libpmem libpmemblk libpmemobj libpmempool tools libpmem2 # make all targets ALL_TARGETS = $(TARGETS) common core # all available targets @@ -17,8 +17,8 @@ POSSIBLE_TARGETS = $(TARGETS) common core test\ SCOPE_DIRS = $(TARGETS) common core -DEBUG_RELEASE_TARGETS = common core libpmem libpmemblk libpmemlog libpmemobj\ - libpmempool libpmem2 +DEBUG_RELEASE_TARGETS = common core libpmem libpmemblk libpmemobj libpmempool\ + libpmem2 RELEASE_TARGETS = tools ifneq ($(BUILD_EXAMPLES),n) @@ -41,16 +41,15 @@ EXAMPLES_TARGETS = $(TARGETS) HEADERS_DESTDIR = $(DESTDIR)$(includedir) HEADERS_INSTALL = include/libpmem.h\ include/libpmemobj.h include/libpmempool.h\ - include/libpmemblk.h include/libpmemlog.h\ - include/libpmem2.h + include/libpmemblk.h include/libpmem2.h OBJ_HEADERS_INSTALL = include/libpmemobj/*.h PMEM2_HEADERS_INSTALL = include/libpmem2/*.h PKG_CONFIG_DESTDIR = $(DESTDIR)$(pkgconfigdir) PKG_CONFIG_COMMON = common.pc -PKG_CONFIG_FILES = libpmem.pc libpmemobj.pc libpmemlog.pc libpmemblk.pc\ - libpmempool.pc libpmem2.pc +PKG_CONFIG_FILES = libpmem.pc libpmemobj.pc libpmemblk.pc libpmempool.pc\ + libpmem2.pc PMREORDER_BIN = $(DESTDIR)$(bindir) PMREORDER_SRC = tools/pmreorder PMREORDER_FILES = $(PMREORDER_SRC)/*.py @@ -100,8 +99,8 @@ sparse: $(SPARSE_TARGETS:=-sparse) custom_build = $(DEBUG)$(OBJDIR) -tools: libpmem libpmemblk libpmemlog libpmemobj libpmempool -libpmemblk libpmemlog libpmemobj: libpmem +tools: libpmem libpmemblk libpmemobj libpmempool +libpmemblk libpmemobj: libpmem libpmempool: libpmemblk benchmarks test tools: common core diff --git a/src/Makefile.inc b/src/Makefile.inc index 55f821a58b8..8df6f7e9300 100644 --- a/src/Makefile.inc +++ b/src/Makefile.inc @@ -220,13 +220,8 @@ EXTRA_TARGETS_CLEAN = $(EXTRA_TARGETS:=-clean) EXTRA_TARGETS_CLOBBER = $(EXTRA_TARGETS:=-clobber) endif -PMEMLOG_PRIV_OBJ=$(LIB_OUTDIR)/libpmemlog/libpmemlog_unscoped.o PMEMBLK_PRIV_OBJ=$(LIB_OUTDIR)/libpmemblk/libpmemblk_unscoped.o -ifneq ($(LIBPMEMLOG_PRIV_FUNCS),) -OBJS += pmemlog_priv_funcs.o -endif - ifneq ($(LIBPMEMBLK_PRIV_FUNCS),) OBJS += pmemblk_priv_funcs.o endif diff --git a/src/examples/Examples.sln b/src/examples/Examples.sln deleted file mode 100644 index cb3cf8fd64c..00000000000 --- a/src/examples/Examples.sln +++ /dev/null @@ -1,322 +0,0 @@ -Microsoft Visual Studio Solution File, Format Version 12.00 -# Visual Studio 14 -VisualStudioVersion = 14.0.25420.1 -MinimumVisualStudioVersion = 10.0.40219.1 -Project("{2150E333-8FDC-42A3-9474-1A3956D46DE8}") = "Examples", "Examples", "{0CC6D525-806E-433F-AB4A-6CFD546418B1}" - ProjectSection(SolutionItems) = preProject - examples\ex_common.h = examples\ex_common.h - EndProjectSection -EndProject -Project("{2150E333-8FDC-42A3-9474-1A3956D46DE8}") = "libpmem", "libpmem", "{1434B17C-6165-4D42-BEA1-5A7730D5A6BB}" -EndProject -Project("{2150E333-8FDC-42A3-9474-1A3956D46DE8}") = "string_store_tx", "string_store_tx", "{6D63CDF1-F62C-4614-AD8A-95B0A63AA070}" -EndProject -Project("{2150E333-8FDC-42A3-9474-1A3956D46DE8}") = "Solution Items", "Solution Items", "{853D45D8-980C-4991-B62A-DAC6FD245402}" -EndProject -Project("{2150E333-8FDC-42A3-9474-1A3956D46DE8}") = "libpmemlog", "libpmemlog", "{91C30620-70CA-46C7-AC71-71F3C602690E}" -EndProject -Project("{2150E333-8FDC-42A3-9474-1A3956D46DE8}") = "map", "map", "{BD6CC700-B36B-435B-BAF9-FC5AFCD766C9}" -EndProject -Project("{2150E333-8FDC-42A3-9474-1A3956D46DE8}") = "string_store", "string_store", "{BFEDF709-A700-4769-9056-ACA934D828A8}" -EndProject -Project("{2150E333-8FDC-42A3-9474-1A3956D46DE8}") = "libpmemblk", "libpmemblk", "{C721EFBD-45DC-479E-9B99-E62FCC1FC6E5}" -EndProject -Project("{2150E333-8FDC-42A3-9474-1A3956D46DE8}") = "string_store_tx_type", "string_store_tx_type", "{E3229AF7-1FA2-4632-BB0B-B74F709F1A33}" -EndProject -Project("{2150E333-8FDC-42A3-9474-1A3956D46DE8}") = "libpmemobj", "libpmemobj", "{F42C09CD-ABA5-4DA9-8383-5EA40FA4D763}" -EndProject -Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "full_copy", "libpmem\full_copy.vcxproj", "{0287C3DC-AE03-4714-AAFF-C52F062ECA6F}" -EndProject -Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "manpage", "libpmem\manpage.vcxproj", "{FCD0587A-4504-4F5E-8E9C-468CC03D250A}" -EndProject -Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "simple_copy", "libpmem\simple_copy.vcxproj", "{D062166F-0EC7-4C13-A772-0C7157EEFE41}" -EndProject -Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "asset_checkin", "libpmemblk\assetdb\asset_checkin.vcxproj", "{581B3A58-F3F0-4765-91E5-D0C82816A528}" -EndProject -Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "asset_checkout", "libpmemblk\assetdb\asset_checkout.vcxproj", "{513C4CFA-BD5B-4470-BA93-F6D43778A754}" -EndProject -Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "asset_list", "libpmemblk\assetdb\asset_list.vcxproj", "{8008010F-8718-4C5F-86B2-195AEBF73422}" -EndProject -Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "asset_load", "libpmemblk\assetdb\asset_load.vcxproj", "{C7E42AE1-052F-4024-B8BA-DE5DCE6BBEEC}" -EndProject -Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "manpage", "libpmemblk\manpage.vcxproj", "{8010BBB0-C71B-4EFF-95EB-65C01E5EC197}" -EndProject -Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "addlog", "libpmemlog\logfile\addlog.vcxproj", "{A7CA7975-CEDB-48E6-9AEB-1209DCBD07F2}" -EndProject -Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "printlog", "libpmemlog\logfile\printlog.vcxproj", "{C3CEE34C-29E0-4A22-B258-3FBAF662AA19}" -EndProject -Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "manpage", "libpmemlog\manpage.vcxproj", "{9FF51F3E-AF36-4F45-A797-C5F03A090298}" -EndProject -Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "btree", "libpmemobj\btree.vcxproj", "{0FB8F0FD-276C-413B-97A8-67ABE0C9043B}" -EndProject -Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "fifo", "libpmemobj\linkedlist\fifo.vcxproj", "{D3A99F36-4B72-4766-ABCD-CCEDC26DD139}" -EndProject -Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "lists", "libpmemobj\lists.vcxproj", "{2CD7408E-2F60-43C3-ACEB-C7D58CDD8462}" -EndProject -Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "manpage", "libpmemobj\manpage.vcxproj", "{EDA88BAB-9FA7-4A2D-8974-EFCFA24B3FEB}" -EndProject -Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "pi", "libpmemobj\pi.vcxproj", "{11D76FBC-DFAA-4B31-9DB0-206E171E3F94}" -EndProject -Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "obj_pmemblk", "libpmemobj\pmemblk\obj_pmemblk.vcxproj", "{8C42CA7C-1543-4F1B-A55F-28CD419C7D35}" -EndProject -Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "obj_pmemlog", "libpmemobj\pmemlog\obj_pmemlog.vcxproj", "{60206D22-E132-4695-8486-10BECA32C5CC}" -EndProject -Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "obj_pmemlog_macros", "libpmemobj\pmemlog\obj_pmemlog_macros.vcxproj", "{06877FED-15BA-421F-85C9-1A964FB97446}" -EndProject -Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "obj_pmemlog_minimal", "libpmemobj\pmemlog\obj_pmemlog_minimal.vcxproj", "{0056B0B6-CB3E-4F0E-B6DC-48D59CB8E235}" -EndProject -Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "obj_pmemlog_simple", "libpmemobj\pmemlog\obj_pmemlog_simple.vcxproj", "{5DB2E259-0D19-4A89-B8EC-B2912F39924D}" -EndProject -Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "reader", "libpmemobj\string_store\reader.vcxproj", "{0BFD78AA-FD94-4DB1-8495-8F5CC06D8F03}" -EndProject -Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "writer", "libpmemobj\string_store\writer.vcxproj", "{F5D850C9-D353-4B84-99BC-E336C231018C}" -EndProject -Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "reader", "libpmemobj\string_store_tx\reader.vcxproj", "{59D7A9CD-9912-40E4-96E1-8A873F777F62}" -EndProject -Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "writer", "libpmemobj\string_store_tx\writer.vcxproj", "{7337E34A-97B0-44FC-988B-7E6AE7E0FBBF}" -EndProject -Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "reader", "libpmemobj\string_store_tx_type\reader.vcxproj", "{74D655D5-F661-4887-A1EB-5A6222AF5FCA}" -EndProject -Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "writer", "libpmemobj\string_store_tx_type\writer.vcxproj", "{1EB3DE5B-6357-498D-8CAC-EEC0209EA454}" -EndProject -Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "btree_map", "libpmemobj\tree_map\btree_map.vcxproj", "{79D37FFE-FF76-44B3-BB27-3DCAEFF2EBE9}" -EndProject -Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "ctree_map", "libpmemobj\tree_map\ctree_map.vcxproj", "{BE18F227-A9F0-4B38-B689-4E2F9F09CA5F}" -EndProject -Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "rbtree_map", "libpmemobj\tree_map\rbtree_map.vcxproj", "{17A4B817-68B1-4719-A9EF-BD8FAB747DE6}" -EndProject -Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "rtree_map", "libpmemobj\tree_map\rtree_map.vcxproj", "{3ED56E55-84A6-422C-A8D4-A8439FB8F245}" -EndProject -Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "list_map", "libpmemobj\list_map\list_map.vcxproj", "{3799BA67-3C4F-4AE0-85DC-5BAAEA01A180}" -EndProject -Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "hashmap_atomic", "libpmemobj\hashmap\hashmap_atomic.vcxproj", "{F5E2F6C4-19BA-497A-B754-232E469BE647}" -EndProject -Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "hashmap_rp", "libpmemobj\hashmap\hashmap_rp.vcxproj", "{F5E2F6C4-19BA-497A-B754-232E4666E647}" -EndProject -Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "hashmap_tx", "libpmemobj\hashmap\hashmap_tx.vcxproj", "{D93A2683-6D99-4F18-B378-91195D23E007}" -EndProject -Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "libmap", "libpmemobj\map\libmap.vcxproj", "{49A7CC5A-D5E7-4A07-917F-C6918B982BE8}" -EndProject -Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "data_store", "libpmemobj\map\data_store.vcxproj", "{5B2B9C0D-1B6D-4357-8307-6DE1EE0A41A3}" -EndProject -Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "mapcli", "libpmemobj\map\mapcli.vcxproj", "{BB248BAC-6E1B-433C-A254-75140A273AB5}" -EndProject -Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "buffons_needle_problem", "libpmemobj\buffons_needle_problem.vcxproj", "{BA0EF7F5-BE6C-4B61-9D5F-1480462EE001}" -EndProject -Global - GlobalSection(SolutionConfigurationPlatforms) = preSolution - Debug|x64 = Debug|x64 - Release|x64 = Release|x64 - EndGlobalSection - GlobalSection(ProjectConfigurationPlatforms) = postSolution - {0287C3DC-AE03-4714-AAFF-C52F062ECA6F}.Debug|x64.ActiveCfg = Debug|x64 - {0287C3DC-AE03-4714-AAFF-C52F062ECA6F}.Debug|x64.Build.0 = Debug|x64 - {0287C3DC-AE03-4714-AAFF-C52F062ECA6F}.Release|x64.ActiveCfg = Release|x64 - {0287C3DC-AE03-4714-AAFF-C52F062ECA6F}.Release|x64.Build.0 = Release|x64 - {FCD0587A-4504-4F5E-8E9C-468CC03D250A}.Debug|x64.ActiveCfg = Debug|x64 - {FCD0587A-4504-4F5E-8E9C-468CC03D250A}.Debug|x64.Build.0 = Debug|x64 - {FCD0587A-4504-4F5E-8E9C-468CC03D250A}.Release|x64.ActiveCfg = Release|x64 - {FCD0587A-4504-4F5E-8E9C-468CC03D250A}.Release|x64.Build.0 = Release|x64 - {D062166F-0EC7-4C13-A772-0C7157EEFE41}.Debug|x64.ActiveCfg = Debug|x64 - {D062166F-0EC7-4C13-A772-0C7157EEFE41}.Debug|x64.Build.0 = Debug|x64 - {D062166F-0EC7-4C13-A772-0C7157EEFE41}.Release|x64.ActiveCfg = Release|x64 - {D062166F-0EC7-4C13-A772-0C7157EEFE41}.Release|x64.Build.0 = Release|x64 - {581B3A58-F3F0-4765-91E5-D0C82816A528}.Debug|x64.ActiveCfg = Debug|x64 - {581B3A58-F3F0-4765-91E5-D0C82816A528}.Debug|x64.Build.0 = Debug|x64 - {581B3A58-F3F0-4765-91E5-D0C82816A528}.Release|x64.ActiveCfg = Release|x64 - {581B3A58-F3F0-4765-91E5-D0C82816A528}.Release|x64.Build.0 = Release|x64 - {513C4CFA-BD5B-4470-BA93-F6D43778A754}.Debug|x64.ActiveCfg = Debug|x64 - {513C4CFA-BD5B-4470-BA93-F6D43778A754}.Debug|x64.Build.0 = Debug|x64 - {513C4CFA-BD5B-4470-BA93-F6D43778A754}.Release|x64.ActiveCfg = Release|x64 - {513C4CFA-BD5B-4470-BA93-F6D43778A754}.Release|x64.Build.0 = Release|x64 - {8008010F-8718-4C5F-86B2-195AEBF73422}.Debug|x64.ActiveCfg = Debug|x64 - {8008010F-8718-4C5F-86B2-195AEBF73422}.Debug|x64.Build.0 = Debug|x64 - {8008010F-8718-4C5F-86B2-195AEBF73422}.Release|x64.ActiveCfg = Release|x64 - {8008010F-8718-4C5F-86B2-195AEBF73422}.Release|x64.Build.0 = Release|x64 - {C7E42AE1-052F-4024-B8BA-DE5DCE6BBEEC}.Debug|x64.ActiveCfg = Debug|x64 - {C7E42AE1-052F-4024-B8BA-DE5DCE6BBEEC}.Debug|x64.Build.0 = Debug|x64 - {C7E42AE1-052F-4024-B8BA-DE5DCE6BBEEC}.Release|x64.ActiveCfg = Release|x64 - {C7E42AE1-052F-4024-B8BA-DE5DCE6BBEEC}.Release|x64.Build.0 = Release|x64 - {8010BBB0-C71B-4EFF-95EB-65C01E5EC197}.Debug|x64.ActiveCfg = Debug|x64 - {8010BBB0-C71B-4EFF-95EB-65C01E5EC197}.Debug|x64.Build.0 = Debug|x64 - {8010BBB0-C71B-4EFF-95EB-65C01E5EC197}.Release|x64.ActiveCfg = Release|x64 - {8010BBB0-C71B-4EFF-95EB-65C01E5EC197}.Release|x64.Build.0 = Release|x64 - {A7CA7975-CEDB-48E6-9AEB-1209DCBD07F2}.Debug|x64.ActiveCfg = Debug|x64 - {A7CA7975-CEDB-48E6-9AEB-1209DCBD07F2}.Debug|x64.Build.0 = Debug|x64 - {A7CA7975-CEDB-48E6-9AEB-1209DCBD07F2}.Release|x64.ActiveCfg = Release|x64 - {A7CA7975-CEDB-48E6-9AEB-1209DCBD07F2}.Release|x64.Build.0 = Release|x64 - {C3CEE34C-29E0-4A22-B258-3FBAF662AA19}.Debug|x64.ActiveCfg = Debug|x64 - {C3CEE34C-29E0-4A22-B258-3FBAF662AA19}.Debug|x64.Build.0 = Debug|x64 - {C3CEE34C-29E0-4A22-B258-3FBAF662AA19}.Release|x64.ActiveCfg = Release|x64 - {C3CEE34C-29E0-4A22-B258-3FBAF662AA19}.Release|x64.Build.0 = Release|x64 - {9FF51F3E-AF36-4F45-A797-C5F03A090298}.Debug|x64.ActiveCfg = Debug|x64 - {9FF51F3E-AF36-4F45-A797-C5F03A090298}.Debug|x64.Build.0 = Debug|x64 - {9FF51F3E-AF36-4F45-A797-C5F03A090298}.Release|x64.ActiveCfg = Release|x64 - {9FF51F3E-AF36-4F45-A797-C5F03A090298}.Release|x64.Build.0 = Release|x64 - {0FB8F0FD-276C-413B-97A8-67ABE0C9043B}.Debug|x64.ActiveCfg = Debug|x64 - {0FB8F0FD-276C-413B-97A8-67ABE0C9043B}.Debug|x64.Build.0 = Debug|x64 - {0FB8F0FD-276C-413B-97A8-67ABE0C9043B}.Release|x64.ActiveCfg = Release|x64 - {0FB8F0FD-276C-413B-97A8-67ABE0C9043B}.Release|x64.Build.0 = Release|x64 - {D3A99F36-4B72-4766-ABCD-CCEDC26DD139}.Debug|x64.ActiveCfg = Debug|x64 - {D3A99F36-4B72-4766-ABCD-CCEDC26DD139}.Debug|x64.Build.0 = Debug|x64 - {D3A99F36-4B72-4766-ABCD-CCEDC26DD139}.Release|x64.ActiveCfg = Release|x64 - {D3A99F36-4B72-4766-ABCD-CCEDC26DD139}.Release|x64.Build.0 = Release|x64 - {2CD7408E-2F60-43C3-ACEB-C7D58CDD8462}.Debug|x64.ActiveCfg = Debug|x64 - {2CD7408E-2F60-43C3-ACEB-C7D58CDD8462}.Debug|x64.Build.0 = Debug|x64 - {2CD7408E-2F60-43C3-ACEB-C7D58CDD8462}.Release|x64.ActiveCfg = Release|x64 - {2CD7408E-2F60-43C3-ACEB-C7D58CDD8462}.Release|x64.Build.0 = Release|x64 - {EDA88BAB-9FA7-4A2D-8974-EFCFA24B3FEB}.Debug|x64.ActiveCfg = Debug|x64 - {EDA88BAB-9FA7-4A2D-8974-EFCFA24B3FEB}.Debug|x64.Build.0 = Debug|x64 - {EDA88BAB-9FA7-4A2D-8974-EFCFA24B3FEB}.Release|x64.ActiveCfg = Release|x64 - {EDA88BAB-9FA7-4A2D-8974-EFCFA24B3FEB}.Release|x64.Build.0 = Release|x64 - {11D76FBC-DFAA-4B31-9DB0-206E171E3F94}.Debug|x64.ActiveCfg = Debug|x64 - {11D76FBC-DFAA-4B31-9DB0-206E171E3F94}.Debug|x64.Build.0 = Debug|x64 - {11D76FBC-DFAA-4B31-9DB0-206E171E3F94}.Release|x64.ActiveCfg = Release|x64 - {11D76FBC-DFAA-4B31-9DB0-206E171E3F94}.Release|x64.Build.0 = Release|x64 - {8C42CA7C-1543-4F1B-A55F-28CD419C7D35}.Debug|x64.ActiveCfg = Debug|x64 - {8C42CA7C-1543-4F1B-A55F-28CD419C7D35}.Debug|x64.Build.0 = Debug|x64 - {8C42CA7C-1543-4F1B-A55F-28CD419C7D35}.Release|x64.ActiveCfg = Release|x64 - {8C42CA7C-1543-4F1B-A55F-28CD419C7D35}.Release|x64.Build.0 = Release|x64 - {60206D22-E132-4695-8486-10BECA32C5CC}.Debug|x64.ActiveCfg = Debug|x64 - {60206D22-E132-4695-8486-10BECA32C5CC}.Debug|x64.Build.0 = Debug|x64 - {60206D22-E132-4695-8486-10BECA32C5CC}.Release|x64.ActiveCfg = Release|x64 - {60206D22-E132-4695-8486-10BECA32C5CC}.Release|x64.Build.0 = Release|x64 - {06877FED-15BA-421F-85C9-1A964FB97446}.Debug|x64.ActiveCfg = Debug|x64 - {06877FED-15BA-421F-85C9-1A964FB97446}.Debug|x64.Build.0 = Debug|x64 - {06877FED-15BA-421F-85C9-1A964FB97446}.Release|x64.ActiveCfg = Release|x64 - {06877FED-15BA-421F-85C9-1A964FB97446}.Release|x64.Build.0 = Release|x64 - {0056B0B6-CB3E-4F0E-B6DC-48D59CB8E235}.Debug|x64.ActiveCfg = Debug|x64 - {0056B0B6-CB3E-4F0E-B6DC-48D59CB8E235}.Debug|x64.Build.0 = Debug|x64 - {0056B0B6-CB3E-4F0E-B6DC-48D59CB8E235}.Release|x64.ActiveCfg = Release|x64 - {0056B0B6-CB3E-4F0E-B6DC-48D59CB8E235}.Release|x64.Build.0 = Release|x64 - {5DB2E259-0D19-4A89-B8EC-B2912F39924D}.Debug|x64.ActiveCfg = Debug|x64 - {5DB2E259-0D19-4A89-B8EC-B2912F39924D}.Debug|x64.Build.0 = Debug|x64 - {5DB2E259-0D19-4A89-B8EC-B2912F39924D}.Release|x64.ActiveCfg = Release|x64 - {5DB2E259-0D19-4A89-B8EC-B2912F39924D}.Release|x64.Build.0 = Release|x64 - {0BFD78AA-FD94-4DB1-8495-8F5CC06D8F03}.Debug|x64.ActiveCfg = Debug|x64 - {0BFD78AA-FD94-4DB1-8495-8F5CC06D8F03}.Debug|x64.Build.0 = Debug|x64 - {0BFD78AA-FD94-4DB1-8495-8F5CC06D8F03}.Release|x64.ActiveCfg = Release|x64 - {0BFD78AA-FD94-4DB1-8495-8F5CC06D8F03}.Release|x64.Build.0 = Release|x64 - {F5D850C9-D353-4B84-99BC-E336C231018C}.Debug|x64.ActiveCfg = Debug|x64 - {F5D850C9-D353-4B84-99BC-E336C231018C}.Debug|x64.Build.0 = Debug|x64 - {F5D850C9-D353-4B84-99BC-E336C231018C}.Release|x64.ActiveCfg = Release|x64 - {F5D850C9-D353-4B84-99BC-E336C231018C}.Release|x64.Build.0 = Release|x64 - {59D7A9CD-9912-40E4-96E1-8A873F777F62}.Debug|x64.ActiveCfg = Debug|x64 - {59D7A9CD-9912-40E4-96E1-8A873F777F62}.Debug|x64.Build.0 = Debug|x64 - {59D7A9CD-9912-40E4-96E1-8A873F777F62}.Release|x64.ActiveCfg = Release|x64 - {59D7A9CD-9912-40E4-96E1-8A873F777F62}.Release|x64.Build.0 = Release|x64 - {7337E34A-97B0-44FC-988B-7E6AE7E0FBBF}.Debug|x64.ActiveCfg = Debug|x64 - {7337E34A-97B0-44FC-988B-7E6AE7E0FBBF}.Debug|x64.Build.0 = Debug|x64 - {7337E34A-97B0-44FC-988B-7E6AE7E0FBBF}.Release|x64.ActiveCfg = Release|x64 - {7337E34A-97B0-44FC-988B-7E6AE7E0FBBF}.Release|x64.Build.0 = Release|x64 - {74D655D5-F661-4887-A1EB-5A6222AF5FCA}.Debug|x64.ActiveCfg = Debug|x64 - {74D655D5-F661-4887-A1EB-5A6222AF5FCA}.Debug|x64.Build.0 = Debug|x64 - {74D655D5-F661-4887-A1EB-5A6222AF5FCA}.Release|x64.ActiveCfg = Release|x64 - {74D655D5-F661-4887-A1EB-5A6222AF5FCA}.Release|x64.Build.0 = Release|x64 - {1EB3DE5B-6357-498D-8CAC-EEC0209EA454}.Debug|x64.ActiveCfg = Debug|x64 - {1EB3DE5B-6357-498D-8CAC-EEC0209EA454}.Debug|x64.Build.0 = Debug|x64 - {1EB3DE5B-6357-498D-8CAC-EEC0209EA454}.Release|x64.ActiveCfg = Release|x64 - {1EB3DE5B-6357-498D-8CAC-EEC0209EA454}.Release|x64.Build.0 = Release|x64 - {79D37FFE-FF76-44B3-BB27-3DCAEFF2EBE9}.Debug|x64.ActiveCfg = Debug|x64 - {79D37FFE-FF76-44B3-BB27-3DCAEFF2EBE9}.Debug|x64.Build.0 = Debug|x64 - {79D37FFE-FF76-44B3-BB27-3DCAEFF2EBE9}.Release|x64.ActiveCfg = Release|x64 - {79D37FFE-FF76-44B3-BB27-3DCAEFF2EBE9}.Release|x64.Build.0 = Release|x64 - {BE18F227-A9F0-4B38-B689-4E2F9F09CA5F}.Debug|x64.ActiveCfg = Debug|x64 - {BE18F227-A9F0-4B38-B689-4E2F9F09CA5F}.Debug|x64.Build.0 = Debug|x64 - {BE18F227-A9F0-4B38-B689-4E2F9F09CA5F}.Release|x64.ActiveCfg = Release|x64 - {BE18F227-A9F0-4B38-B689-4E2F9F09CA5F}.Release|x64.Build.0 = Release|x64 - {17A4B817-68B1-4719-A9EF-BD8FAB747DE6}.Debug|x64.ActiveCfg = Debug|x64 - {17A4B817-68B1-4719-A9EF-BD8FAB747DE6}.Debug|x64.Build.0 = Debug|x64 - {17A4B817-68B1-4719-A9EF-BD8FAB747DE6}.Release|x64.ActiveCfg = Release|x64 - {17A4B817-68B1-4719-A9EF-BD8FAB747DE6}.Release|x64.Build.0 = Release|x64 - {3ED56E55-84A6-422C-A8D4-A8439FB8F245}.Debug|x64.ActiveCfg = Debug|x64 - {3ED56E55-84A6-422C-A8D4-A8439FB8F245}.Debug|x64.Build.0 = Debug|x64 - {3ED56E55-84A6-422C-A8D4-A8439FB8F245}.Release|x64.ActiveCfg = Release|x64 - {3ED56E55-84A6-422C-A8D4-A8439FB8F245}.Release|x64.Build.0 = Release|x64 - {3799BA67-3C4F-4AE0-85DC-5BAAEA01A180}.Debug|x64.ActiveCfg = Debug|x64 - {3799BA67-3C4F-4AE0-85DC-5BAAEA01A180}.Debug|x64.Build.0 = Debug|x64 - {3799BA67-3C4F-4AE0-85DC-5BAAEA01A180}.Release|x64.ActiveCfg = Release|x64 - {3799BA67-3C4F-4AE0-85DC-5BAAEA01A180}.Release|x64.Build.0 = Release|x64 - {F5E2F6C4-19BA-497A-B754-232E469BE647}.Debug|x64.ActiveCfg = Debug|x64 - {F5E2F6C4-19BA-497A-B754-232E469BE647}.Debug|x64.Build.0 = Debug|x64 - {F5E2F6C4-19BA-497A-B754-232E469BE647}.Release|x64.ActiveCfg = Release|x64 - {F5E2F6C4-19BA-497A-B754-232E469BE647}.Release|x64.Build.0 = Release|x64 - {F5E2F6C4-19BA-497A-B754-232E4666E647}.Debug|x64.ActiveCfg = Debug|x64 - {F5E2F6C4-19BA-497A-B754-232E4666E647}.Debug|x64.Build.0 = Debug|x64 - {F5E2F6C4-19BA-497A-B754-232E4666E647}.Release|x64.ActiveCfg = Release|x64 - {F5E2F6C4-19BA-497A-B754-232E4666E647}.Release|x64.Build.0 = Release|x64 - {D93A2683-6D99-4F18-B378-91195D23E007}.Debug|x64.ActiveCfg = Debug|x64 - {D93A2683-6D99-4F18-B378-91195D23E007}.Debug|x64.Build.0 = Debug|x64 - {D93A2683-6D99-4F18-B378-91195D23E007}.Release|x64.ActiveCfg = Release|x64 - {D93A2683-6D99-4F18-B378-91195D23E007}.Release|x64.Build.0 = Release|x64 - {49A7CC5A-D5E7-4A07-917F-C6918B982BE8}.Debug|x64.ActiveCfg = Debug|x64 - {49A7CC5A-D5E7-4A07-917F-C6918B982BE8}.Debug|x64.Build.0 = Debug|x64 - {49A7CC5A-D5E7-4A07-917F-C6918B982BE8}.Release|x64.ActiveCfg = Release|x64 - {49A7CC5A-D5E7-4A07-917F-C6918B982BE8}.Release|x64.Build.0 = Release|x64 - {5B2B9C0D-1B6D-4357-8307-6DE1EE0A41A3}.Debug|x64.ActiveCfg = Debug|x64 - {5B2B9C0D-1B6D-4357-8307-6DE1EE0A41A3}.Debug|x64.Build.0 = Debug|x64 - {5B2B9C0D-1B6D-4357-8307-6DE1EE0A41A3}.Release|x64.ActiveCfg = Release|x64 - {5B2B9C0D-1B6D-4357-8307-6DE1EE0A41A3}.Release|x64.Build.0 = Release|x64 - {BB248BAC-6E1B-433C-A254-75140A273AB5}.Debug|x64.ActiveCfg = Debug|x64 - {BB248BAC-6E1B-433C-A254-75140A273AB5}.Debug|x64.Build.0 = Debug|x64 - {BB248BAC-6E1B-433C-A254-75140A273AB5}.Release|x64.ActiveCfg = Release|x64 - {BB248BAC-6E1B-433C-A254-75140A273AB5}.Release|x64.Build.0 = Release|x64 - {BA0EF7F5-BE6C-4B61-9D5F-1480462EE001}.Debug|x64.ActiveCfg = Debug|x64 - {BA0EF7F5-BE6C-4B61-9D5F-1480462EE001}.Debug|x64.Build.0 = Debug|x64 - {BA0EF7F5-BE6C-4B61-9D5F-1480462EE001}.Release|x64.ActiveCfg = Release|x64 - {BA0EF7F5-BE6C-4B61-9D5F-1480462EE001}.Release|x64.Build.0 = Release|x64 - EndGlobalSection - GlobalSection(SolutionProperties) = preSolution - HideSolutionNode = FALSE - EndGlobalSection - GlobalSection(NestedProjects) = preSolution - {0CC6D525-806E-433F-AB4A-6CFD546418B1} = {853D45D8-980C-4991-B62A-DAC6FD245402} - {1434B17C-6165-4D42-BEA1-5A7730D5A6BB} = {0CC6D525-806E-433F-AB4A-6CFD546418B1} - {6D63CDF1-F62C-4614-AD8A-95B0A63AA070} = {F42C09CD-ABA5-4DA9-8383-5EA40FA4D763} - {91C30620-70CA-46C7-AC71-71F3C602690E} = {0CC6D525-806E-433F-AB4A-6CFD546418B1} - {BD6CC700-B36B-435B-BAF9-FC5AFCD766C9} = {F42C09CD-ABA5-4DA9-8383-5EA40FA4D763} - {BFEDF709-A700-4769-9056-ACA934D828A8} = {F42C09CD-ABA5-4DA9-8383-5EA40FA4D763} - {C721EFBD-45DC-479E-9B99-E62FCC1FC6E5} = {0CC6D525-806E-433F-AB4A-6CFD546418B1} - {E3229AF7-1FA2-4632-BB0B-B74F709F1A33} = {F42C09CD-ABA5-4DA9-8383-5EA40FA4D763} - {F42C09CD-ABA5-4DA9-8383-5EA40FA4D763} = {0CC6D525-806E-433F-AB4A-6CFD546418B1} - {0287C3DC-AE03-4714-AAFF-C52F062ECA6F} = {1434B17C-6165-4D42-BEA1-5A7730D5A6BB} - {FCD0587A-4504-4F5E-8E9C-468CC03D250A} = {1434B17C-6165-4D42-BEA1-5A7730D5A6BB} - {D062166F-0EC7-4C13-A772-0C7157EEFE41} = {1434B17C-6165-4D42-BEA1-5A7730D5A6BB} - {581B3A58-F3F0-4765-91E5-D0C82816A528} = {C721EFBD-45DC-479E-9B99-E62FCC1FC6E5} - {513C4CFA-BD5B-4470-BA93-F6D43778A754} = {C721EFBD-45DC-479E-9B99-E62FCC1FC6E5} - {8008010F-8718-4C5F-86B2-195AEBF73422} = {C721EFBD-45DC-479E-9B99-E62FCC1FC6E5} - {C7E42AE1-052F-4024-B8BA-DE5DCE6BBEEC} = {C721EFBD-45DC-479E-9B99-E62FCC1FC6E5} - {8010BBB0-C71B-4EFF-95EB-65C01E5EC197} = {C721EFBD-45DC-479E-9B99-E62FCC1FC6E5} - {A7CA7975-CEDB-48E6-9AEB-1209DCBD07F2} = {91C30620-70CA-46C7-AC71-71F3C602690E} - {C3CEE34C-29E0-4A22-B258-3FBAF662AA19} = {91C30620-70CA-46C7-AC71-71F3C602690E} - {9FF51F3E-AF36-4F45-A797-C5F03A090298} = {91C30620-70CA-46C7-AC71-71F3C602690E} - {0FB8F0FD-276C-413B-97A8-67ABE0C9043B} = {F42C09CD-ABA5-4DA9-8383-5EA40FA4D763} - {D3A99F36-4B72-4766-ABCD-CCEDC26DD139} = {F42C09CD-ABA5-4DA9-8383-5EA40FA4D763} - {2CD7408E-2F60-43C3-ACEB-C7D58CDD8462} = {F42C09CD-ABA5-4DA9-8383-5EA40FA4D763} - {EDA88BAB-9FA7-4A2D-8974-EFCFA24B3FEB} = {F42C09CD-ABA5-4DA9-8383-5EA40FA4D763} - {11D76FBC-DFAA-4B31-9DB0-206E171E3F94} = {F42C09CD-ABA5-4DA9-8383-5EA40FA4D763} - {8C42CA7C-1543-4F1B-A55F-28CD419C7D35} = {F42C09CD-ABA5-4DA9-8383-5EA40FA4D763} - {60206D22-E132-4695-8486-10BECA32C5CC} = {F42C09CD-ABA5-4DA9-8383-5EA40FA4D763} - {06877FED-15BA-421F-85C9-1A964FB97446} = {F42C09CD-ABA5-4DA9-8383-5EA40FA4D763} - {0056B0B6-CB3E-4F0E-B6DC-48D59CB8E235} = {F42C09CD-ABA5-4DA9-8383-5EA40FA4D763} - {5DB2E259-0D19-4A89-B8EC-B2912F39924D} = {F42C09CD-ABA5-4DA9-8383-5EA40FA4D763} - {0BFD78AA-FD94-4DB1-8495-8F5CC06D8F03} = {BFEDF709-A700-4769-9056-ACA934D828A8} - {F5D850C9-D353-4B84-99BC-E336C231018C} = {BFEDF709-A700-4769-9056-ACA934D828A8} - {59D7A9CD-9912-40E4-96E1-8A873F777F62} = {6D63CDF1-F62C-4614-AD8A-95B0A63AA070} - {7337E34A-97B0-44FC-988B-7E6AE7E0FBBF} = {6D63CDF1-F62C-4614-AD8A-95B0A63AA070} - {74D655D5-F661-4887-A1EB-5A6222AF5FCA} = {E3229AF7-1FA2-4632-BB0B-B74F709F1A33} - {1EB3DE5B-6357-498D-8CAC-EEC0209EA454} = {E3229AF7-1FA2-4632-BB0B-B74F709F1A33} - {79D37FFE-FF76-44B3-BB27-3DCAEFF2EBE9} = {BD6CC700-B36B-435B-BAF9-FC5AFCD766C9} - {BE18F227-A9F0-4B38-B689-4E2F9F09CA5F} = {BD6CC700-B36B-435B-BAF9-FC5AFCD766C9} - {17A4B817-68B1-4719-A9EF-BD8FAB747DE6} = {BD6CC700-B36B-435B-BAF9-FC5AFCD766C9} - {3ED56E55-84A6-422C-A8D4-A8439FB8F245} = {BD6CC700-B36B-435B-BAF9-FC5AFCD766C9} - {3799BA67-3C4F-4AE0-85DC-5BAAEA01A180} = {BD6CC700-B36B-435B-BAF9-FC5AFCD766C9} - {F5E2F6C4-19BA-497A-B754-232E469BE647} = {BD6CC700-B36B-435B-BAF9-FC5AFCD766C9} - {F5E2F6C4-19BA-497A-B754-232E4666E647} = {BD6CC700-B36B-435B-BAF9-FC5AFCD766C9} - {D93A2683-6D99-4F18-B378-91195D23E007} = {BD6CC700-B36B-435B-BAF9-FC5AFCD766C9} - {49A7CC5A-D5E7-4A07-917F-C6918B982BE8} = {BD6CC700-B36B-435B-BAF9-FC5AFCD766C9} - {5B2B9C0D-1B6D-4357-8307-6DE1EE0A41A3} = {BD6CC700-B36B-435B-BAF9-FC5AFCD766C9} - {BB248BAC-6E1B-433C-A254-75140A273AB5} = {BD6CC700-B36B-435B-BAF9-FC5AFCD766C9} - {BA0EF7F5-BE6C-4B61-9D5F-1480462EE001} = {F42C09CD-ABA5-4DA9-8383-5EA40FA4D763} - EndGlobalSection -EndGlobal diff --git a/src/examples/README b/src/examples/README index cf537d8f204..5706be564a5 100644 --- a/src/examples/README +++ b/src/examples/README @@ -18,10 +18,6 @@ libpmem(7) -- low-level persistent memory support Example programs are in the libpmem directory. More documentation: https://pmem.io/pmdk/libpmem -libpmemlog(7) -- pmem-resident log files - Example programs are in the libpmemlog directory. - More documentation: https://pmem.io/pmdk/libpmemlog - libpmemobj(7) -- transactional object store Example programs are in the libpmemobj directory. More documentation: https://pmem.io/pmdk/libpmemobj diff --git a/src/include/README b/src/include/README index 9a04c843581..e0e3efae7a6 100644 --- a/src/include/README +++ b/src/include/README @@ -18,8 +18,6 @@ libpmem2.h -- definitions of libpmem2 entry points (see libpmem2(7)) libpmemblk.h -- definitions of libpmemblk entry points (see libpmemblk(7)) -libpmemlog.h -- definitions of libpmemlog entry points (see libpmemlog(7)) - libpmemobj.h -- definitions of libpmemobj entry points (see libpmemobj(7)) libpmempool.h -- definitions of libpmempool entry points (see libpmempool(7)) diff --git a/src/include/libpmemlog.h b/src/include/libpmemlog.h deleted file mode 100644 index fe108289703..00000000000 --- a/src/include/libpmemlog.h +++ /dev/null @@ -1,111 +0,0 @@ -/* SPDX-License-Identifier: BSD-3-Clause */ -/* Copyright 2014-2023, Intel Corporation */ - -/* - * Libpmemlog is deprecated. - * - * libpmemlog.h -- definitions of libpmemlog entry points - * - * This library provides support for programming with persistent memory (pmem). - * - * libpmemlog provides support for pmem-resident log files. - * - * See libpmemlog(7) for details. - */ - -#ifndef LIBPMEMLOG_H -#define LIBPMEMLOG_H 1 - -#include -#include - -#ifdef __cplusplus -extern "C" { -#endif - -#define LOG_DEPR_STR "Libpmemlog is deprecated." -#define PMEMLOG_DEPR_ATTR __attribute__((deprecated(LOG_DEPR_STR))) - -/* - * opaque type, internal to libpmemlog - */ -typedef struct pmemlog PMEMlogpool; - -/* - * PMEMLOG_MAJOR_VERSION and PMEMLOG_MINOR_VERSION provide the current - * version of the libpmemlog API as provided by this header file. - * Applications can verify that the version available at run-time - * is compatible with the version used at compile-time by passing - * these defines to pmemlog_check_version(). - */ -#define PMEMLOG_MAJOR_VERSION 1 -#define PMEMLOG_MINOR_VERSION 1 - -PMEMLOG_DEPR_ATTR -const char *pmemlog_check_version(unsigned major_required, - unsigned minor_required); - -/* - * support for PMEM-resident log files... - */ -#define PMEMLOG_MIN_POOL ((size_t)(1024 * 1024 * 2)) /* min pool size: 2MiB */ - -/* - * This limit is set arbitrary to incorporate a pool header and required - * alignment plus supply. - */ -#define PMEMLOG_MIN_PART ((size_t)(1024 * 1024 * 2)) /* 2 MiB */ - -PMEMLOG_DEPR_ATTR -PMEMlogpool *pmemlog_open(const char *path); - -PMEMLOG_DEPR_ATTR -PMEMlogpool *pmemlog_create(const char *path, size_t poolsize, mode_t mode); - -PMEMLOG_DEPR_ATTR -int pmemlog_check(const char *path); - -PMEMLOG_DEPR_ATTR -void pmemlog_close(PMEMlogpool *plp); -PMEMLOG_DEPR_ATTR -size_t pmemlog_nbyte(PMEMlogpool *plp); -PMEMLOG_DEPR_ATTR -int pmemlog_append(PMEMlogpool *plp, const void *buf, size_t count); -PMEMLOG_DEPR_ATTR -int pmemlog_appendv(PMEMlogpool *plp, const struct iovec *iov, int iovcnt); -PMEMLOG_DEPR_ATTR -long long pmemlog_tell(PMEMlogpool *plp); -PMEMLOG_DEPR_ATTR -void pmemlog_rewind(PMEMlogpool *plp); -PMEMLOG_DEPR_ATTR -void pmemlog_walk(PMEMlogpool *plp, size_t chunksize, - int (*process_chunk)(const void *buf, size_t len, void *arg), - void *arg); - -/* - * Passing NULL to pmemlog_set_funcs() tells libpmemlog to continue to use the - * default for that function. The replacement functions must not make calls - * back into libpmemlog. - */ -PMEMLOG_DEPR_ATTR -void pmemlog_set_funcs( - void *(*malloc_func)(size_t size), - void (*free_func)(void *ptr), - void *(*realloc_func)(void *ptr, size_t size), - char *(*strdup_func)(const char *s)); - -PMEMLOG_DEPR_ATTR -const char *pmemlog_errormsg(void); - -/* EXPERIMENTAL */ -PMEMLOG_DEPR_ATTR -int pmemlog_ctl_get(PMEMlogpool *plp, const char *name, void *arg); -PMEMLOG_DEPR_ATTR -int pmemlog_ctl_set(PMEMlogpool *plp, const char *name, void *arg); -PMEMLOG_DEPR_ATTR -int pmemlog_ctl_exec(PMEMlogpool *plp, const char *name, void *arg); - -#ifdef __cplusplus -} -#endif -#endif /* libpmemlog.h */ diff --git a/src/libpmemlog/Makefile b/src/libpmemlog/Makefile deleted file mode 100644 index 85df58c67be..00000000000 --- a/src/libpmemlog/Makefile +++ /dev/null @@ -1,28 +0,0 @@ -# SPDX-License-Identifier: BSD-3-Clause -# Copyright 2014-2023, Intel Corporation - -# -# src/libpmemlog/Makefile -- Makefile for libpmemlog -# - -LIBRARY_NAME = pmemlog -LIBRARY_SO_VERSION = 1 -LIBRARY_VERSION = 0.0 - -include ../core/pmemcore.inc -include ../common/pmemcommon.inc - -SOURCE +=\ - libpmemlog.c\ - log.c - -include ../Makefile.inc - -# Libpmemlog is deprecated. -# This flag allows to build tests, examples and benchmarks -# using pmemlog despite the deprecated state. -CFLAGS += -Wno-deprecated-declarations - -CFLAGS += $(LIBNDCTL_CFLAGS) - -LIBS += -pthread -lpmem $(LIBNDCTL_LIBS) diff --git a/src/libpmemlog/libpmemlog.c b/src/libpmemlog/libpmemlog.c deleted file mode 100644 index 1df1dc22d69..00000000000 --- a/src/libpmemlog/libpmemlog.c +++ /dev/null @@ -1,171 +0,0 @@ -// SPDX-License-Identifier: BSD-3-Clause -/* Copyright 2014-2023, Intel Corporation */ - -/* - * libpmemlog.c -- pmem entry points for libpmemlog - */ - -#include -#include - -#include "libpmemlog.h" -#include "ctl_global.h" - -#include "pmemcommon.h" -#include "log.h" - -/* - * The variable from which the config is directly loaded. The string - * cannot contain any comments or extraneous white characters. - */ -#define LOG_CONFIG_ENV_VARIABLE "PMEMLOG_CONF" - -/* - * The variable that points to a config file from which the config is loaded. - */ -#define LOG_CONFIG_FILE_ENV_VARIABLE "PMEMLOG_CONF_FILE" - -/* - * log_ctl_init_and_load -- (static) initializes CTL and loads configuration - * from env variable and file - */ -static int -log_ctl_init_and_load(PMEMlogpool *plp) -{ - LOG(3, "plp %p", plp); - - if (plp != NULL && (plp->ctl = ctl_new()) == NULL) { - LOG(2, "!ctl_new"); - return -1; - } - - char *env_config = os_getenv(LOG_CONFIG_ENV_VARIABLE); - if (env_config != NULL) { - if (ctl_load_config_from_string(plp ? plp->ctl : NULL, - plp, env_config) != 0) { - LOG(2, "unable to parse config stored in %s " - "environment variable", - LOG_CONFIG_ENV_VARIABLE); - goto err; - } - } - - char *env_config_file = os_getenv(LOG_CONFIG_FILE_ENV_VARIABLE); - if (env_config_file != NULL && env_config_file[0] != '\0') { - if (ctl_load_config_from_file(plp ? plp->ctl : NULL, - plp, env_config_file) != 0) { - LOG(2, "unable to parse config stored in %s " - "file (from %s environment variable)", - env_config_file, - LOG_CONFIG_FILE_ENV_VARIABLE); - goto err; - } - } - - return 0; -err: - if (plp) - ctl_delete(plp->ctl); - return -1; -} - -/* - * log_init -- load-time initialization for log - * - * Called automatically by the run-time loader. - */ -ATTR_CONSTRUCTOR -void -libpmemlog_init(void) -{ - ctl_global_register(); - - if (log_ctl_init_and_load(NULL)) - FATAL("error: %s", pmemlog_errormsg()); - - common_init(PMEMLOG_LOG_PREFIX, PMEMLOG_LOG_LEVEL_VAR, - PMEMLOG_LOG_FILE_VAR, PMEMLOG_MAJOR_VERSION, - PMEMLOG_MINOR_VERSION); - LOG(3, NULL); -} - -/* - * libpmemlog_fini -- libpmemlog cleanup routine - * - * Called automatically when the process terminates. - */ -ATTR_DESTRUCTOR -void -libpmemlog_fini(void) -{ - LOG(3, NULL); - common_fini(); -} - -/* - * pmemlog_check_versionU -- see if lib meets application version requirements - */ -static inline -const char * -pmemlog_check_versionU(unsigned major_required, unsigned minor_required) -{ - LOG(3, "major_required %u minor_required %u", - major_required, minor_required); - - if (major_required != PMEMLOG_MAJOR_VERSION) { - ERR("libpmemlog major version mismatch (need %u, found %u)", - major_required, PMEMLOG_MAJOR_VERSION); - return out_get_errormsg(); - } - - if (minor_required > PMEMLOG_MINOR_VERSION) { - ERR("libpmemlog minor version mismatch (need %u, found %u)", - minor_required, PMEMLOG_MINOR_VERSION); - return out_get_errormsg(); - } - - return NULL; -} - -/* - * pmemlog_check_version -- see if lib meets application version requirements - */ -const char * -pmemlog_check_version(unsigned major_required, unsigned minor_required) -{ - return pmemlog_check_versionU(major_required, minor_required); -} - -/* - * pmemlog_set_funcs -- allow overriding libpmemlog's call to malloc, etc. - */ -void -pmemlog_set_funcs( - void *(*malloc_func)(size_t size), - void (*free_func)(void *ptr), - void *(*realloc_func)(void *ptr, size_t size), - char *(*strdup_func)(const char *s)) -{ - LOG(3, NULL); - - util_set_alloc_funcs(malloc_func, free_func, realloc_func, strdup_func); -} - -/* - * pmemlog_errormsgU -- return last error message - */ -static inline -const char * -pmemlog_errormsgU(void) -{ - return out_get_errormsg(); -} - -/* - * pmemlog_errormsg -- return last error message - */ -const char * -pmemlog_errormsg(void) -{ - return pmemlog_errormsgU(); -} diff --git a/src/libpmemlog/libpmemlog.link.in b/src/libpmemlog/libpmemlog.link.in deleted file mode 100644 index c003eaa54b7..00000000000 --- a/src/libpmemlog/libpmemlog.link.in +++ /dev/null @@ -1,28 +0,0 @@ -# SPDX-License-Identifier: BSD-3-Clause -# Copyright 2014-2019, Intel Corporation -# -# -# src/libpmemlog.link -- linker link file for libpmemlog -# -LIBPMEMLOG_1.0 { - global: - pmemlog_check_version; - pmemlog_ctl_exec; - pmemlog_ctl_get; - pmemlog_ctl_set; - pmemlog_set_funcs; - pmemlog_errormsg; - pmemlog_create; - pmemlog_open; - pmemlog_close; - pmemlog_check; - pmemlog_nbyte; - pmemlog_append; - pmemlog_appendv; - pmemlog_tell; - pmemlog_rewind; - pmemlog_walk; - fault_injection; - local: - *; -}; diff --git a/src/libpmemlog/log.c b/src/libpmemlog/log.c deleted file mode 100644 index 3607317b608..00000000000 --- a/src/libpmemlog/log.c +++ /dev/null @@ -1,779 +0,0 @@ -// SPDX-License-Identifier: BSD-3-Clause -/* Copyright 2014-2023, Intel Corporation */ - -/* - * log.c -- log memory pool entry points for libpmem - */ - -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include - -#include "libpmem.h" -#include "libpmemlog.h" -#include "ctl_global.h" - -#include "os.h" -#include "set.h" -#include "out.h" -#include "log.h" -#include "mmap.h" -#include "sys_util.h" -#include "util_pmem.h" -#include "valgrind_internal.h" - -static const struct pool_attr Log_create_attr = { - LOG_HDR_SIG, - LOG_FORMAT_MAJOR, - LOG_FORMAT_FEAT_DEFAULT, - {0}, {0}, {0}, {0}, {0} -}; - -static const struct pool_attr Log_open_attr = { - LOG_HDR_SIG, - LOG_FORMAT_MAJOR, - LOG_FORMAT_FEAT_CHECK, - {0}, {0}, {0}, {0}, {0} -}; - -/* - * log_descr_create -- (internal) create log memory pool descriptor - */ -static void -log_descr_create(PMEMlogpool *plp, size_t poolsize) -{ - LOG(3, "plp %p poolsize %zu", plp, poolsize); - - ASSERTeq(poolsize % Pagesize, 0); - - /* create required metadata */ - plp->start_offset = htole64(roundup(sizeof(*plp), - LOG_FORMAT_DATA_ALIGN)); - plp->end_offset = htole64(poolsize); - plp->write_offset = plp->start_offset; - - /* store non-volatile part of pool's descriptor */ - util_persist(plp->is_pmem, &plp->start_offset, 3 * sizeof(uint64_t)); -} - -/* - * log_descr_check -- (internal) validate log memory pool descriptor - */ -static int -log_descr_check(PMEMlogpool *plp, size_t poolsize) -{ - LOG(3, "plp %p poolsize %zu", plp, poolsize); - - struct pmemlog hdr = *plp; - log_convert2h(&hdr); - - if ((hdr.start_offset != - roundup(sizeof(*plp), LOG_FORMAT_DATA_ALIGN)) || - (hdr.end_offset != poolsize) || - (hdr.start_offset > hdr.end_offset)) { - ERR("wrong start/end offsets " - "(start: %" PRIu64 " end: %" PRIu64 "), " - "pool size %zu", - hdr.start_offset, hdr.end_offset, poolsize); - errno = EINVAL; - return -1; - } - - if ((hdr.write_offset > hdr.end_offset) || (hdr.write_offset < - hdr.start_offset)) { - ERR("wrong write offset (start: %" PRIu64 " end: %" PRIu64 - " write: %" PRIu64 ")", - hdr.start_offset, hdr.end_offset, hdr.write_offset); - errno = EINVAL; - return -1; - } - - LOG(3, "start: %" PRIu64 ", end: %" PRIu64 ", write: %" PRIu64 "", - hdr.start_offset, hdr.end_offset, hdr.write_offset); - - return 0; -} - -/* - * log_runtime_init -- (internal) initialize log memory pool runtime data - */ -static int -log_runtime_init(PMEMlogpool *plp, int rdonly) -{ - LOG(3, "plp %p rdonly %d", plp, rdonly); - - /* remove volatile part of header */ - VALGRIND_REMOVE_PMEM_MAPPING(&plp->addr, - sizeof(struct pmemlog) - - sizeof(struct pool_hdr) - - 3 * sizeof(uint64_t)); - - /* - * Use some of the memory pool area for run-time info. This - * run-time state is never loaded from the file, it is always - * created here, so no need to worry about byte-order. - */ - plp->rdonly = rdonly; - - if ((plp->rwlockp = Malloc(sizeof(*plp->rwlockp))) == NULL) { - ERR("!Malloc for a RW lock"); - return -1; - } - - util_rwlock_init(plp->rwlockp); - - /* - * If possible, turn off all permissions on the pool header page. - * - * The prototype PMFS doesn't allow this when large pages are in - * use. It is not considered an error if this fails. - */ - RANGE_NONE(plp->addr, sizeof(struct pool_hdr), plp->is_dev_dax); - - /* the rest should be kept read-only (debug version only) */ - RANGE_RO((char *)plp->addr + sizeof(struct pool_hdr), - plp->size - sizeof(struct pool_hdr), plp->is_dev_dax); - - return 0; -} - -/* - * pmemlog_createU -- create a log memory pool - */ -static inline -PMEMlogpool * -pmemlog_createU(const char *path, size_t poolsize, mode_t mode) -{ - LOG(3, "path %s poolsize %zu mode %d", path, poolsize, mode); - - struct pool_set *set; - struct pool_attr adj_pool_attr = Log_create_attr; - - /* force set SDS feature */ - if (SDS_at_create) - adj_pool_attr.features.incompat |= POOL_FEAT_SDS; - else - adj_pool_attr.features.incompat &= ~POOL_FEAT_SDS; - - if (util_pool_create(&set, path, poolsize, PMEMLOG_MIN_POOL, - PMEMLOG_MIN_PART, &adj_pool_attr, NULL, - REPLICAS_DISABLED) != 0) { - LOG(2, "cannot create pool or pool set"); - return NULL; - } - - ASSERT(set->nreplicas > 0); - - struct pool_replica *rep = set->replica[0]; - PMEMlogpool *plp = rep->part[0].addr; - - VALGRIND_REMOVE_PMEM_MAPPING(&plp->addr, - sizeof(struct pmemlog) - - ((uintptr_t)&plp->addr - (uintptr_t)&plp->hdr)); - - plp->addr = plp; - plp->size = rep->repsize; - plp->set = set; - plp->is_pmem = rep->is_pmem; - plp->is_dev_dax = rep->part[0].is_dev_dax; - - /* is_dev_dax implies is_pmem */ - ASSERT(!plp->is_dev_dax || plp->is_pmem); - - /* create pool descriptor */ - log_descr_create(plp, rep->repsize); - - /* initialize runtime parts */ - if (log_runtime_init(plp, 0) != 0) { - ERR("pool initialization failed"); - goto err; - } - - if (util_poolset_chmod(set, mode)) - goto err; - - util_poolset_fdclose(set); - - LOG(3, "plp %p", plp); - return plp; - -err: - LOG(4, "error clean up"); - int oerrno = errno; - util_poolset_close(set, DELETE_CREATED_PARTS); - errno = oerrno; - return NULL; -} - -/* - * pmemlog_create -- create a log memory pool - */ -PMEMlogpool * -pmemlog_create(const char *path, size_t poolsize, mode_t mode) -{ - return pmemlog_createU(path, poolsize, mode); -} - -/* - * log_open_common -- (internal) open a log memory pool - * - * This routine does all the work, but takes a cow flag so internal - * calls can map a read-only pool if required. - */ -static PMEMlogpool * -log_open_common(const char *path, unsigned flags) -{ - LOG(3, "path %s flags 0x%x", path, flags); - - struct pool_set *set; - - if (util_pool_open(&set, path, PMEMLOG_MIN_PART, &Log_open_attr, - NULL, NULL, flags) != 0) { - LOG(2, "cannot open pool or pool set"); - return NULL; - } - - ASSERT(set->nreplicas > 0); - - struct pool_replica *rep = set->replica[0]; - PMEMlogpool *plp = rep->part[0].addr; - - VALGRIND_REMOVE_PMEM_MAPPING(&plp->addr, - sizeof(struct pmemlog) - - ((uintptr_t)&plp->addr - (uintptr_t)&plp->hdr)); - - plp->addr = plp; - plp->size = rep->repsize; - plp->set = set; - plp->is_pmem = rep->is_pmem; - plp->is_dev_dax = rep->part[0].is_dev_dax; - - /* is_dev_dax implies is_pmem */ - ASSERT(!plp->is_dev_dax || plp->is_pmem); - - if (set->nreplicas > 1) { - errno = ENOTSUP; - ERR("!replicas not supported"); - goto err; - } - - /* validate pool descriptor */ - if (log_descr_check(plp, rep->repsize) != 0) { - LOG(2, "descriptor check failed"); - goto err; - } - - /* initialize runtime parts */ - if (log_runtime_init(plp, set->rdonly) != 0) { - ERR("pool initialization failed"); - goto err; - } - - util_poolset_fdclose(set); - - LOG(3, "plp %p", plp); - return plp; - -err: - LOG(4, "error clean up"); - int oerrno = errno; - util_poolset_close(set, DO_NOT_DELETE_PARTS); - errno = oerrno; - return NULL; -} - -/* - * pmemlog_openU -- open an existing log memory pool - */ -static inline -PMEMlogpool * -pmemlog_openU(const char *path) -{ - LOG(3, "path %s", path); - - return log_open_common(path, COW_at_open ? POOL_OPEN_COW : 0); -} - -/* - * pmemlog_open -- open an existing log memory pool - */ -PMEMlogpool * -pmemlog_open(const char *path) -{ - return pmemlog_openU(path); -} - -/* - * pmemlog_close -- close a log memory pool - */ -void -pmemlog_close(PMEMlogpool *plp) -{ - LOG(3, "plp %p", plp); - - util_rwlock_destroy(plp->rwlockp); - Free((void *)plp->rwlockp); - - util_poolset_close(plp->set, DO_NOT_DELETE_PARTS); -} - -/* - * pmemlog_nbyte -- return usable size of a log memory pool - */ -size_t -pmemlog_nbyte(PMEMlogpool *plp) -{ - LOG(3, "plp %p", plp); - - util_rwlock_rdlock(plp->rwlockp); - - size_t size = le64toh(plp->end_offset) - le64toh(plp->start_offset); - LOG(4, "plp %p nbyte %zu", plp, size); - - util_rwlock_unlock(plp->rwlockp); - - return size; -} - -/* - * log_persist -- (internal) persist data, then metadata - * - * On entry, the write lock should be held. - */ -static void -log_persist(PMEMlogpool *plp, uint64_t new_write_offset) -{ - uint64_t old_write_offset = le64toh(plp->write_offset); - size_t length = new_write_offset - old_write_offset; - - /* unprotect the log space range (debug version only) */ - RANGE_RW((char *)plp->addr + old_write_offset, length, plp->is_dev_dax); - - /* persist the data */ - if (plp->is_pmem) - pmem_drain(); /* data already flushed */ - else - pmem_msync((char *)plp->addr + old_write_offset, length); - - /* protect the log space range (debug version only) */ - RANGE_RO((char *)plp->addr + old_write_offset, length, plp->is_dev_dax); - - /* unprotect the pool descriptor (debug version only) */ - RANGE_RW((char *)plp->addr + sizeof(struct pool_hdr), - LOG_FORMAT_DATA_ALIGN, plp->is_dev_dax); - - /* write the metadata */ - plp->write_offset = htole64(new_write_offset); - - /* persist the metadata */ - if (plp->is_pmem) - pmem_persist(&plp->write_offset, sizeof(plp->write_offset)); - else - pmem_msync(&plp->write_offset, sizeof(plp->write_offset)); - - /* set the write-protection again (debug version only) */ - RANGE_RO((char *)plp->addr + sizeof(struct pool_hdr), - LOG_FORMAT_DATA_ALIGN, plp->is_dev_dax); -} - -/* - * pmemlog_append -- add data to a log memory pool - */ -int -pmemlog_append(PMEMlogpool *plp, const void *buf, size_t count) -{ - int ret = 0; - - LOG(3, "plp %p buf %p count %zu", plp, buf, count); - - if (plp->rdonly) { - ERR("can't append to read-only log"); - errno = EROFS; - return -1; - } - - util_rwlock_wrlock(plp->rwlockp); - - /* get the current values */ - uint64_t end_offset = le64toh(plp->end_offset); - uint64_t write_offset = le64toh(plp->write_offset); - - if (write_offset >= end_offset) { - /* no space left */ - errno = ENOSPC; - ERR("!pmemlog_append"); - ret = -1; - goto end; - } - - /* make sure we don't write past the available space */ - if (count > (end_offset - write_offset)) { - errno = ENOSPC; - ERR("!pmemlog_append"); - ret = -1; - goto end; - } - - char *data = plp->addr; - - /* - * unprotect the log space range, where the new data will be stored - * (debug version only) - */ - RANGE_RW(&data[write_offset], count, plp->is_dev_dax); - - if (plp->is_pmem) - pmem_memcpy_nodrain(&data[write_offset], buf, count); - else - memcpy(&data[write_offset], buf, count); - - /* protect the log space range (debug version only) */ - RANGE_RO(&data[write_offset], count, plp->is_dev_dax); - - write_offset += count; - - /* persist the data and the metadata */ - log_persist(plp, write_offset); - -end: - util_rwlock_unlock(plp->rwlockp); - - return ret; -} - -/* - * pmemlog_appendv -- add gathered data to a log memory pool - */ -int -pmemlog_appendv(PMEMlogpool *plp, const struct iovec *iov, int iovcnt) -{ - LOG(3, "plp %p iovec %p iovcnt %d", plp, iov, iovcnt); - - int ret = 0; - int i; - - if (iovcnt < 0) { - errno = EINVAL; - ERR("iovcnt is less than zero: %d", iovcnt); - return -1; - } - - if (plp->rdonly) { - ERR("can't append to read-only log"); - errno = EROFS; - return -1; - } - - util_rwlock_wrlock(plp->rwlockp); - - /* get the current values */ - uint64_t end_offset = le64toh(plp->end_offset); - uint64_t write_offset = le64toh(plp->write_offset); - - if (write_offset >= end_offset) { - /* no space left */ - errno = ENOSPC; - ERR("!pmemlog_appendv"); - ret = -1; - goto end; - } - - char *data = plp->addr; - uint64_t count = 0; - char *buf; - - /* calculate required space */ - for (i = 0; i < iovcnt; ++i) - count += iov[i].iov_len; - - /* check if there is enough free space */ - if (count > (end_offset - write_offset)) { - errno = ENOSPC; - ret = -1; - goto end; - } - - /* append the data */ - for (i = 0; i < iovcnt; ++i) { - buf = iov[i].iov_base; - count = iov[i].iov_len; - - /* - * unprotect the log space range, where the new data will be - * stored (debug version only) - */ - RANGE_RW(&data[write_offset], count, plp->is_dev_dax); - - if (plp->is_pmem) - pmem_memcpy_nodrain(&data[write_offset], buf, count); - else - memcpy(&data[write_offset], buf, count); - - /* - * protect the log space range (debug version only) - */ - RANGE_RO(&data[write_offset], count, plp->is_dev_dax); - - write_offset += count; - } - - /* persist the data and the metadata */ - log_persist(plp, write_offset); - -end: - util_rwlock_unlock(plp->rwlockp); - - return ret; -} - -/* - * pmemlog_tell -- return current write point in a log memory pool - */ -long long -pmemlog_tell(PMEMlogpool *plp) -{ - LOG(3, "plp %p", plp); - - util_rwlock_rdlock(plp->rwlockp); - - ASSERT(le64toh(plp->write_offset) >= le64toh(plp->start_offset)); - long long wp = (long long)(le64toh(plp->write_offset) - - le64toh(plp->start_offset)); - - LOG(4, "write offset %lld", wp); - - util_rwlock_unlock(plp->rwlockp); - - return wp; -} - -/* - * pmemlog_rewind -- discard all data, resetting a log memory pool to empty - */ -void -pmemlog_rewind(PMEMlogpool *plp) -{ - LOG(3, "plp %p", plp); - - if (plp->rdonly) { - ERR("can't rewind read-only log"); - errno = EROFS; - return; - } - - util_rwlock_wrlock(plp->rwlockp); - - /* unprotect the pool descriptor (debug version only) */ - RANGE_RW((char *)plp->addr + sizeof(struct pool_hdr), - LOG_FORMAT_DATA_ALIGN, plp->is_dev_dax); - - plp->write_offset = plp->start_offset; - if (plp->is_pmem) - pmem_persist(&plp->write_offset, sizeof(uint64_t)); - else - pmem_msync(&plp->write_offset, sizeof(uint64_t)); - - /* set the write-protection again (debug version only) */ - RANGE_RO((char *)plp->addr + sizeof(struct pool_hdr), - LOG_FORMAT_DATA_ALIGN, plp->is_dev_dax); - - util_rwlock_unlock(plp->rwlockp); -} - -/* - * pmemlog_walk -- walk through all data in a log memory pool - * - * chunksize of 0 means process_chunk gets called once for all data - * as a single chunk. - */ -void -pmemlog_walk(PMEMlogpool *plp, size_t chunksize, - int (*process_chunk)(const void *buf, size_t len, void *arg), void *arg) -{ - LOG(3, "plp %p chunksize %zu", plp, chunksize); - - /* - * We are assuming that the walker doesn't change the data it's reading - * in place. We prevent everyone from changing the data behind our back - * until we are done with processing it. - */ - util_rwlock_rdlock(plp->rwlockp); - - char *data = plp->addr; - uint64_t write_offset = le64toh(plp->write_offset); - uint64_t data_offset = le64toh(plp->start_offset); - size_t len; - - if (chunksize == 0) { - /* most common case: process everything at once */ - len = write_offset - data_offset; - LOG(3, "length %zu", len); - (*process_chunk)(&data[data_offset], len, arg); - } else { - /* - * Walk through the complete record, chunk by chunk. - * The callback returns 0 to terminate the walk. - */ - while (data_offset < write_offset) { - len = MIN(chunksize, write_offset - data_offset); - if (!(*process_chunk)(&data[data_offset], len, arg)) - break; - data_offset += chunksize; - } - } - - util_rwlock_unlock(plp->rwlockp); -} - -/* - * pmemlog_checkU -- log memory pool consistency check - * - * Returns true if consistent, zero if inconsistent, -1/error if checking - * cannot happen due to other errors. - */ -static inline -int -pmemlog_checkU(const char *path) -{ - LOG(3, "path \"%s\"", path); - - PMEMlogpool *plp = log_open_common(path, POOL_OPEN_COW); - if (plp == NULL) - return -1; /* errno set by log_open_common() */ - - int consistent = 1; - - /* validate pool descriptor */ - uint64_t hdr_start = le64toh(plp->start_offset); - uint64_t hdr_end = le64toh(plp->end_offset); - uint64_t hdr_write = le64toh(plp->write_offset); - - if (hdr_start != roundup(sizeof(*plp), LOG_FORMAT_DATA_ALIGN)) { - ERR("wrong value of start_offset"); - consistent = 0; - } - - if (hdr_end != plp->size) { - ERR("wrong value of end_offset"); - consistent = 0; - } - - if (hdr_start > hdr_end) { - ERR("start_offset greater than end_offset"); - consistent = 0; - } - - if (hdr_start > hdr_write) { - ERR("start_offset greater than write_offset"); - consistent = 0; - } - - if (hdr_write > hdr_end) { - ERR("write_offset greater than end_offset"); - consistent = 0; - } - - pmemlog_close(plp); - - if (consistent) - LOG(4, "pool consistency check OK"); - - return consistent; -} - -/* - * pmemlog_check -- log memory pool consistency check - * - * Returns true if consistent, zero if inconsistent, -1/error if checking - * cannot happen due to other errors. - */ -int -pmemlog_check(const char *path) -{ - return pmemlog_checkU(path); -} - -/* - * pmemlog_ctl_getU -- programmatically executes a read ctl query - */ -static inline -int -pmemlog_ctl_getU(PMEMlogpool *plp, const char *name, void *arg) -{ - LOG(3, "plp %p name %s arg %p", plp, name, arg); - return ctl_query(plp == NULL ? NULL : plp->ctl, plp, - CTL_QUERY_PROGRAMMATIC, name, CTL_QUERY_READ, arg); -} - -/* - * pmemblk_ctl_setU -- programmatically executes a write ctl query - */ -static inline -int -pmemlog_ctl_setU(PMEMlogpool *plp, const char *name, void *arg) -{ - LOG(3, "plp %p name %s arg %p", plp, name, arg); - return ctl_query(plp == NULL ? NULL : plp->ctl, plp, - CTL_QUERY_PROGRAMMATIC, name, CTL_QUERY_WRITE, arg); -} - -/* - * pmemlog_ctl_execU -- programmatically executes a runnable ctl query - */ -static inline -int -pmemlog_ctl_execU(PMEMlogpool *plp, const char *name, void *arg) -{ - LOG(3, "plp %p name %s arg %p", plp, name, arg); - return ctl_query(plp == NULL ? NULL : plp->ctl, plp, - CTL_QUERY_PROGRAMMATIC, name, CTL_QUERY_RUNNABLE, arg); -} - -/* - * pmemlog_ctl_get -- programmatically executes a read ctl query - */ -int -pmemlog_ctl_get(PMEMlogpool *plp, const char *name, void *arg) -{ - return pmemlog_ctl_getU(plp, name, arg); -} - -/* - * pmemlog_ctl_set -- programmatically executes a write ctl query - */ -int -pmemlog_ctl_set(PMEMlogpool *plp, const char *name, void *arg) -{ - return pmemlog_ctl_setU(plp, name, arg); -} - -/* - * pmemlog_ctl_exec -- programmatically executes a runnable ctl query - */ -int -pmemlog_ctl_exec(PMEMlogpool *plp, const char *name, void *arg) -{ - return pmemlog_ctl_execU(plp, name, arg); -} - -#if FAULT_INJECTION -void -pmemlog_inject_fault_at(enum pmem_allocation_type type, int nth, - const char *at) -{ - core_inject_fault_at(type, nth, at); -} - -int -pmemlog_fault_injection_enabled(void) -{ - return core_fault_injection_enabled(); -} -#endif diff --git a/src/libpmemlog/log.h b/src/libpmemlog/log.h deleted file mode 100644 index e11a679aa58..00000000000 --- a/src/libpmemlog/log.h +++ /dev/null @@ -1,118 +0,0 @@ -/* SPDX-License-Identifier: BSD-3-Clause */ -/* Copyright 2014-2021, Intel Corporation */ - -/* - * log.h -- internal definitions for libpmem log module - */ - -#ifndef LOG_H -#define LOG_H 1 - -#include -#include -#include - -#include "ctl.h" -#include "util.h" -#include "os_thread.h" -#include "pool_hdr.h" -#include "page_size.h" - -#ifdef __cplusplus -extern "C" { -#endif - -#include "alloc.h" -#include "fault_injection.h" - -#define PMEMLOG_LOG_PREFIX "libpmemlog" -#define PMEMLOG_LOG_LEVEL_VAR "PMEMLOG_LOG_LEVEL" -#define PMEMLOG_LOG_FILE_VAR "PMEMLOG_LOG_FILE" - -/* attributes of the log memory pool format for the pool header */ -#define LOG_HDR_SIG "PMEMLOG" /* must be 8 bytes including '\0' */ -#define LOG_FORMAT_MAJOR 1 - -#define LOG_FORMAT_FEAT_DEFAULT \ - {POOL_FEAT_COMPAT_DEFAULT, POOL_FEAT_INCOMPAT_DEFAULT, 0x0000} - -#define LOG_FORMAT_FEAT_CHECK \ - {POOL_FEAT_COMPAT_VALID, POOL_FEAT_INCOMPAT_VALID, 0x0000} - -static const features_t log_format_feat_default = LOG_FORMAT_FEAT_DEFAULT; - -struct pmemlog { - struct pool_hdr hdr; /* memory pool header */ - - /* root info for on-media format... */ - uint64_t start_offset; /* start offset of the usable log space */ - uint64_t end_offset; /* maximum offset of the usable log space */ - uint64_t write_offset; /* current write point for the log */ - - /* some run-time state, allocated out of memory pool... */ - void *addr; /* mapped region */ - size_t size; /* size of mapped region */ - int is_pmem; /* true if pool is PMEM */ - int rdonly; /* true if pool is opened read-only */ - os_rwlock_t *rwlockp; /* pointer to RW lock */ - int is_dev_dax; /* true if mapped on device dax */ - struct ctl *ctl; /* top level node of the ctl tree structure */ - - struct pool_set *set; /* pool set info */ -}; - -/* data area starts at this alignment after the struct pmemlog above */ -#define LOG_FORMAT_DATA_ALIGN ((uintptr_t)PMEM_PAGESIZE) - -/* - * log_convert2h -- convert pmemlog structure to host byte order - */ -static inline void -log_convert2h(struct pmemlog *plp) -{ - plp->start_offset = le64toh(plp->start_offset); - plp->end_offset = le64toh(plp->end_offset); - plp->write_offset = le64toh(plp->write_offset); -} - -/* - * log_convert2le -- convert pmemlog structure to LE byte order - */ -static inline void -log_convert2le(struct pmemlog *plp) -{ - plp->start_offset = htole64(plp->start_offset); - plp->end_offset = htole64(plp->end_offset); - plp->write_offset = htole64(plp->write_offset); -} - -#if FAULT_INJECTION -void -pmemlog_inject_fault_at(enum pmem_allocation_type type, int nth, - const char *at); - -int -pmemlog_fault_injection_enabled(void); -#else -static inline void -pmemlog_inject_fault_at(enum pmem_allocation_type type, int nth, - const char *at) -{ - /* suppress unused-parameter errors */ - SUPPRESS_UNUSED(type, nth, at); - - abort(); -} - -static inline int -pmemlog_fault_injection_enabled(void) -{ - return 0; -} -#endif - -#ifdef __cplusplus -} -#endif - -#endif diff --git a/src/tools/Makefile.inc b/src/tools/Makefile.inc index 6b3901ae95d..a1e72e81eaf 100644 --- a/src/tools/Makefile.inc +++ b/src/tools/Makefile.inc @@ -107,7 +107,6 @@ else LIBSDIR_PRIV=$(LIBSDIR_NONDEBUG) endif -PMEMLOG_PRIV_OBJ=$(LIBSDIR_PRIV)/libpmemlog/libpmemlog_unscoped.o PMEMOBJ_PRIV_OBJ=$(LIBSDIR_PRIV)/libpmemobj/libpmemobj_unscoped.o PMEMBLK_PRIV_OBJ=$(LIBSDIR_PRIV)/libpmemblk/libpmemblk_unscoped.o @@ -152,13 +151,6 @@ STATIC_DEBUG_LIBS += $(LIBSDIR_DEBUG)/libpmemblk.a STATIC_NONDEBUG_LIBS += $(LIBSDIR_NONDEBUG)/libpmemblk.a endif -ifeq ($(LIBPMEMLOG), y) -LIBPMEM=y -DYNAMIC_LIBS += -lpmemlog -STATIC_DEBUG_LIBS += $(LIBSDIR_DEBUG)/libpmemlog.a -STATIC_NONDEBUG_LIBS += $(LIBSDIR_NONDEBUG)/libpmemlog.a -endif - ifeq ($(LIBPMEMOBJ), y) LIBPMEM=y DYNAMIC_LIBS += -lpmemobj @@ -181,7 +173,7 @@ LIBS += $(LIBNDCTL_LIBS) endif # If any of these libraries is required, we need to link libpthread -ifneq ($(LIBPMEMCORE)$(LIBPMEMCOMMON)$(LIBPMEM)$(LIBPMEM2)$(LIBPMEMPOOL)$(LIBPMEMBLK)$(LIBPMEMLOG)$(LIBPMEMOBJ),) +ifneq ($(LIBPMEMCORE)$(LIBPMEMCOMMON)$(LIBPMEM)$(LIBPMEM2)$(LIBPMEMPOOL)$(LIBPMEMBLK)$(LIBPMEMOBJ),) LIBS += -pthread endif @@ -193,7 +185,6 @@ endif ifeq ($(TOOLS_COMMON), y) CFLAGS += -I$(TOP)/src/core CFLAGS += -I$(TOP)/src/common -CFLAGS += -I$(TOP)/src/libpmemlog CFLAGS += -I$(TOP)/src/libpmemblk CFLAGS += -I$(TOP)/src/libpmemobj CFLAGS += $(UNIX98_CFLAGS) @@ -205,10 +196,6 @@ CFLAGS += -I$(TOP)/src/tools/pmempool OBJS += common.o output.o endif -ifneq ($(LIBPMEMLOG_PRIV),) -OBJS += pmemlog_priv.o -endif - ifneq ($(LIBPMEMOBJ_PRIV),) OBJS += pmemobj_priv.o endif @@ -287,12 +274,6 @@ $(TARGET_STATIC_NONDEBUG): $(STATIC_NONDEBUG_LIBS) $(TARGET): $(CC) $(LDFLAGS) -o $@ $(OBJS) $(DYNAMIC_LIBS) $(LIBS) -$(PMEMLOG_PRIV_OBJ): - $(MAKE) -C $(LIBSDIR) libpmemlog - -pmemlog_priv.o: $(PMEMLOG_PRIV_OBJ) - $(OBJCOPY) --localize-hidden $(addprefix -G, $(LIBPMEMLOG_PRIV)) $< $@ - $(PMEMOBJ_PRIV_OBJ): $(MAKE) -C $(LIBSDIR) libpmemobj diff --git a/utils/build-dpkg.sh b/utils/build-dpkg.sh index 9ff8514f0cd..8107c950562 100755 --- a/utils/build-dpkg.sh +++ b/utils/build-dpkg.sh @@ -328,19 +328,6 @@ Description: Development files for libpmemblk a block is updated atomically with respect to power failure or program interruption (no torn blocks). -Package: libpmemlog -Architecture: any -Depends: libpmem (=\${binary:Version}), \${shlibs:Depends}, \${misc:Depends} -Description: Persistent Memory log file support library - libpmemlog implements a pmem-resident log file. - -Package: libpmemlog-dev -Section: libdevel -Architecture: any -Depends: libpmemlog (=\${binary:Version}), libpmem-dev, \${shlibs:Depends}, \${misc:Depends} -Description: Development files for libpmemlog - libpmemlog implements a pmem-resident log file. - Package: libpmemobj Architecture: any Depends: libpmem (=\${binary:Version}), \${shlibs:Depends}, \${misc:Depends} @@ -367,7 +354,7 @@ Depends: libpmem (=\${binary:Version}), \${shlibs:Depends}, \${misc:Depends} Description: Persistent Memory pool management support library libpmempool provides a set of utilities for management, diagnostics and repair of persistent memory pools. A pool in this context means a pmemobj pool, - pmemblk pool, pmemlog pool or BTT layout, independent of the underlying + pmemblk pool or BTT layout, independent of the underlying storage. The libpmempool is for applications that need high reliability or built-in troubleshooting. It may be useful for testing and debugging purposes also. @@ -387,7 +374,7 @@ Package: $PACKAGE_NAME-dbg Section: debug Priority: optional Architecture: any -Depends: libpmem (=\${binary:Version}), libpmemblk (=\${binary:Version}), libpmemlog (=\${binary:Version}), libpmemobj (=\${binary:Version}), libpmempool (=\${binary:Version}), \${misc:Depends} +Depends: libpmem (=\${binary:Version}), libpmemblk (=\${binary:Version}), libpmemobj (=\${binary:Version}), libpmempool (=\${binary:Version}), \${misc:Depends} Description: Debug symbols for PMDK libraries Debug symbols for all PMDK libraries. @@ -544,42 +531,6 @@ hardening-no-fortify-functions $LIB_DIR/pmdk_dbg/* libpmemblk-dev: package-has-unnecessary-activation-of-ldconfig-trigger EOF -cat << EOF > debian/libpmemlog.install -$LIB_DIR/libpmemlog.so.* -EOF - -cat << EOF > debian/libpmemlog.lintian-overrides -$ITP_BUG_EXCUSE -new-package-should-close-itp-bug -libpmemlog: package-name-doesnt-match-sonames -EOF - -cat << EOF > debian/libpmemlog-dev.install -$LIB_DIR/pmdk_debug/libpmemlog.a $LIB_DIR/pmdk_dbg/ -$LIB_DIR/pmdk_debug/libpmemlog.so $LIB_DIR/pmdk_dbg/ -$LIB_DIR/pmdk_debug/libpmemlog.so.* $LIB_DIR/pmdk_dbg/ -$LIB_DIR/libpmemlog.so -$LIB_DIR/pkgconfig/libpmemlog.pc -$INC_DIR/libpmemlog.h -$MAN7_DIR/libpmemlog.7 -$MAN3_DIR/pmemlog_*.3 -EOF - -cat << EOF > debian/libpmemlog-dev.lintian-overrides -$ITP_BUG_EXCUSE -new-package-should-close-itp-bug -# The following warnings are triggered by a bug in debhelper: -# https://bugs.debian.org/204975 -postinst-has-useless-call-to-ldconfig -postrm-has-useless-call-to-ldconfig -# We do not want to compile with -O2 for debug version -hardening-no-fortify-functions $LIB_DIR/pmdk_dbg/* -# pmdk provides second set of libraries for debugging. -# These are in /usr/lib/$arch/pmdk_dbg/, but still trigger ldconfig. -# Related issue: https://github.com/pmem/issues/issues/841 -libpmemlog-dev: package-has-unnecessary-activation-of-ldconfig-trigger -EOF - cat << EOF > debian/libpmemobj.install $LIB_DIR/libpmemobj.so.* EOF diff --git a/utils/check-area.sh b/utils/check-area.sh index 2bbd066e1fe..225f40ea665 100755 --- a/utils/check-area.sh +++ b/utils/check-area.sh @@ -36,7 +36,6 @@ echo "Areas computed basing on the list of modified files: (see utils/check-area categorize core -e "^src/core/" categorize pmem -e "^src/libpmem/" -e "^src/include/libpmem.h" categorize pmem2 -e "^src/libpmem2/" -e "^src/include/libpmem2.h" -e "^src/include/libpmem2/" -categorize log -e "^src/libpmemlog/" -e "^src/include/libpmemlog.h" categorize obj -e "^src/libpmemobj/" -e "^src/include/libpmemobj.h" -e "^src/include/libpmemobj/" categorize pool -e "^src/libpmempool/" -e "^src/include/libpmempool.h" -e "^src/tools/pmempool/" categorize benchmark -e "^src/benchmarks/" diff --git a/utils/check-commit.sh b/utils/check-commit.sh index da85ad6be40..f834a6a09e8 100755 --- a/utils/check-commit.sh +++ b/utils/check-commit.sh @@ -30,7 +30,7 @@ if [[ $subject =~ ^Revert.* ]]; then fi # valid area names -AREAS="pmem\|pmem2\|log\|blk\|obj\|pool\|set\|test\|benchmark\|examples\|doc\|core\|common\|daxio\|pmreorder" +AREAS="pmem\|pmem2\|blk\|obj\|pool\|set\|test\|benchmark\|examples\|doc\|core\|common\|daxio\|pmreorder" prefix=$(echo $subject | sed -n "s/^\($AREAS\)\:.*/\1/p") diff --git a/utils/check_docs/docs_tests.py b/utils/check_docs/docs_tests.py index be748c75070..f09b9f9b22d 100644 --- a/utils/check_docs/docs_tests.py +++ b/utils/check_docs/docs_tests.py @@ -29,8 +29,7 @@ EXPRESSION_AT_THE_LINE_START = r'[\s]*([a-zA-Z_]+)[\\(\s]+' EXPRESSION_AFTER_DEFINE_PHRASE = r'[\s]*#define[\s]*([a-zA-Z_]+)[\\(\s]+' -PMDK_LIBRARIES = ['libpmem', 'libpmemlog', 'libpmemobj', - 'libpmempool', 'libpmem2'] +PMDK_LIBRARIES = ['libpmem', 'libpmemobj', 'libpmempool', 'libpmem2'] def get_exceptions(pmdk_path): diff --git a/utils/docker/arm64.blacklist b/utils/docker/arm64.blacklist index c5e168839b6..51cafb2ed8c 100644 --- a/utils/docker/arm64.blacklist +++ b/utils/docker/arm64.blacklist @@ -1,5 +1,4 @@ blk_pool_lock -log_pool_lock obj_basic_integration obj_pool_lock libpmempool_rm diff --git a/utils/get_aliases.sh b/utils/get_aliases.sh index 18390a36d94..c6abcb24da7 100755 --- a/utils/get_aliases.sh +++ b/utils/get_aliases.sh @@ -66,12 +66,6 @@ function list_pages { echo "${man_child[@]}" >> $map_file fi - if [ "$parent" == "libpmemlog" ]; then - man_child=($(ls -1 ../libpmemlog | grep -e ".*\.3$")) - echo -n "- $parent: " >> $map_file - echo "${man_child[@]}" >> $map_file - fi - if [ "$parent" == "libpmemobj" ]; then man_child=($(ls -1 ../libpmemobj | grep -e ".*\.3$")) echo -n "- $parent: " >> $map_file diff --git a/utils/libpmemlog.pc.in b/utils/libpmemlog.pc.in deleted file mode 100644 index f1658438b52..00000000000 --- a/utils/libpmemlog.pc.in +++ /dev/null @@ -1,9 +0,0 @@ -includedir=${prefix}/include - -Name: libpmemlog -Description: libpmemlog library from PMDK project -Version: ${version} -URL: https://pmem.io/pmdk -Requires.private: libpmem${rasdeps} -Libs: -L${libdir} -lpmemlog -Cflags: -I${includedir} diff --git a/utils/pmdk.spec.in b/utils/pmdk.spec.in index 0c244fb7221..ed4a475b477 100644 --- a/utils/pmdk.spec.in +++ b/utils/pmdk.spec.in @@ -274,69 +274,6 @@ debug version is to set the environment variable LD_LIBRARY_PATH to %doc ChangeLog CONTRIBUTING.md README.md -%package -n libpmemlog__PKG_NAME_SUFFIX__ -Summary: Persistent Memory Resident Log File library -Group: __GROUP_SYS_LIBS__ -Requires: libpmem__PKG_NAME_SUFFIX__ >= %{version}-%{release} -%description -n libpmemlog__PKG_NAME_SUFFIX__ -The libpmemlog library provides a pmem-resident log file. This is -useful for programs like databases that append frequently to a log -file. - -%files -n libpmemlog__PKG_NAME_SUFFIX__ -%defattr(-,root,root,-) -%{_libdir}/libpmemlog.so.* -%license LICENSE -%doc ChangeLog CONTRIBUTING.md README.md - - -%package -n libpmemlog-devel -Summary: Development files for the Persistent Memory Resident Log File library -Group: __GROUP_DEV_LIBS__ -Requires: libpmemlog__PKG_NAME_SUFFIX__ = %{version}-%{release} -Requires: libpmem-devel = %{version}-%{release} -%description -n libpmemlog-devel -The libpmemlog library provides a pmem-resident log file. This -library is provided for cases requiring an append-mostly file to -record variable length entries. Most developers will find higher -level libraries like libpmemobj to be more generally useful. - -%files -n libpmemlog-devel -%defattr(-,root,root,-) -%{_libdir}/libpmemlog.so -%{_libdir}/pkgconfig/libpmemlog.pc -%{_includedir}/libpmemlog.h -%{_mandir}/man7/libpmemlog.7.gz -%{_mandir}/man5/poolset.5.gz -%{_mandir}/man3/pmemlog_*.3.gz -%license LICENSE -%doc ChangeLog CONTRIBUTING.md README.md - - -%package -n libpmemlog-debug -Summary: Debug variant of the Persistent Memory Resident Log File library -Group: __GROUP_DEV_LIBS__ -Requires: libpmemlog__PKG_NAME_SUFFIX__ = %{version}-%{release} -%description -n libpmemlog-debug -The libpmemlog library provides a pmem-resident log file. This -library is provided for cases requiring an append-mostly file to -record variable length entries. Most developers will find higher -level libraries like libpmemobj to be more generally useful. - -This sub-package contains debug variant of the library, providing -run-time assertions and trace points. The typical way to access the -debug version is to set the environment variable LD_LIBRARY_PATH to -/usr/lib64/pmdk_debug. - -%files -n libpmemlog-debug -%defattr(-,root,root,-) -%dir %{_libdir}/pmdk_debug -%{_libdir}/pmdk_debug/libpmemlog.so -%{_libdir}/pmdk_debug/libpmemlog.so.* -%license LICENSE -%doc ChangeLog CONTRIBUTING.md README.md - - %package -n libpmemobj__PKG_NAME_SUFFIX__ Summary: Persistent Memory Transactional Object Store library Group: __GROUP_SYS_LIBS__ @@ -414,7 +351,7 @@ Requires: libpmem__PKG_NAME_SUFFIX__ >= %{version}-%{release} %description -n libpmempool__PKG_NAME_SUFFIX__ The libpmempool library provides a set of utilities for off-line administration, analysis, diagnostics and repair of persistent memory -pools created by libpmemlog, libpemblk and libpmemobj libraries. +pools created by libpemblk and libpmemobj libraries. %files -n libpmempool__PKG_NAME_SUFFIX__ %defattr(-,root,root,-) @@ -431,7 +368,7 @@ Requires: libpmem-devel = %{version}-%{release} %description -n libpmempool-devel The libpmempool library provides a set of utilities for off-line administration, analysis, diagnostics and repair of persistent memory -pools created by libpmemlog, libpemblk and libpmemobj libraries. +pools created by libpemblk and libpmemobj libraries. %files -n libpmempool-devel %defattr(-,root,root,-) @@ -452,7 +389,7 @@ Requires: libpmempool__PKG_NAME_SUFFIX__ = %{version}-%{release} %description -n libpmempool-debug The libpmempool library provides a set of utilities for off-line administration, analysis, diagnostics and repair of persistent memory -pools created by libpmemlog, libpemblk and libpmemobj libraries. +pools created by libpemblk and libpmemobj libraries. This sub-package contains debug variant of the library, providing run-time assertions and trace points. The typical way to access the @@ -471,7 +408,6 @@ debug version is to set the environment variable LD_LIBRARY_PATH to Summary: Utilities for Persistent Memory Group: __GROUP_SYS_BASE__ Requires: libpmem__PKG_NAME_SUFFIX__ >= %{version}-%{release} -Requires: libpmemlog__PKG_NAME_SUFFIX__ >= %{version}-%{release} Requires: libpmemblk__PKG_NAME_SUFFIX__ >= %{version}-%{release} Requires: libpmemobj__PKG_NAME_SUFFIX__ >= %{version}-%{release} Requires: libpmempool__PKG_NAME_SUFFIX__ >= %{version}-%{release} @@ -591,8 +527,6 @@ __MAKE_INSTALL_FDUPES__ %postun -n libpmem__PKG_NAME_SUFFIX__ -p /sbin/ldconfig %post -n libpmemblk__PKG_NAME_SUFFIX__ -p /sbin/ldconfig %postun -n libpmemblk__PKG_NAME_SUFFIX__ -p /sbin/ldconfig -%post -n libpmemlog__PKG_NAME_SUFFIX__ -p /sbin/ldconfig -%postun -n libpmemlog__PKG_NAME_SUFFIX__ -p /sbin/ldconfig %post -n libpmemobj__PKG_NAME_SUFFIX__ -p /sbin/ldconfig %postun -n libpmemobj__PKG_NAME_SUFFIX__ -p /sbin/ldconfig %post -n libpmempool__PKG_NAME_SUFFIX__ -p /sbin/ldconfig