- Update from version 7.0.1 to 7.2.0 - Update of rootfile - Changelog Overview of changes leading to 7.2.0 - Add Tifinagh to the list of scripts that can natively be either right-to-left or left-to-right, to improve handling of its glyph positioning. (Simon Cozens) - Return also single substitution from hb_ot_layout_lookup_get_glyph_alternates() (Behdad Esfahbod) - Fix 4.2.0 regression in applying across syllables in syllabic scripts. (Behdad Esfahbod) - Add flag to avoid glyph substitution closure during subsetting, and the corresponding “--no-layout-closure” option to “hb-subset” command line tool. (Garret Rieger) - Support instancing COLRv1 table. (Qunxin Liu) - Don’t drop used user-defined name table entries during subsetting. (Qunxin Liu) - Optimize handling of “gvar” table. (Behdad Esfahbod) - Various subsetter bug fixes and improvements. (Garret Rieger, Qunxin Liu) - Various documentation improvements. (Behdad Esfahbod, Josef Friedrich) - New API: +HB_SUBSET_FLAGS_NO_LAYOUT_CLOSURE +HB_UNICODE_COMBINING_CLASS_CCC132 - Deprecated API: +HB_UNICODE_COMBINING_CLASS_CCC133 Overview of changes leading to 7.1.0 - New experimental hb_shape_justify() API that uses font variations to expand or shrink the text to a given advance. (Behdad Esfahbod) - Various build and bug fixes. (Behdad Esfahbod, Garret Rieger, Qunxin Liu) - New API: +hb_font_set_variation()
Signed-off-by: Adolf Belka adolf.belka@ipfire.org --- config/rootfiles/common/harfbuzz | 7 ++++--- lfs/harfbuzz | 4 ++-- 2 files changed, 6 insertions(+), 5 deletions(-)
diff --git a/config/rootfiles/common/harfbuzz b/config/rootfiles/common/harfbuzz index b18e30a18..4798653a2 100644 --- a/config/rootfiles/common/harfbuzz +++ b/config/rootfiles/common/harfbuzz @@ -44,15 +44,15 @@ #usr/lib/libharfbuzz-cairo.la #usr/lib/libharfbuzz-cairo.so usr/lib/libharfbuzz-cairo.so.0 -usr/lib/libharfbuzz-cairo.so.0.60701.0 +usr/lib/libharfbuzz-cairo.so.0.60720.0 #usr/lib/libharfbuzz-subset.la #usr/lib/libharfbuzz-subset.so usr/lib/libharfbuzz-subset.so.0 -usr/lib/libharfbuzz-subset.so.0.60701.0 +usr/lib/libharfbuzz-subset.so.0.60720.0 #usr/lib/libharfbuzz.la #usr/lib/libharfbuzz.so usr/lib/libharfbuzz.so.0 -usr/lib/libharfbuzz.so.0.60701.0 +usr/lib/libharfbuzz.so.0.60720.0 #usr/lib/pkgconfig/harfbuzz-cairo.pc #usr/lib/pkgconfig/harfbuzz-subset.pc #usr/lib/pkgconfig/harfbuzz.pc @@ -127,6 +127,7 @@ usr/lib/libharfbuzz.so.0.60701.0 #usr/share/gtk-doc/html/harfbuzz/api-index-5-3-0.html #usr/share/gtk-doc/html/harfbuzz/api-index-6-0-0.html #usr/share/gtk-doc/html/harfbuzz/api-index-7-0-0.html +#usr/share/gtk-doc/html/harfbuzz/api-index-7-1-0.html #usr/share/gtk-doc/html/harfbuzz/api-index-full.html #usr/share/gtk-doc/html/harfbuzz/apple-advanced-typography-api.html #usr/share/gtk-doc/html/harfbuzz/buffers-language-script-and-direction.html diff --git a/lfs/harfbuzz b/lfs/harfbuzz index 17186b203..15cc9ff13 100644 --- a/lfs/harfbuzz +++ b/lfs/harfbuzz @@ -24,7 +24,7 @@
include Config
-VER = 7.0.1 +VER = 7.2.0
THISAPP = harfbuzz-$(VER) DL_FILE = $(THISAPP).tar.xz @@ -40,7 +40,7 @@ objects = $(DL_FILE)
$(DL_FILE) = $(DL_FROM)/$(DL_FILE)
-$(DL_FILE)_BLAKE2 = 4a8844093b627b8d5d2e6f7b735781334f2715fe5146bb135ba19fb5a38f2a38248028b447d985fbde4505cd66721766a727fa7fe1300efd31259c7cafb8b6f2 +$(DL_FILE)_BLAKE2 = 247746d6a0f132a0d6b0c461d9e96a4fe76bc08bca4d05b28a034de60afee8e049d798fdf3962b892b33424245d8f00a63d6068b034e80ad9d7733180e8533c1
install : $(TARGET)
- Update from version 6.2.0 to 6.3.0 - Update of rootfile not required - Changelog can only be reviewed by looking at the commits in the git repo https://git.kernel.org/pub/scm/network/iproute2/iproute2.git/log/
Signed-off-by: Adolf Belka adolf.belka@ipfire.org --- lfs/iproute2 | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-)
diff --git a/lfs/iproute2 b/lfs/iproute2 index f9e24fd09..c773291f3 100644 --- a/lfs/iproute2 +++ b/lfs/iproute2 @@ -24,7 +24,7 @@
include Config
-VER = 6.2.0 +VER = 6.3.0
THISAPP = iproute2-$(VER) DL_FILE = $(THISAPP).tar.xz @@ -40,7 +40,7 @@ objects = $(DL_FILE)
$(DL_FILE) = $(DL_FROM)/$(DL_FILE)
-$(DL_FILE)_BLAKE2 = d3bfaecf33ffc7861e983e8db0d6a63f4767b6c01b5346e88f51c65ed6279c4be29412ed18b8f98ed54d60a84455b73fe7745142fd0fc0f3e327a29e8bcce986 +$(DL_FILE)_BLAKE2 = a7b48c59c8a30f56ca810136f4d9f681fe38359999c260227a6229b972ce70b233d2865a6543cf3f70ed586825f9191c22d459a9fc5cc8c7dbf3ab417064c8a7
install : $(TARGET)
- Update from version 1.10.3 to 1.10.4 - Update of rootfile - Changelog Summary for 1.10.4 libpcap release Source code: Fix spaces before tabs in indentation. rpcap: Fix name of launchd service. Documentation: Document use of rpcapd with systemd, launchd, inetd, and xinetd. Building and testing: Require at least pkg-config 0.17.0, as we use --static. Get rid of the remains of gnuc.h. Require at least autoconf 2.69. Update config.{guess,sub}, timestamps 2023-01-01,2023-01-21.
Signed-off-by: Adolf Belka adolf.belka@ipfire.org --- config/rootfiles/common/libpcap | 3 +-- lfs/libpcap | 4 ++-- 2 files changed, 3 insertions(+), 4 deletions(-)
diff --git a/config/rootfiles/common/libpcap b/config/rootfiles/common/libpcap index 2371b4601..43c9140ea 100644 --- a/config/rootfiles/common/libpcap +++ b/config/rootfiles/common/libpcap @@ -2,7 +2,6 @@ #usr/include/pcap #usr/include/pcap-bpf.h #usr/include/pcap-namedb.h -#usr/include/pcap-util.h #usr/include/pcap.h #usr/include/pcap/bluetooth.h #usr/include/pcap/bpf.h @@ -22,7 +21,7 @@ #usr/lib/libpcap.a usr/lib/libpcap.so usr/lib/libpcap.so.1 -usr/lib/libpcap.so.1.10.3 +usr/lib/libpcap.so.1.10.4 #usr/lib/pkgconfig/libpcap.pc #usr/share/man/man1/pcap-config.1 #usr/share/man/man3/pcap.3pcap diff --git a/lfs/libpcap b/lfs/libpcap index 3f1de9b5a..0dfe562bf 100644 --- a/lfs/libpcap +++ b/lfs/libpcap @@ -24,7 +24,7 @@
include Config
-VER = 1.10.3 +VER = 1.10.4
THISAPP = libpcap-$(VER) DL_FILE = $(THISAPP).tar.gz @@ -42,7 +42,7 @@ objects = $(DL_FILE)
$(DL_FILE) = $(DL_FROM)/$(DL_FILE)
-$(DL_FILE)_BLAKE2 = 3614042f7d8cd5a25221f52d2ed09f9f44643cdc0901ff21041ddb7ba85193c667036f7d989c8b59e6e205d630e062da46533110914dd287013a9ff80b31e97f +$(DL_FILE)_BLAKE2 = 05a7eafc1e1817f7844008db89d8fb10cd2525c22f7ee6c9e3d582b14229412f38ccced5e9d80a96dd459ef9eab12eccb5c1dd4978ddc9f66267469212005e4c
install : $(TARGET)
- Update from version 2.10.3 to 2.11.1 - Update of rootfile - Changelog There were two CVE's in version 2.10.4 v2.11.1: Apr 30 2023 Fixes build and ABI issues. - cmake: Fix va_copy detection (Luca Niccoli) - libxml.m4: Fix quoting - Link with --undefined-version - libxml2.syms: Revert removal of version information v2.11.0: Apr 28 2023 ### Major changes Protection against entity expansion attacks, also known as "billion laughs" has been greatly improved. Malicious files should be detected reliably now and false positives should be reduced. It is possible though that large documents which make heavy use of entities are rejected now. This release finally fixes symbol visibility on UNIX systems. Internal symbols will now be hidden. While these symbols were never declared in public headers, it was still possible to declare them manually. Now this won't work. All symbol information has been removed from the ELF version script to fix link errors with --no-undefined-version. The version nodes are kept so it should still be possible to run binaries linked against older versions. About 90 memory errors in code paths handling malloc failures have been fixed. While these issues shouldn't impact security, this improves robustness under memory pressure. The XInclude engine has been reworked to properly support nested includes. Several cases of quadratic behavior in the XML push parser have been fixed. Refactoring has begun on some buffering and encoding code with the goal of simplifying this part of the code base and improving error reporting. Other highlights: - Consolidated private header files. - Major rework of the autoconf build. - Deprecated several outdated and internal functions. Special thanks to Google's Open Source Security Subsidies program for sponsoring much of the work on this release! Ongoing work on libxml2 relies on funding. For a list of important open issues see https://gitlab.gnome.org/GNOME/libxml2/-/issues/507 ### Security - Fix use-after-free in xmlParseContentInternal() (David Kilzer) - xmllint: Fix use-after-free with --maxmem - parser: Fix OOB read when formatting error message - entities: Rework entity amplification checks ### Regressions - parser: Fix regression in xmlParserNodeInfo accounting ### Bug fixes - Fix memory errors in code handling malloc failures - encoding: Fix error code in asciiToUTF8 - xpath: number('-') should return NaN - xmlParseStartTag2() contains typo when checking for default definitions for an attribute in a namespace (David Kilzer) - uri: Fix handling of port numbers - error: Make sure that error messages are valid UTF-8 - xinclude: Fix nested includes ### Improvements - xmllint: Validate --maxmem integer option - xmlValidatePopElement() can return invalid value (-1) (David Kilzer) - parser: Rework EBCDIC code page detection - parser: Limit name length in xmlParseEncName - parser: Rework shrinking of input buffers - html: Rely on CUR_CHAR to grow the input buffer - parser: Rely on CUR_CHAR/NEXT to grow the input buffer - valid: Make xmlValidateElement non-recursive - html: Fix quadratic behavior in htmlParseTryOrFinish - xmllint: Fix memory leak with --pattern --stream - parser: Stop calling xmlParserInputShrink - html: Impose some length limits - valid: Allow xmlFreeValidCtxt(NULL) - parser: Stop calling xmlParserInputGrow - xinclude: Fix quadratic behavior in xmlXIncludeLoadTxt - xinclude: Abort immediately if max depth was exceeded - xpath: Only report the first error - error: Don't move past current position - error: Limit number of parser errors - parser: Lower entity nesting limit with XML_PARSE_HUGE - parser: Don't increase depth twice when parsing internal entities - parser: Improve detection of entity loops - parser: Only report a single entity error - libxml.h: Remove dubious definition of LIBXML_STATIC - html: Improve parsing of nested lists - memory: Don't use locks in xmlMemUsed - encoding: Remove unused variable xmlDefaultCharEncodingHandler - Rework initialization code - Add .editorconfig - parser: Merge misc, prolog and epilog cases in push parser - parser: Fix 'consumed' accounting when switching encodings - html: Fix check for end of comment in push parser - parser: Fix push parser with 1-3 byte initial chunk - parser: Rewrite push parser boundary checks - reader: Switch to xmlParserInputBufferCreateMem - html: Don't escape ASCII chars in href attributes - io: Don't shrink memory input buffers - parser: Don't call xmlSHRINK from push parser - parser: Ignore cdata argument in xmlParseCharData - parser: Rework push parser parser progress checks - io: Fix a few integer overflows in I/O statistics - io: Rework xmlParserInputBufferGrow with encodings - io: Remove xmlInputReadCallbackNop - io: Check for memory buffer early in xmlParserInputGrow - parser: Fix error message in xmlParseCommentComplex - Bypass proxy in nanoHTTP for hosts in "no_proxy" (Markus Jörg) - schemas: Fix infinite loop in xmlSchemaCheckElemSubstGroup - threads: Remove check for pthread_equal - xinclude: Rework XInclude cache - xinclude: Remove inefficient refcounting scheme - xmllint: Improve handling of empty XPath node sets - parser: Fix potential memory leak in xmlParseAttValueInternal - error: Don't use initGenericErrorDefaultFunc - xpath: Lower XPath recursion limit on Windows - Stop including sys/types.h - Don't define WIN32 macro - Make xmlNewSAXParserCtx take a const sax handler - Consolidate private header files - Remove internal macros from parserInternals.h - Move some HTML functions to correct header file - xmllint: Stop calling xmlSAXDefaultVersion - Introduce xmlNewSAXParserCtxt and htmlNewSAXParserCtxt - Don't mess with parser options in htmlParseDocument - Remove useless call to htmlDefaultSAXHandlerInit - Remove htmlDefaultSAXHandler from non-SAX1 build - Don't initialize SAX handler in htmlReadMemory - Fix htmlReadMemory mixing up XML and HTML functions - Don't use default SAX handler to report unrelated errors - Create stream with buffer in xmlNewStringInputStream - xmlcatalog: Fix memory leaks ### Code quality - xzlib: Fix implicit sign change in xz_open - parser: Simplify calculation of available buffer space - parser: Use size_t when subtracting input buffer pointers - parser: Check for integer overflow when updating checkIndex - xpath: Fix harmless integer overflow in xmlXPathTranslateFunction - schematron: Use logical and - relaxng: Remove useless if statement - schemas: Remove useless if statement - pattern: Merge identical branches - regexp: Add sanity check in xmlRegCalloc2 - regexp: Simplify xmlRegAtomPush - encoding: Cast toupper argument to unsigned char - uri: Add explicit cast in xmlSaveUri - buf: Fix return value of xmlBufGetInputBase - parser: Fix integer overflow of input ID - parser: Remove useless ent->etype test in xmlParseReference - parser: Remove useless ent->children tests in xmlParseReference - xmlmemory.c: Remove xmlMemContentShow - libxml.h: Add comments and indentation - libxml.h: Don't include stdio.h - xmlexports.h: Disable docs for internal macro XMLPUBLIC - parser: Simplify xmlParseConditionalSections - io: Rearrange code in xmlSwitchInputEncodingInt - warnings: Fix -Wstrict-prototypes warning - warnings: Remove set-but-unused variables - Fix compiler warnings in SAX2.c - Fix unused variable warning in python/types.c - Fix compiler warning in examples - Fix compiler warnings in fuzzing code - Remove unused code in nanohttp.c - Remove or annotate char casts - Don't use sizeof(xmlChar) or sizeof(char) - Remove explicit integer casts ### Deprecations - parser: Deprecate more internal functions - parser: Deprecate some parser input functions - parser: Deprecate xmlString*DecodeEntities - threads: Deprecate some internal functions - buf: Deprecate static/immutable buffers - Deprecate internal parser functions - Deprecate old HTML SAX API - Generate deprecation warnings for old SAX API - Mark more functions setting globals as deprecated - Mark more parser functions as deprecated - Mark most SAX1 functions as deprecated - Deprecate some global variables ### Portability - autoconf: Warn about outdated C compilers - win32: Remove broken libxml2.def.src - Remove symbols from version script - catalog.c: Silence a cast warning on VS 2022 (Lukáš Tyrychtr) - libxml.h: Remove ancient LynxOS setup - Use python3 not python (Ross Burton) - xstc/fixup-tests.py: port to Python 3 (Ross Burton) - xstc/fixup-tests.py: unify whitespace (Ross Burton) - Remove hacky heuristic from b2dc5675 (Alex Richardson) - Avoid creating an out-of-bounds pointer by rewriting a check (Alex Richardson) - Hide internal functions - Correctly relocate internal pointers after realloc() (Alex Richardson) - Visual Studio builds: Allow silencing deprecation warnings (Chun-wei Fan) - Visual Studio: Define XML_DEPRECATED (Chun-wei Fan) - xmllint: Include <io.h> on Windows - warnings: Work around MSVC bug - sources: Silence C4013 warnings on Visual Studio (Chun-wei Fan) - python/setup.py.in: Improve Windows import patching (Chun-wei Fan) - python: Create .pyd on Windows - Fix Python build on Windows - Fix Windows compiler warnings in python/types.c - Fix libxml_PyFileGet - Remove BeOS support - Fix libxml_PyFileGet with stdout on macOS - Migrate from PyEval_ to PyObject_ - Port build_glob.py to Python 3 - Port genChRanges.py to Python 3 - xmlexports.h: Remove LIBXML_FASTCALL optimization - Remove XMLCALL and XMLCDECL macros from public headers - Remove XMLDECL macro from .c files ### Build systems - cmake: Link against `dl` and `dld` only when `LIBXML2_WITH_MODULES` is enabled (Alexander Kutelev) - autotools: Fix make distcheck - Remove RPM build, Makefile.tests, README.tests - libxml.m4: deprecate AM_PATH_XML2, wrap PKG_CHECK_MODULES instead (Ross Burton) - libxml.m4: fix -Wstrict-prototypes (Sam James) - cmake: Build static library with -DLIBXML_STATIC - autotools: Don't use version script on Windows - autotools: Fix winsock detection - autotools: Only add network libraries if HTTP/FTP enabled - autotools: Disable parallel Python build - python: Don't output missing generators during build - build: Remove check for broken ss_family - http: Simplify IPv6 checks - autotools: Fix network checks on Windows - Fix detection of GNU libiconv - cmake: Fix Python installation - cmake: Don't check for Python 2 - configure.ac: Also check for MSYS host - Improve network library detection - Detect ws2_32 with AC_SEARCH_LIBS - Rework network configure checks - Remove arg cast configure checks - Fix dlopen check - Remove HAVE_WIN32_THREADS configuration flag - Rework dlopen and pthread detection - Fix test in configure.ac - cmake: Enable GCC compiler warnings - Always link with -no-undefined - Use AM_CFLAGS and AM_LDFLAGS consistently - Remove -Wredundant-decls - Call AC_CHECK_* with multiple arguments - configure.ac: Remove checks for unused programs - Rework library detection in configure.ac - Rearrange configure.ac - Consolidate zlib and lzma detection - Remove "runtime debugging" - Consolidate simple API modules in configure.ac - Fix dependency resolution in configure.ac - Fix --with-valid --without-regexps build - Fix --with-schemas --without-xpath build - Don't build unneeded .c source files - Move xmlIsXHTML to tree.c - Cleanup distribution settings in Makefile.am - Also clean *.pyc files for Python 2 - Don't distribute libxml2.spec ### Tests - testchar: Add test for memory pull parser with encoding - fuzz: Also test init function of URI fuzzer - fuzz: Separate fuzzer for DTD validation - gitlab-ci: Enable all "integer" sanitizers - fuzz: Inject random malloc failures - fuzz: Support variable integer sizes in fuzz data - fuzz: Fix duplicate detection in fuzzEntityRecorder - fuzz: Set filename in xmlFuzzEntityLoader - fuzz: Allow xmlFuzzReadString(NULL) - fuzz: Fix Makefile dependencies - fuzz: Add test/recurse to seed corpus - fuzz: Add separate XInclude fuzzer - runsuite: Some errors are expected - testrecurse: Test entity expansion stats - testapi.c: Initialize catalog early - gentest.py: Fix memory leak in API tests - tests: Enable "runsuite" test - python/tests/reader2: use absolute paths everywhere (Ross Burton) - python/tests/reader2: always exit(1) if a test fails (Ross Burton) - testModule: exit if the module can't be opened (Ross Burton) - CI: disable modules in gcc:static build (Ross Burton) - CI: fix CI on MinGW builds (Ross Burton) - python: Fix memory leak checks - tests: Check that xmlInitParser doesn't allocate memory - tests: Fix use-after-free in Python tests - tests: Remove unneeded #includes - gitlab-ci: Make Test-Msvc exit if ctest fails - gitlab-ci: Treat compiler warnings as errors on MSVC - test: Add test for push parser boundaries - gitlab-ci: Upgrade image to Ubuntu 22.10, reenable MSan - gitlab-ci: Reenable LeakSanitizer - gitlab-ci: Fix llvm-symbolizer - xinclude: Don't create result doc for test with errors - xinclude: Also test error messages - gitlab-ci: Allow cast-align warnings from clang - gitlab-ci: Fix tar invocation - gitlab-ci: Move MSVC test to separate script - gitlab-ci: Fix SUFFIX, remove MINGW_PATH - gitlab-ci: Consolidate CMake test scripts - gitlab-ci: Only install MinGW autotools if needed - gitlab-ci: Only install cmake MinGW package if needed - gitlab-ci: Install 7-Zip using the .msi - Use $MSYSTEM and 'bash -lc' in MinGW CI - Add CI job for MinGW/Autotools - Consolidate CI scripts - Allow empty MINGW_PACKAGE_PREFIX - Move Dockerfile to .gitlab-ci directory - testapi: Disable on Windows for now - Disable fuzzer tests if glob.h wasn't found - Move automata test to runtest.c - Fix testapi when building --without-sax1 # Documentation - doc: Remove ancient files - Remove ancient TODOs - html: Fix htmlInitAutoClose documentation - doc: Mention new location of XML catalog as breaking change - doc: Mention potentially breaking changes in NEWS - doc: Remove xmlDllMain from documentation and version script - doc: Mention ${sysconfdir} in man pages - doc: Document xmlcatalog --convert - doc: Document xmllint --nodict and --pedantic - doc: Fix indentation in source XML files - xmllint: Document --quiet option - Improve cross-references in API docs - Improve documentation of globals - Fix documentation parser - Support comments for global variables in documentation - Fix update call in apibuild.py - Don't index anything in DOC_DISABLE sections - Fix warnings from apibuild.py - Start with documentation for maintainers v2.10.4: Apr 11 2023 ### Security - [CVE-2023-29469] Hashing of empty dict strings isn't deterministic - [CVE-2023-28484] Fix null deref in xmlSchemaFixupComplexType - schemas: Fix null-pointer-deref in xmlSchemaCheckCOSSTDerivedOK ### Regressions - SAX2: Ignore namespaces in HTML documents - io: Fix "buffer full" error with certain buffer sizes
Signed-off-by: Adolf Belka adolf.belka@ipfire.org --- config/rootfiles/common/libxml2 | 2 +- lfs/libxml2 | 6 +++--- 2 files changed, 4 insertions(+), 4 deletions(-)
diff --git a/config/rootfiles/common/libxml2 b/config/rootfiles/common/libxml2 index e9ecb599b..46def714f 100644 --- a/config/rootfiles/common/libxml2 +++ b/config/rootfiles/common/libxml2 @@ -54,7 +54,7 @@ #usr/lib/libxml2.la #usr/lib/libxml2.so usr/lib/libxml2.so.2 -usr/lib/libxml2.so.2.10.3 +usr/lib/libxml2.so.2.11.1 #usr/lib/pkgconfig/libxml-2.0.pc #usr/share/aclocal/libxml.m4 #usr/share/doc/libxml2 diff --git a/lfs/libxml2 b/lfs/libxml2 index ddcfdbff7..92fe88f2a 100644 --- a/lfs/libxml2 +++ b/lfs/libxml2 @@ -1,7 +1,7 @@ ############################################################################### # # # IPFire.org - A linux based firewall # -# Copyright (C) 2007-2018 IPFire Team info@ipfire.org # +# Copyright (C) 2007-2023 IPFire Team info@ipfire.org # # # # This program is free software: you can redistribute it and/or modify # # it under the terms of the GNU General Public License as published by # @@ -24,7 +24,7 @@
include Config
-VER = 2.10.3 +VER = 2.11.1
THISAPP = libxml2-$(VER) DL_FILE = $(THISAPP).tar.xz @@ -42,7 +42,7 @@ objects = $(DL_FILE)
$(DL_FILE) = $(DL_FROM)/$(DL_FILE)
-$(DL_FILE)_BLAKE2 = aef2cc87e4632ddc478ff719155fdcb17601a8af37ecc1145ca05e01340935b57f07722e016ca2b27e4b269d47bd2fe97db09119a47849e8745e077e42b8bb66 +$(DL_FILE)_BLAKE2 = 4ae2c8583ff2fb590b29ffc250baae8d4d3978c6cb9d1d7fadbd3d9aa1d38a69ed0aeb0c9036efb060f869154e6f6d6ea6464ecbb05c7e788b7d93b1c2fa932d
install : $(TARGET)
- Update from version 2.02.188 to 2.03.21 - Update of rootfile - Changelog version 2.03.21 - 21st April 2023 Fix activation of vdo-pool for with 0 length headers (converted pools). Avoid printing internal init messages when creation integration devices. Allow (write)cache over raid+integrity LV. version 2.03.20 - 21st March 2023 Fix segfault if using -S|--select with log/report_command_log=1 setting. Configure now fails when requested lvmlockd dependencies are missing. Add some configure Gentoo enhancements for static builds. version 2.03.19 - 21st February 2023 Configure supports --with-systemd-run executed from udev rules. Enhancement for build with MuslC systemd and non-bash system shells (dash). Do not reset SYSTEMD_READY variable in udev for PVs on MD and loop devices. Ensure udev is processing origin LV before its thick snapshots LVs. Fix and improve runtime memory size detection for VDO volumes. version 2.03.18 - 22nd December 2022 Fix issues reported by coverity scan. Fix warning for thin pool overprovisioning on lvextend (2.03.17). Add support for writecache metadata_only and pause_writeback settings. Fix missing error messages in lvmdbusd. Version 2.03.17 - 10th November 2022 Add new options (--fs, --fsmode) for FS handling when resizing LVs. Fix 'lvremove -S|--select LV' to not also remove its historical LV right away. Fix lv_active field type to binary so --select and --binary applies properly. Switch to use mallinfo2 and use it only with glibc. Error out in lvm shell if using a cmd argument not supported in the shell. Fix lvm shell's lastlog command to report previous pre-command failures. Extend VDO and VDOPOOL without flushing and locking fs. Add --valuesonly option to lvmconfig to print only values without keys. Updates configure with recent autoconf tooling. Fix lvconvert --test --type vdo-pool execution. Add json_std output format for more JSON standard compliant version of output. Fix vdo_slab_size_mb value for converted VDO volume. Fix many corner cases in device_id, including handling of S/N duplicates. Fix various issues in lvmdbusd. Version 2.03.16 - 18th May 2022 Fix segfault when handling selection with historical LVs. Add support --vdosettings with lvcreate, lvconvert, lvchange. Filtering multipath devices respects blacklist setting from multipath configuration. lvmdevices support for removing by device id using --deviceidtype and --deldev. Display writecache block size with lvs -o writecache_block_size. Improve cachesettings description in man lvmcache. Fix lossing of delete message on thin-pool extension. Version 2.03.15 - 07th February 2022 Remove service based autoactivation. global/event_activation = 0 is NOOP. Improve support for metadata profiles for --type writecache. Use cache or active DM device when available with new kernels. Introduce function to utilize UUIDs from DM_DEVICE_LIST. Increase some hash table size to better support large device sets. Version 2.03.14 - 20th October 2021 Device scanning is skipping directories on different filesystems. Print info message with too many or too large archived files. Reduce metadata readings during scanning phase. Optimize computation of crc32 check sum with multiple PVs. Enhance recover path on cache creation failure. Filter out unsupported MQ/SMQ cache policy setting. Fix memleak in mpath filter. Support newer location for VDO statistics. Add support for VDO async-unsafe write policy. Improve lvm_import_vdo script. Support VDO LV with lvcreate -ky. Fix lvconvert for VDO LV bigger then 2T. Create VDO LVs automatically without zeroing. Rename vdoimport to lvm_import_vdo. Version 2.03.13 - 11th August 2021 Changes in udev support: - obtain_device_list_from_udev defaults to 0. - see devices/external_device_info_source, devices/obtain_device_list_from_udev, and devices/multipath_wwids_file help in lvm.conf Fix devices file handling of loop with deleted backing file. Fix devices file handling of scsi_debug WWIDs. Fix many static analysis issues. Support --poolmetadataspare with vgsplit and vgmerge. Fix detection of active components of external origin volume. Add vdoimport tool to support conversion of VDO volumes. Support configurable allocation/vdo_pool_header_size. Fix handling of lvconvert --type vdo-pool --virtualsize. Simplified handling of archive() and backup() internal calls. Add 'idm' locking type for IDM lock manager. Fix load of kvdo target when it is not present in memory (2.03.12). Version 2.03.12 - 07th May 2021 Allow attaching cache to thin data volume. Fix memleak when generating list of outdated pvs. Better hyphenation usage in man pages. Replace use of deprecated security_context_t with char*. Configure supports AIO_LIBS and AIO_CFLAGS. Improve build process for static builds. New --setautoactivation option to modify LV or VG auto activation. New metadata based autoactivation property for LVs and VGs. Improve signal handling with lvmpolld. Signal handler can interrupt command also for SIGTERM. Lvreduce --yes support. Add configure option --with/out-symvers for non-glibc builds. Report error when the filesystem is missing on fsadm resized volume. Handle better blockdev with --getsize64 support for fsadm. Do not include editline/history.h when using editline library. Support error and zero segtype for thin-pool data for testing. Support mixed extension for striped, error and zero segtypes. Support resize also for stacked virtual volumes. Skip dm-zero devices just like with dm-error target. Reduce ioctl() calls when checking target status. Merge polling does not fail, when LV is found to be already merged. Poll volumes with at least 100ms delays. Do not flush dm cache when cached LV is going to be removed. New lvmlockctl_kill_command configuration option. Support interruption while waiting on device close before deactivation. Flush thin-pool messages before removing more thin volumes. Improve hash function with less collisions and make it faster. Reduce ioctl count when deactivating volumes. Reduce number of metadata parsing. Enhance performance of lvremove and vgremove commands. Support interruption when taking archive and backup. Accelerate large lvremoves. Speedup search for cached device nodes. Speedup command initialization. Add devices file feature, off by default for now. Support extension of writecached volumes. Fix problem with unbound variable usage within fsadm. Fix IMSM MD RAID detection on 4k devices. Check for presence of VDO target before starting any conversion. Support metatadata profiles with volume VDO pool conversions. Support -Zn for conversion of already formated VDO pools. Avoid removing LVs on error path of lvconvert during creation volumes. Fix crashing lvdisplay when thin volume was waiting for merge. Support option --errorwhenfull when converting volume to thin-pool. Improve thin-performance profile support conversion to thin-pool. Add workaround to avoid read of internal 'converted' devices. Prohibit merging snapshot into the read-only thick snapshot origin. Restore support for flipping rw/r permissions for thin snapshot origin. Support resize of cached volumes. Disable autoactivation with global/event_activation=0. Check if lvcreate passes read_only_volume_list with tags and skips zeroing. Allocation prints better error when metadata cannot fit on a single PV. Pvmove can better resolve full thin-pool tree move. Limit pool metadata spare to 16GiB. Improves conversion and allocation of pool metadata. Support thin pool metadata 15.88GiB, adds 64MiB, thin_pool_crop_metadata=0. Enhance lvdisplay to report raid available/partial. Support online rename of VDO pools. Improve removal of pmspare when last pool is removed. Fix problem with wiping of converted LVs. Fix memleak in scanning (2.03.11). Fix corner case allocation for thin-pools. Version 2.03.11 - 08th January 2021 Fix pvck handling MDA at offset different from 4096. Partial or degraded activation of writecache is not allowed. Enhance error handling for fsadm and handle correct fsck result. Dmeventd lvm plugin ignores higher reserved_stack lvm.conf values. Support using BLKZEROOUT for clearing devices. Support interruption when wipping LVs. Support interruption for bcache waiting. Fix bcache when device has too many failing writes. Fix bcache waiting for IO completion with failing disks. Configure use own python path name order to prefer using python3. Add configure --enable-editline support as an alternative to readline. Enhance reporting and error handling when creating thin volumes. Enable vgsplit for VDO volumes. Lvextend of vdo pool volumes ensure at least 1 new VDO slab is added. Use revert_lv() on reload error path after vg_revert(). Configure --with-integrity enabled. Restore lost signal blocking while VG lock is held. Improve estimation of needed extents when creating thin-pool. Use extra 1% when resizing thin-pool metadata LV with --use-policy. Enhance --use-policy percentage rounding. Configure --with-vdo and --with-writecache as internal segments. Improving VDO man page examples. Allow pvmove of writecache origin. Report integrity fields. Integrity volumes defaults to journal mode. Switch code base to use flexible array syntax. Fix 64bit math when calculation cachevol size. Preserve uint32_t for seqno handling. Switch from mmap to plain read when loading regular files. Update lvmvdo man page and better explain DISCARD usage. Version 2.03.10 - 09th August 2020 Add writecache and integrity support to lvmdbusd. Generate unique cachevol name when default required from lvcreate. Converting RAID1 volume to one with same number of legs now succeeds with a warning. Fix conversion to raid from striped lagging type. Fix conversion to 'mirrored' mirror log with larger regionsize. Zero pool metadata on allocation (disable with allocation/zero_metadata=0). Failure in zeroing or wiping will fail command (bypass with -Zn, -Wn). Add lvcreate of new cache or writecache lv with single command. Fix running out of free buffers for async writing for larger writes. Add integrity with raid capability. Fix support for lvconvert --repair used by foreign apps (i.e. Docker). Version 2.03.09 - 26th March 2020 Fix formatting of vdopool (vdo_slab_size_mb was smaller by 2 bits). Fix showing of a dm kernel error when uncaching a volume with cachevol. Version 2.03.08 - 11th February 2020 Prevent problematic snapshots of writecache volumes. Add error handling for failing allocation in _reserve_area(). Fix memleak in syncing of internal cache. Fix pvck dump_current_text memleak. Fix lvmlockd result code on error path for _query_lock_lv(). Update pvck man page and help output. Reject invalid writecache high/low_watermark setting. Report writecache status. Accept more output lines from vdo_format. Prohibit reshaping of stacked raid LVs. Avoid running cache input arg validation when creating vdo pool. Prevent raid reshaping of stacked volumes. Added VDO lvmdbusd methods for enable/disable compression & dedupe. Added VDO lvmdbusd method for converting LV to VDO pool. Version 2.03.07 - 30th November 2019 Subcommand in vgck for repairing headers and metadata. Ensure minimum required region size on striped RaidLV creation. Fix resize of thin-pool with data and metadata of different segtype. Improve mirror type leg splitting. Improve error path handling in daemons on shutdown. Fix activation order when removing merged snapshot. Experimental VDO support for lvmdbusd. Version 2.03.06 - 23rd October 2019 Add _cpool suffix to cache-pool LV name when used by caching LV. No longer store extra UUID for cmeta and cdata cachevol layer. Enhance activation of cache devices with cachevols. Add _cvol in list of protected suffixes and start use it with DM UUID. Rename LV converted to cachevol to use _cvol suffix. Use normal LVs for wiping of cachevols. Reload cleanered cache DM only with cleaner policy. Fix cmd return when zeroing of cachevol fails. Extend lvs to show all VDO properties. Preserve VDO write policy with vdopool. Increase default vdo bio threads to 4. Continue report when cache_status fails. Add support for DM_DEVICE_GET_TARGET_VERSION into device_mapper. Fix cmirrord usage of header files from device_mapper subdir. Allow standalone activation of VDO pool just like for thin-pools. Activate thin-pool layered volume as 'read-only' device. Ignore crypto devices with UUID signature CRYPT-SUBDEV. Enhance validation for thin and cache pool conversion and swapping. Improve internal removal of cached devices. Synchronize with udev when dropping snapshot. Add missing device synchronization point before removing pvmove node. Correctly set read_ahead for LVs when pvmove is finished. Remove unsupported OPTIONS+="event_timeout" udev rule from 11-dm-lvm.rules. Prevent creating VGs with PVs with different logical block sizes. Fix metadata writes from corrupting with large physical block size. Version 2.03.05 - 15th June 2019 Fix command definition for pvchange -a. Add vgck --updatemetadata command that will repair metadata problems. Improve VG reading to work if one good copy of metadata is found. Report/display/scan commands that read VGs will no longer write/repair. Move metadata repairs from VG reading to VG writing. Add config setting md_component_checks to control MD component checks. Add end of device MD component checks when dev has no udev info. Version 2.03.04 - 10th June 2019 Remove unused_duplicate_devs from cmd causing segfault in dmeventd. Version 2.03.03 - 07th June 2019 Report no_discard_passdown for cache LVs with lvs -o+kernel_discards. Add pvck --dump option to extract metadata. Fix signal delivery checking race in libdaemon (lvmetad). Add missing Before=shutdown.target to LVM2 services to fix shutdown ordering. Skip autoactivation for a PV when PV size does not match device size. Remove first-pvscan-initialization which should no longer be needed. Add remote refresh through lvmlockd/dlm for shared LVs after lvextend. Ignore foreign and shared PVs for pvscan online files. Add config setting to control fields in debug file and verbose output. Add command[pid] and timestamp to debug file and verbose output. Fix missing growth of _pmsmare volume when extending _tmeta volume. Automatically grow thin metadata, when thin data gets too big. Add synchronization with udev before removing cached devices. Add support for caching VDO LVs and VDOPOOL LVs. Add support for vgsplit with cached devices. Query mpath device only once per command for its state. Use device INFO instead of STATUS when checking for mpath device uuid. Change default io_memory_size from 4 to 8 MiB. Add config setting io_memory_size to set bcache size. Fix pvscan autoactivation for concurrent pvscans. Change scan_lvs default to 0 so LVs are not scanned for PVs. Thin-pool selects power-of-2 chunk size by default. Cache selects power-of-2 chunk size by default. Support reszing for VDOPoolLV and VDOLV. Improve -lXXX%VG modifier which improves cache segment estimation. Ensure migration_threshold for cache is at least 8 chunks. Restore missing man info lvcreate --zero for thin-pools. Drop misleadning comment for metadata minimum_io_size for VDO segment. Add device hints to reduce scanning. Introduce LVM_SUPPRESS_SYSLOG to suppress syslog usage by generator. Fix generator quering lvmconfig unpresent config option. Fix memleak on bcache error path code. Fix missing unlock on lvm2 dmeventd plugin error path initialization. Improve Makefile dependency tracking. Move VDO support towards V2 target (6.2) support. Version 2.03.02 - 18th December 2018 Fix missing proper initialization of pv_list struct when adding pv. Fix (de)activation of RaidLVs with visible SubLVs. Prohibit mirrored 'mirror' log via lvcreate and lvconvert. Use sync io if async io_setup fails, or use_aio=0 is set in config. Fix more issues reported by coverity scan. Version 2.03.01 - 31st October 2018 Version 2.03.00 - 10th October 2018 Add hot fix to avoiding locking collision when monitoring thin-pools. Allow raid4 -> linear conversion request. Fix lvconvert striped/raid0/raid0_meta -> raid6 regression. Add 'lvm2-activation-generator:' prefix for kmsg messages logged by generator. Add After=rbdmap.service to {lvm2-activation-net,blk-availability}.service. Reduce max concurrent aios to avoid EMFILE with many devices. Fix lvconvert conversion attempts to linear. Fix lvconvert raid0/raid0_meta -> striped regression. Fix lvconvert --splitmirror for mirror type (2.02.178). Do not pair cache policy and cache metadata format. lvconvert: reject conversions on raid1 LVs with split tracked SubLVs lvconvert: reject conversions on raid1 split tracked SubLVs Add basic creation support for VDO target. Never send any discard ioctl with test mode. Fix thin-pool alloc which needs same PV for data and metadata. Extend list of non-memlocked areas with newly linked libs. Enhance vgcfgrestore to check for active LVs in restored VG. Configure supports --disable-silent-rules for verbose builds. Fix unmonitoring of merging snapshots. Cache can uses metadata format 2 with cleaner policy. Fix check if resized PV can also fit metadata area. Avoid showing internal error in lvs output or pvmoved LVs. Remove clvmd Remove lvmlib (api) Remove lvmetad Use versionsort to fix archive file expiry beyond 100000 files.
Signed-off-by: Adolf Belka adolf.belka@ipfire.org --- config/rootfiles/common/lvm2 | 16 +++++++++++----- lfs/lvm2 | 6 +++--- 2 files changed, 14 insertions(+), 8 deletions(-)
diff --git a/config/rootfiles/common/lvm2 b/config/rootfiles/common/lvm2 index 258f3201f..bd1329e54 100644 --- a/config/rootfiles/common/lvm2 +++ b/config/rootfiles/common/lvm2 @@ -9,15 +9,17 @@ etc/lvm/lvm.conf #etc/lvm/profile/metadata_profile_template.profile #etc/lvm/profile/thin-generic.profile #etc/lvm/profile/thin-performance.profile +#etc/lvm/profile/vdo-small.profile lib/udev/rules.d/10-dm.rules lib/udev/rules.d/11-dm-lvm.rules lib/udev/rules.d/13-dm-disk.rules -lib/udev/rules.d/69-dm-lvm-metad.rules +lib/udev/rules.d/69-dm-lvm.rules lib/udev/rules.d/95-dm-notify.rules #usr/include/libdevmapper.h #usr/lib/libdevmapper.so usr/lib/libdevmapper.so.1.02 #usr/lib/pkgconfig/devmapper.pc +#usr/libexec/lvresize_fs_helper usr/sbin/blkdeactivate usr/sbin/dmsetup usr/sbin/dmstats @@ -28,11 +30,11 @@ usr/sbin/lvcreate usr/sbin/lvdisplay usr/sbin/lvextend usr/sbin/lvm -usr/sbin/lvmconf +usr/sbin/lvm_import_vdo usr/sbin/lvmconfig +usr/sbin/lvmdevices usr/sbin/lvmdiskscan usr/sbin/lvmdump -usr/sbin/lvmetad usr/sbin/lvmsadc usr/sbin/lvmsar usr/sbin/lvreduce @@ -61,6 +63,7 @@ usr/sbin/vgexport usr/sbin/vgextend usr/sbin/vgimport usr/sbin/vgimportclone +usr/sbin/vgimportdevices usr/sbin/vgmerge usr/sbin/vgmknodes usr/sbin/vgreduce @@ -70,11 +73,13 @@ usr/sbin/vgs usr/sbin/vgscan usr/sbin/vgsplit #usr/share/man/man5/lvm.conf.5 +#usr/share/man/man7/lvmautoactivation.7 #usr/share/man/man7/lvmcache.7 #usr/share/man/man7/lvmraid.7 #usr/share/man/man7/lvmreport.7 #usr/share/man/man7/lvmsystemid.7 #usr/share/man/man7/lvmthin.7 +#usr/share/man/man7/lvmvdo.7 #usr/share/man/man8/blkdeactivate.8 #usr/share/man/man8/dmsetup.8 #usr/share/man/man8/dmstats.8 @@ -89,11 +94,11 @@ usr/sbin/vgsplit #usr/share/man/man8/lvm-fullreport.8 #usr/share/man/man8/lvm-lvpoll.8 #usr/share/man/man8/lvm.8 -#usr/share/man/man8/lvmconf.8 +#usr/share/man/man8/lvm_import_vdo.8 #usr/share/man/man8/lvmconfig.8 +#usr/share/man/man8/lvmdevices.8 #usr/share/man/man8/lvmdiskscan.8 #usr/share/man/man8/lvmdump.8 -#usr/share/man/man8/lvmetad.8 #usr/share/man/man8/lvmsadc.8 #usr/share/man/man8/lvmsar.8 #usr/share/man/man8/lvreduce.8 @@ -122,6 +127,7 @@ usr/sbin/vgsplit #usr/share/man/man8/vgextend.8 #usr/share/man/man8/vgimport.8 #usr/share/man/man8/vgimportclone.8 +#usr/share/man/man8/vgimportdevices.8 #usr/share/man/man8/vgmerge.8 #usr/share/man/man8/vgmknodes.8 #usr/share/man/man8/vgreduce.8 diff --git a/lfs/lvm2 b/lfs/lvm2 index 7e327a021..5b39f05f5 100644 --- a/lfs/lvm2 +++ b/lfs/lvm2 @@ -1,7 +1,7 @@ ############################################################################### # # # IPFire.org - A linux based firewall # -# Copyright (C) 2007-2018 IPFire Team info@ipfire.org # +# Copyright (C) 2007-2023 IPFire Team info@ipfire.org # # # # This program is free software: you can redistribute it and/or modify # # it under the terms of the GNU General Public License as published by # @@ -24,7 +24,7 @@
include Config
-VER = 2.02.188 +VER = 2.03.21
THISAPP = LVM2.$(VER) DL_FILE = $(THISAPP).tgz @@ -40,7 +40,7 @@ objects = $(DL_FILE)
$(DL_FILE) = $(DL_FROM)/$(DL_FILE)
-$(DL_FILE)_BLAKE2 = bed90c8454cd4b20fdeec6dcbf5a9f97c9310671aea3b2252f8069cfa439fcb050f5ad95f928a7125a1734a4dc5ac985da99a4a570538e377a7205191a505476 +$(DL_FILE)_BLAKE2 = 529bc01b3d1ba6207c9ddc95309b39e6293fcd0286334240b9fdc076da0b7bc7e026338ec0243564ec153f2fb5009014149c3f8e0db0cd47a29418af62068728
install : $(TARGET)
This patch remove lvmetad but there is still an initskript that try to start it. I don't know what this does but it give an error at boot.
Arne
Am 2023-05-02 19:53, schrieb Adolf Belka:
- Update from version 2.02.188 to 2.03.21
- Update of rootfile
- Changelog version 2.03.21 - 21st April 2023 Fix activation of vdo-pool for with 0 length headers (converted
pools). Avoid printing internal init messages when creation integration devices. Allow (write)cache over raid+integrity LV. version 2.03.20 - 21st March 2023 Fix segfault if using -S|--select with log/report_command_log=1 setting. Configure now fails when requested lvmlockd dependencies are missing. Add some configure Gentoo enhancements for static builds. version 2.03.19 - 21st February 2023 Configure supports --with-systemd-run executed from udev rules. Enhancement for build with MuslC systemd and non-bash system shells (dash). Do not reset SYSTEMD_READY variable in udev for PVs on MD and loop devices. Ensure udev is processing origin LV before its thick snapshots LVs. Fix and improve runtime memory size detection for VDO volumes. version 2.03.18 - 22nd December 2022 Fix issues reported by coverity scan. Fix warning for thin pool overprovisioning on lvextend (2.03.17). Add support for writecache metadata_only and pause_writeback settings. Fix missing error messages in lvmdbusd. Version 2.03.17 - 10th November 2022 Add new options (--fs, --fsmode) for FS handling when resizing LVs. Fix 'lvremove -S|--select LV' to not also remove its historical LV right away. Fix lv_active field type to binary so --select and --binary applies properly. Switch to use mallinfo2 and use it only with glibc. Error out in lvm shell if using a cmd argument not supported in the shell. Fix lvm shell's lastlog command to report previous pre-command failures. Extend VDO and VDOPOOL without flushing and locking fs. Add --valuesonly option to lvmconfig to print only values without keys. Updates configure with recent autoconf tooling. Fix lvconvert --test --type vdo-pool execution. Add json_std output format for more JSON standard compliant version of output. Fix vdo_slab_size_mb value for converted VDO volume. Fix many corner cases in device_id, including handling of S/N duplicates. Fix various issues in lvmdbusd. Version 2.03.16 - 18th May 2022 Fix segfault when handling selection with historical LVs. Add support --vdosettings with lvcreate, lvconvert, lvchange. Filtering multipath devices respects blacklist setting from multipath configuration. lvmdevices support for removing by device id using --deviceidtype and --deldev. Display writecache block size with lvs -o writecache_block_size. Improve cachesettings description in man lvmcache. Fix lossing of delete message on thin-pool extension. Version 2.03.15 - 07th February 2022 Remove service based autoactivation. global/event_activation = 0 is NOOP. Improve support for metadata profiles for --type writecache. Use cache or active DM device when available with new kernels. Introduce function to utilize UUIDs from DM_DEVICE_LIST. Increase some hash table size to better support large device sets. Version 2.03.14 - 20th October 2021 Device scanning is skipping directories on different filesystems. Print info message with too many or too large archived files. Reduce metadata readings during scanning phase. Optimize computation of crc32 check sum with multiple PVs. Enhance recover path on cache creation failure. Filter out unsupported MQ/SMQ cache policy setting. Fix memleak in mpath filter. Support newer location for VDO statistics. Add support for VDO async-unsafe write policy. Improve lvm_import_vdo script. Support VDO LV with lvcreate -ky. Fix lvconvert for VDO LV bigger then 2T. Create VDO LVs automatically without zeroing. Rename vdoimport to lvm_import_vdo. Version 2.03.13 - 11th August 2021 Changes in udev support: - obtain_device_list_from_udev defaults to 0. - see devices/external_device_info_source, devices/obtain_device_list_from_udev, and devices/multipath_wwids_file help in lvm.conf Fix devices file handling of loop with deleted backing file. Fix devices file handling of scsi_debug WWIDs. Fix many static analysis issues. Support --poolmetadataspare with vgsplit and vgmerge. Fix detection of active components of external origin volume. Add vdoimport tool to support conversion of VDO volumes. Support configurable allocation/vdo_pool_header_size. Fix handling of lvconvert --type vdo-pool --virtualsize. Simplified handling of archive() and backup() internal calls. Add 'idm' locking type for IDM lock manager. Fix load of kvdo target when it is not present in memory (2.03.12). Version 2.03.12 - 07th May 2021 Allow attaching cache to thin data volume. Fix memleak when generating list of outdated pvs. Better hyphenation usage in man pages. Replace use of deprecated security_context_t with char*. Configure supports AIO_LIBS and AIO_CFLAGS. Improve build process for static builds. New --setautoactivation option to modify LV or VG auto activation. New metadata based autoactivation property for LVs and VGs. Improve signal handling with lvmpolld. Signal handler can interrupt command also for SIGTERM. Lvreduce --yes support. Add configure option --with/out-symvers for non-glibc builds. Report error when the filesystem is missing on fsadm resized volume. Handle better blockdev with --getsize64 support for fsadm. Do not include editline/history.h when using editline library. Support error and zero segtype for thin-pool data for testing. Support mixed extension for striped, error and zero segtypes. Support resize also for stacked virtual volumes. Skip dm-zero devices just like with dm-error target. Reduce ioctl() calls when checking target status. Merge polling does not fail, when LV is found to be already merged. Poll volumes with at least 100ms delays. Do not flush dm cache when cached LV is going to be removed. New lvmlockctl_kill_command configuration option. Support interruption while waiting on device close before deactivation. Flush thin-pool messages before removing more thin volumes. Improve hash function with less collisions and make it faster. Reduce ioctl count when deactivating volumes. Reduce number of metadata parsing. Enhance performance of lvremove and vgremove commands. Support interruption when taking archive and backup. Accelerate large lvremoves. Speedup search for cached device nodes. Speedup command initialization. Add devices file feature, off by default for now. Support extension of writecached volumes. Fix problem with unbound variable usage within fsadm. Fix IMSM MD RAID detection on 4k devices. Check for presence of VDO target before starting any conversion. Support metatadata profiles with volume VDO pool conversions. Support -Zn for conversion of already formated VDO pools. Avoid removing LVs on error path of lvconvert during creation volumes. Fix crashing lvdisplay when thin volume was waiting for merge. Support option --errorwhenfull when converting volume to thin-pool. Improve thin-performance profile support conversion to thin-pool. Add workaround to avoid read of internal 'converted' devices. Prohibit merging snapshot into the read-only thick snapshot origin. Restore support for flipping rw/r permissions for thin snapshot origin. Support resize of cached volumes. Disable autoactivation with global/event_activation=0. Check if lvcreate passes read_only_volume_list with tags and skips zeroing. Allocation prints better error when metadata cannot fit on a single PV. Pvmove can better resolve full thin-pool tree move. Limit pool metadata spare to 16GiB. Improves conversion and allocation of pool metadata. Support thin pool metadata 15.88GiB, adds 64MiB, thin_pool_crop_metadata=0. Enhance lvdisplay to report raid available/partial. Support online rename of VDO pools. Improve removal of pmspare when last pool is removed. Fix problem with wiping of converted LVs. Fix memleak in scanning (2.03.11). Fix corner case allocation for thin-pools. Version 2.03.11 - 08th January 2021 Fix pvck handling MDA at offset different from 4096. Partial or degraded activation of writecache is not allowed. Enhance error handling for fsadm and handle correct fsck result. Dmeventd lvm plugin ignores higher reserved_stack lvm.conf values. Support using BLKZEROOUT for clearing devices. Support interruption when wipping LVs. Support interruption for bcache waiting. Fix bcache when device has too many failing writes. Fix bcache waiting for IO completion with failing disks. Configure use own python path name order to prefer using python3. Add configure --enable-editline support as an alternative to readline. Enhance reporting and error handling when creating thin volumes. Enable vgsplit for VDO volumes. Lvextend of vdo pool volumes ensure at least 1 new VDO slab is added. Use revert_lv() on reload error path after vg_revert(). Configure --with-integrity enabled. Restore lost signal blocking while VG lock is held. Improve estimation of needed extents when creating thin-pool. Use extra 1% when resizing thin-pool metadata LV with --use-policy. Enhance --use-policy percentage rounding. Configure --with-vdo and --with-writecache as internal segments. Improving VDO man page examples. Allow pvmove of writecache origin. Report integrity fields. Integrity volumes defaults to journal mode. Switch code base to use flexible array syntax. Fix 64bit math when calculation cachevol size. Preserve uint32_t for seqno handling. Switch from mmap to plain read when loading regular files. Update lvmvdo man page and better explain DISCARD usage. Version 2.03.10 - 09th August 2020 Add writecache and integrity support to lvmdbusd. Generate unique cachevol name when default required from lvcreate. Converting RAID1 volume to one with same number of legs now succeeds with a warning. Fix conversion to raid from striped lagging type. Fix conversion to 'mirrored' mirror log with larger regionsize. Zero pool metadata on allocation (disable with allocation/zero_metadata=0). Failure in zeroing or wiping will fail command (bypass with -Zn, -Wn). Add lvcreate of new cache or writecache lv with single command. Fix running out of free buffers for async writing for larger writes. Add integrity with raid capability. Fix support for lvconvert --repair used by foreign apps (i.e. Docker). Version 2.03.09 - 26th March 2020 Fix formatting of vdopool (vdo_slab_size_mb was smaller by 2 bits). Fix showing of a dm kernel error when uncaching a volume with cachevol. Version 2.03.08 - 11th February 2020 Prevent problematic snapshots of writecache volumes. Add error handling for failing allocation in _reserve_area(). Fix memleak in syncing of internal cache. Fix pvck dump_current_text memleak. Fix lvmlockd result code on error path for _query_lock_lv(). Update pvck man page and help output. Reject invalid writecache high/low_watermark setting. Report writecache status. Accept more output lines from vdo_format. Prohibit reshaping of stacked raid LVs. Avoid running cache input arg validation when creating vdo pool. Prevent raid reshaping of stacked volumes. Added VDO lvmdbusd methods for enable/disable compression & dedupe. Added VDO lvmdbusd method for converting LV to VDO pool. Version 2.03.07 - 30th November 2019 Subcommand in vgck for repairing headers and metadata. Ensure minimum required region size on striped RaidLV creation. Fix resize of thin-pool with data and metadata of different segtype. Improve mirror type leg splitting. Improve error path handling in daemons on shutdown. Fix activation order when removing merged snapshot. Experimental VDO support for lvmdbusd. Version 2.03.06 - 23rd October 2019 Add _cpool suffix to cache-pool LV name when used by caching LV. No longer store extra UUID for cmeta and cdata cachevol layer. Enhance activation of cache devices with cachevols. Add _cvol in list of protected suffixes and start use it with DM UUID. Rename LV converted to cachevol to use _cvol suffix. Use normal LVs for wiping of cachevols. Reload cleanered cache DM only with cleaner policy. Fix cmd return when zeroing of cachevol fails. Extend lvs to show all VDO properties. Preserve VDO write policy with vdopool. Increase default vdo bio threads to 4. Continue report when cache_status fails. Add support for DM_DEVICE_GET_TARGET_VERSION into device_mapper. Fix cmirrord usage of header files from device_mapper subdir. Allow standalone activation of VDO pool just like for thin-pools. Activate thin-pool layered volume as 'read-only' device. Ignore crypto devices with UUID signature CRYPT-SUBDEV. Enhance validation for thin and cache pool conversion and swapping. Improve internal removal of cached devices. Synchronize with udev when dropping snapshot. Add missing device synchronization point before removing pvmove node. Correctly set read_ahead for LVs when pvmove is finished. Remove unsupported OPTIONS+="event_timeout" udev rule from 11-dm-lvm.rules. Prevent creating VGs with PVs with different logical block sizes. Fix metadata writes from corrupting with large physical block size. Version 2.03.05 - 15th June 2019 Fix command definition for pvchange -a. Add vgck --updatemetadata command that will repair metadata problems. Improve VG reading to work if one good copy of metadata is found. Report/display/scan commands that read VGs will no longer write/repair. Move metadata repairs from VG reading to VG writing. Add config setting md_component_checks to control MD component checks. Add end of device MD component checks when dev has no udev info. Version 2.03.04 - 10th June 2019 Remove unused_duplicate_devs from cmd causing segfault in dmeventd. Version 2.03.03 - 07th June 2019 Report no_discard_passdown for cache LVs with lvs -o+kernel_discards. Add pvck --dump option to extract metadata. Fix signal delivery checking race in libdaemon (lvmetad). Add missing Before=shutdown.target to LVM2 services to fix shutdown ordering. Skip autoactivation for a PV when PV size does not match device size. Remove first-pvscan-initialization which should no longer be needed. Add remote refresh through lvmlockd/dlm for shared LVs after lvextend. Ignore foreign and shared PVs for pvscan online files. Add config setting to control fields in debug file and verbose output. Add command[pid] and timestamp to debug file and verbose output. Fix missing growth of _pmsmare volume when extending _tmeta volume. Automatically grow thin metadata, when thin data gets too big. Add synchronization with udev before removing cached devices. Add support for caching VDO LVs and VDOPOOL LVs. Add support for vgsplit with cached devices. Query mpath device only once per command for its state. Use device INFO instead of STATUS when checking for mpath device uuid. Change default io_memory_size from 4 to 8 MiB. Add config setting io_memory_size to set bcache size. Fix pvscan autoactivation for concurrent pvscans. Change scan_lvs default to 0 so LVs are not scanned for PVs. Thin-pool selects power-of-2 chunk size by default. Cache selects power-of-2 chunk size by default. Support reszing for VDOPoolLV and VDOLV. Improve -lXXX%VG modifier which improves cache segment estimation. Ensure migration_threshold for cache is at least 8 chunks. Restore missing man info lvcreate --zero for thin-pools. Drop misleadning comment for metadata minimum_io_size for VDO segment. Add device hints to reduce scanning. Introduce LVM_SUPPRESS_SYSLOG to suppress syslog usage by generator. Fix generator quering lvmconfig unpresent config option. Fix memleak on bcache error path code. Fix missing unlock on lvm2 dmeventd plugin error path initialization. Improve Makefile dependency tracking. Move VDO support towards V2 target (6.2) support. Version 2.03.02 - 18th December 2018 Fix missing proper initialization of pv_list struct when adding pv. Fix (de)activation of RaidLVs with visible SubLVs. Prohibit mirrored 'mirror' log via lvcreate and lvconvert. Use sync io if async io_setup fails, or use_aio=0 is set in config. Fix more issues reported by coverity scan. Version 2.03.01 - 31st October 2018 Version 2.03.00 - 10th October 2018 Add hot fix to avoiding locking collision when monitoring thin-pools. Allow raid4 -> linear conversion request. Fix lvconvert striped/raid0/raid0_meta -> raid6 regression. Add 'lvm2-activation-generator:' prefix for kmsg messages logged by generator. Add After=rbdmap.service to {lvm2-activation-net,blk-availability}.service. Reduce max concurrent aios to avoid EMFILE with many devices. Fix lvconvert conversion attempts to linear. Fix lvconvert raid0/raid0_meta -> striped regression. Fix lvconvert --splitmirror for mirror type (2.02.178). Do not pair cache policy and cache metadata format. lvconvert: reject conversions on raid1 LVs with split tracked SubLVs lvconvert: reject conversions on raid1 split tracked SubLVs Add basic creation support for VDO target. Never send any discard ioctl with test mode. Fix thin-pool alloc which needs same PV for data and metadata. Extend list of non-memlocked areas with newly linked libs. Enhance vgcfgrestore to check for active LVs in restored VG. Configure supports --disable-silent-rules for verbose builds. Fix unmonitoring of merging snapshots. Cache can uses metadata format 2 with cleaner policy. Fix check if resized PV can also fit metadata area. Avoid showing internal error in lvs output or pvmoved LVs. Remove clvmd Remove lvmlib (api) Remove lvmetad Use versionsort to fix archive file expiry beyond 100000 files.
Signed-off-by: Adolf Belka adolf.belka@ipfire.org
config/rootfiles/common/lvm2 | 16 +++++++++++----- lfs/lvm2 | 6 +++--- 2 files changed, 14 insertions(+), 8 deletions(-)
diff --git a/config/rootfiles/common/lvm2 b/config/rootfiles/common/lvm2 index 258f3201f..bd1329e54 100644 --- a/config/rootfiles/common/lvm2 +++ b/config/rootfiles/common/lvm2 @@ -9,15 +9,17 @@ etc/lvm/lvm.conf #etc/lvm/profile/metadata_profile_template.profile #etc/lvm/profile/thin-generic.profile #etc/lvm/profile/thin-performance.profile +#etc/lvm/profile/vdo-small.profile lib/udev/rules.d/10-dm.rules lib/udev/rules.d/11-dm-lvm.rules lib/udev/rules.d/13-dm-disk.rules -lib/udev/rules.d/69-dm-lvm-metad.rules +lib/udev/rules.d/69-dm-lvm.rules lib/udev/rules.d/95-dm-notify.rules #usr/include/libdevmapper.h #usr/lib/libdevmapper.so usr/lib/libdevmapper.so.1.02 #usr/lib/pkgconfig/devmapper.pc +#usr/libexec/lvresize_fs_helper usr/sbin/blkdeactivate usr/sbin/dmsetup usr/sbin/dmstats @@ -28,11 +30,11 @@ usr/sbin/lvcreate usr/sbin/lvdisplay usr/sbin/lvextend usr/sbin/lvm -usr/sbin/lvmconf +usr/sbin/lvm_import_vdo usr/sbin/lvmconfig +usr/sbin/lvmdevices usr/sbin/lvmdiskscan usr/sbin/lvmdump -usr/sbin/lvmetad usr/sbin/lvmsadc usr/sbin/lvmsar usr/sbin/lvreduce @@ -61,6 +63,7 @@ usr/sbin/vgexport usr/sbin/vgextend usr/sbin/vgimport usr/sbin/vgimportclone +usr/sbin/vgimportdevices usr/sbin/vgmerge usr/sbin/vgmknodes usr/sbin/vgreduce @@ -70,11 +73,13 @@ usr/sbin/vgs usr/sbin/vgscan usr/sbin/vgsplit #usr/share/man/man5/lvm.conf.5 +#usr/share/man/man7/lvmautoactivation.7 #usr/share/man/man7/lvmcache.7 #usr/share/man/man7/lvmraid.7 #usr/share/man/man7/lvmreport.7 #usr/share/man/man7/lvmsystemid.7 #usr/share/man/man7/lvmthin.7 +#usr/share/man/man7/lvmvdo.7 #usr/share/man/man8/blkdeactivate.8 #usr/share/man/man8/dmsetup.8 #usr/share/man/man8/dmstats.8 @@ -89,11 +94,11 @@ usr/sbin/vgsplit #usr/share/man/man8/lvm-fullreport.8 #usr/share/man/man8/lvm-lvpoll.8 #usr/share/man/man8/lvm.8 -#usr/share/man/man8/lvmconf.8 +#usr/share/man/man8/lvm_import_vdo.8 #usr/share/man/man8/lvmconfig.8 +#usr/share/man/man8/lvmdevices.8 #usr/share/man/man8/lvmdiskscan.8 #usr/share/man/man8/lvmdump.8 -#usr/share/man/man8/lvmetad.8 #usr/share/man/man8/lvmsadc.8 #usr/share/man/man8/lvmsar.8 #usr/share/man/man8/lvreduce.8 @@ -122,6 +127,7 @@ usr/sbin/vgsplit #usr/share/man/man8/vgextend.8 #usr/share/man/man8/vgimport.8 #usr/share/man/man8/vgimportclone.8 +#usr/share/man/man8/vgimportdevices.8 #usr/share/man/man8/vgmerge.8 #usr/share/man/man8/vgmknodes.8 #usr/share/man/man8/vgreduce.8 diff --git a/lfs/lvm2 b/lfs/lvm2 index 7e327a021..5b39f05f5 100644 --- a/lfs/lvm2 +++ b/lfs/lvm2 @@ -1,7 +1,7 @@
############################################################################### # # # IPFire.org - A linux based firewall # -# Copyright (C) 2007-2018 IPFire Team info@ipfire.org # +# Copyright (C) 2007-2023 IPFire Team info@ipfire.org # # # # This program is free software: you can redistribute it and/or modify # # it under the terms of the GNU General Public License as published by # @@ -24,7 +24,7 @@
include Config
-VER = 2.02.188 +VER = 2.03.21
THISAPP = LVM2.$(VER) DL_FILE = $(THISAPP).tgz @@ -40,7 +40,7 @@ objects = $(DL_FILE)
$(DL_FILE) = $(DL_FROM)/$(DL_FILE)
-$(DL_FILE)_BLAKE2 = bed90c8454cd4b20fdeec6dcbf5a9f97c9310671aea3b2252f8069cfa439fcb050f5ad95f928a7125a1734a4dc5ac985da99a4a570538e377a7205191a505476 +$(DL_FILE)_BLAKE2 = 529bc01b3d1ba6207c9ddc95309b39e6293fcd0286334240b9fdc076da0b7bc7e026338ec0243564ec153f2fb5009014149c3f8e0db0cd47a29418af62068728
install : $(TARGET)
This is a service that caches any meta information about the LVM arrays.
At some point, we decided to run it by default, because it makes any block operations a little bit faster.
The change log states that it has been removed, so we simply need to drop this line. I do not think that this will cause any other changes for us.
-Michael
On 9 May 2023, at 08:51, Arne Fitzenreiter arne_f@ipfire.org wrote:
This patch remove lvmetad but there is still an initskript that try to start it. I don't know what this does but it give an error at boot.
Arne
Am 2023-05-02 19:53, schrieb Adolf Belka:
- Update from version 2.02.188 to 2.03.21
- Update of rootfile
- Changelog version 2.03.21 - 21st April 2023
Fix activation of vdo-pool for with 0 length headers (converted pools). Avoid printing internal init messages when creation integration devices. Allow (write)cache over raid+integrity LV. version 2.03.20 - 21st March 2023 Fix segfault if using -S|--select with log/report_command_log=1 setting. Configure now fails when requested lvmlockd dependencies are missing. Add some configure Gentoo enhancements for static builds. version 2.03.19 - 21st February 2023 Configure supports --with-systemd-run executed from udev rules. Enhancement for build with MuslC systemd and non-bash system shells (dash). Do not reset SYSTEMD_READY variable in udev for PVs on MD and loop devices. Ensure udev is processing origin LV before its thick snapshots LVs. Fix and improve runtime memory size detection for VDO volumes. version 2.03.18 - 22nd December 2022 Fix issues reported by coverity scan. Fix warning for thin pool overprovisioning on lvextend (2.03.17). Add support for writecache metadata_only and pause_writeback settings. Fix missing error messages in lvmdbusd. Version 2.03.17 - 10th November 2022 Add new options (--fs, --fsmode) for FS handling when resizing LVs. Fix 'lvremove -S|--select LV' to not also remove its historical LV right away. Fix lv_active field type to binary so --select and --binary applies properly. Switch to use mallinfo2 and use it only with glibc. Error out in lvm shell if using a cmd argument not supported in the shell. Fix lvm shell's lastlog command to report previous pre-command failures. Extend VDO and VDOPOOL without flushing and locking fs. Add --valuesonly option to lvmconfig to print only values without keys. Updates configure with recent autoconf tooling. Fix lvconvert --test --type vdo-pool execution. Add json_std output format for more JSON standard compliant version of output. Fix vdo_slab_size_mb value for converted VDO volume. Fix many corner cases in device_id, including handling of S/N duplicates. Fix various issues in lvmdbusd. Version 2.03.16 - 18th May 2022 Fix segfault when handling selection with historical LVs. Add support --vdosettings with lvcreate, lvconvert, lvchange. Filtering multipath devices respects blacklist setting from multipath configuration. lvmdevices support for removing by device id using --deviceidtype and --deldev. Display writecache block size with lvs -o writecache_block_size. Improve cachesettings description in man lvmcache. Fix lossing of delete message on thin-pool extension. Version 2.03.15 - 07th February 2022 Remove service based autoactivation. global/event_activation = 0 is NOOP. Improve support for metadata profiles for --type writecache. Use cache or active DM device when available with new kernels. Introduce function to utilize UUIDs from DM_DEVICE_LIST. Increase some hash table size to better support large device sets. Version 2.03.14 - 20th October 2021 Device scanning is skipping directories on different filesystems. Print info message with too many or too large archived files. Reduce metadata readings during scanning phase. Optimize computation of crc32 check sum with multiple PVs. Enhance recover path on cache creation failure. Filter out unsupported MQ/SMQ cache policy setting. Fix memleak in mpath filter. Support newer location for VDO statistics. Add support for VDO async-unsafe write policy. Improve lvm_import_vdo script. Support VDO LV with lvcreate -ky. Fix lvconvert for VDO LV bigger then 2T. Create VDO LVs automatically without zeroing. Rename vdoimport to lvm_import_vdo. Version 2.03.13 - 11th August 2021 Changes in udev support:
- obtain_device_list_from_udev defaults to 0.
- see devices/external_device_info_source, devices/obtain_device_list_from_udev, and devices/multipath_wwids_file help in lvm.conf
Fix devices file handling of loop with deleted backing file. Fix devices file handling of scsi_debug WWIDs. Fix many static analysis issues. Support --poolmetadataspare with vgsplit and vgmerge. Fix detection of active components of external origin volume. Add vdoimport tool to support conversion of VDO volumes. Support configurable allocation/vdo_pool_header_size. Fix handling of lvconvert --type vdo-pool --virtualsize. Simplified handling of archive() and backup() internal calls. Add 'idm' locking type for IDM lock manager. Fix load of kvdo target when it is not present in memory (2.03.12). Version 2.03.12 - 07th May 2021 Allow attaching cache to thin data volume. Fix memleak when generating list of outdated pvs. Better hyphenation usage in man pages. Replace use of deprecated security_context_t with char*. Configure supports AIO_LIBS and AIO_CFLAGS. Improve build process for static builds. New --setautoactivation option to modify LV or VG auto activation. New metadata based autoactivation property for LVs and VGs. Improve signal handling with lvmpolld. Signal handler can interrupt command also for SIGTERM. Lvreduce --yes support. Add configure option --with/out-symvers for non-glibc builds. Report error when the filesystem is missing on fsadm resized volume. Handle better blockdev with --getsize64 support for fsadm. Do not include editline/history.h when using editline library. Support error and zero segtype for thin-pool data for testing. Support mixed extension for striped, error and zero segtypes. Support resize also for stacked virtual volumes. Skip dm-zero devices just like with dm-error target. Reduce ioctl() calls when checking target status. Merge polling does not fail, when LV is found to be already merged. Poll volumes with at least 100ms delays. Do not flush dm cache when cached LV is going to be removed. New lvmlockctl_kill_command configuration option. Support interruption while waiting on device close before deactivation. Flush thin-pool messages before removing more thin volumes. Improve hash function with less collisions and make it faster. Reduce ioctl count when deactivating volumes. Reduce number of metadata parsing. Enhance performance of lvremove and vgremove commands. Support interruption when taking archive and backup. Accelerate large lvremoves. Speedup search for cached device nodes. Speedup command initialization. Add devices file feature, off by default for now. Support extension of writecached volumes. Fix problem with unbound variable usage within fsadm. Fix IMSM MD RAID detection on 4k devices. Check for presence of VDO target before starting any conversion. Support metatadata profiles with volume VDO pool conversions. Support -Zn for conversion of already formated VDO pools. Avoid removing LVs on error path of lvconvert during creation volumes. Fix crashing lvdisplay when thin volume was waiting for merge. Support option --errorwhenfull when converting volume to thin-pool. Improve thin-performance profile support conversion to thin-pool. Add workaround to avoid read of internal 'converted' devices. Prohibit merging snapshot into the read-only thick snapshot origin. Restore support for flipping rw/r permissions for thin snapshot origin. Support resize of cached volumes. Disable autoactivation with global/event_activation=0. Check if lvcreate passes read_only_volume_list with tags and skips zeroing. Allocation prints better error when metadata cannot fit on a single PV. Pvmove can better resolve full thin-pool tree move. Limit pool metadata spare to 16GiB. Improves conversion and allocation of pool metadata. Support thin pool metadata 15.88GiB, adds 64MiB, thin_pool_crop_metadata=0. Enhance lvdisplay to report raid available/partial. Support online rename of VDO pools. Improve removal of pmspare when last pool is removed. Fix problem with wiping of converted LVs. Fix memleak in scanning (2.03.11). Fix corner case allocation for thin-pools. Version 2.03.11 - 08th January 2021 Fix pvck handling MDA at offset different from 4096. Partial or degraded activation of writecache is not allowed. Enhance error handling for fsadm and handle correct fsck result. Dmeventd lvm plugin ignores higher reserved_stack lvm.conf values. Support using BLKZEROOUT for clearing devices. Support interruption when wipping LVs. Support interruption for bcache waiting. Fix bcache when device has too many failing writes. Fix bcache waiting for IO completion with failing disks. Configure use own python path name order to prefer using python3. Add configure --enable-editline support as an alternative to readline. Enhance reporting and error handling when creating thin volumes. Enable vgsplit for VDO volumes. Lvextend of vdo pool volumes ensure at least 1 new VDO slab is added. Use revert_lv() on reload error path after vg_revert(). Configure --with-integrity enabled. Restore lost signal blocking while VG lock is held. Improve estimation of needed extents when creating thin-pool. Use extra 1% when resizing thin-pool metadata LV with --use-policy. Enhance --use-policy percentage rounding. Configure --with-vdo and --with-writecache as internal segments. Improving VDO man page examples. Allow pvmove of writecache origin. Report integrity fields. Integrity volumes defaults to journal mode. Switch code base to use flexible array syntax. Fix 64bit math when calculation cachevol size. Preserve uint32_t for seqno handling. Switch from mmap to plain read when loading regular files. Update lvmvdo man page and better explain DISCARD usage. Version 2.03.10 - 09th August 2020 Add writecache and integrity support to lvmdbusd. Generate unique cachevol name when default required from lvcreate. Converting RAID1 volume to one with same number of legs now succeeds with a warning. Fix conversion to raid from striped lagging type. Fix conversion to 'mirrored' mirror log with larger regionsize. Zero pool metadata on allocation (disable with allocation/zero_metadata=0). Failure in zeroing or wiping will fail command (bypass with -Zn, -Wn). Add lvcreate of new cache or writecache lv with single command. Fix running out of free buffers for async writing for larger writes. Add integrity with raid capability. Fix support for lvconvert --repair used by foreign apps (i.e. Docker). Version 2.03.09 - 26th March 2020 Fix formatting of vdopool (vdo_slab_size_mb was smaller by 2 bits). Fix showing of a dm kernel error when uncaching a volume with cachevol. Version 2.03.08 - 11th February 2020 Prevent problematic snapshots of writecache volumes. Add error handling for failing allocation in _reserve_area(). Fix memleak in syncing of internal cache. Fix pvck dump_current_text memleak. Fix lvmlockd result code on error path for _query_lock_lv(). Update pvck man page and help output. Reject invalid writecache high/low_watermark setting. Report writecache status. Accept more output lines from vdo_format. Prohibit reshaping of stacked raid LVs. Avoid running cache input arg validation when creating vdo pool. Prevent raid reshaping of stacked volumes. Added VDO lvmdbusd methods for enable/disable compression & dedupe. Added VDO lvmdbusd method for converting LV to VDO pool. Version 2.03.07 - 30th November 2019 Subcommand in vgck for repairing headers and metadata. Ensure minimum required region size on striped RaidLV creation. Fix resize of thin-pool with data and metadata of different segtype. Improve mirror type leg splitting. Improve error path handling in daemons on shutdown. Fix activation order when removing merged snapshot. Experimental VDO support for lvmdbusd. Version 2.03.06 - 23rd October 2019 Add _cpool suffix to cache-pool LV name when used by caching LV. No longer store extra UUID for cmeta and cdata cachevol layer. Enhance activation of cache devices with cachevols. Add _cvol in list of protected suffixes and start use it with DM UUID. Rename LV converted to cachevol to use _cvol suffix. Use normal LVs for wiping of cachevols. Reload cleanered cache DM only with cleaner policy. Fix cmd return when zeroing of cachevol fails. Extend lvs to show all VDO properties. Preserve VDO write policy with vdopool. Increase default vdo bio threads to 4. Continue report when cache_status fails. Add support for DM_DEVICE_GET_TARGET_VERSION into device_mapper. Fix cmirrord usage of header files from device_mapper subdir. Allow standalone activation of VDO pool just like for thin-pools. Activate thin-pool layered volume as 'read-only' device. Ignore crypto devices with UUID signature CRYPT-SUBDEV. Enhance validation for thin and cache pool conversion and swapping. Improve internal removal of cached devices. Synchronize with udev when dropping snapshot. Add missing device synchronization point before removing pvmove node. Correctly set read_ahead for LVs when pvmove is finished. Remove unsupported OPTIONS+="event_timeout" udev rule from 11-dm-lvm.rules. Prevent creating VGs with PVs with different logical block sizes. Fix metadata writes from corrupting with large physical block size. Version 2.03.05 - 15th June 2019 Fix command definition for pvchange -a. Add vgck --updatemetadata command that will repair metadata problems. Improve VG reading to work if one good copy of metadata is found. Report/display/scan commands that read VGs will no longer write/repair. Move metadata repairs from VG reading to VG writing. Add config setting md_component_checks to control MD component checks. Add end of device MD component checks when dev has no udev info. Version 2.03.04 - 10th June 2019 Remove unused_duplicate_devs from cmd causing segfault in dmeventd. Version 2.03.03 - 07th June 2019 Report no_discard_passdown for cache LVs with lvs -o+kernel_discards. Add pvck --dump option to extract metadata. Fix signal delivery checking race in libdaemon (lvmetad). Add missing Before=shutdown.target to LVM2 services to fix shutdown ordering. Skip autoactivation for a PV when PV size does not match device size. Remove first-pvscan-initialization which should no longer be needed. Add remote refresh through lvmlockd/dlm for shared LVs after lvextend. Ignore foreign and shared PVs for pvscan online files. Add config setting to control fields in debug file and verbose output. Add command[pid] and timestamp to debug file and verbose output. Fix missing growth of _pmsmare volume when extending _tmeta volume. Automatically grow thin metadata, when thin data gets too big. Add synchronization with udev before removing cached devices. Add support for caching VDO LVs and VDOPOOL LVs. Add support for vgsplit with cached devices. Query mpath device only once per command for its state. Use device INFO instead of STATUS when checking for mpath device uuid. Change default io_memory_size from 4 to 8 MiB. Add config setting io_memory_size to set bcache size. Fix pvscan autoactivation for concurrent pvscans. Change scan_lvs default to 0 so LVs are not scanned for PVs. Thin-pool selects power-of-2 chunk size by default. Cache selects power-of-2 chunk size by default. Support reszing for VDOPoolLV and VDOLV. Improve -lXXX%VG modifier which improves cache segment estimation. Ensure migration_threshold for cache is at least 8 chunks. Restore missing man info lvcreate --zero for thin-pools. Drop misleadning comment for metadata minimum_io_size for VDO segment. Add device hints to reduce scanning. Introduce LVM_SUPPRESS_SYSLOG to suppress syslog usage by generator. Fix generator quering lvmconfig unpresent config option. Fix memleak on bcache error path code. Fix missing unlock on lvm2 dmeventd plugin error path initialization. Improve Makefile dependency tracking. Move VDO support towards V2 target (6.2) support. Version 2.03.02 - 18th December 2018 Fix missing proper initialization of pv_list struct when adding pv. Fix (de)activation of RaidLVs with visible SubLVs. Prohibit mirrored 'mirror' log via lvcreate and lvconvert. Use sync io if async io_setup fails, or use_aio=0 is set in config. Fix more issues reported by coverity scan. Version 2.03.01 - 31st October 2018 Version 2.03.00 - 10th October 2018 Add hot fix to avoiding locking collision when monitoring thin-pools. Allow raid4 -> linear conversion request. Fix lvconvert striped/raid0/raid0_meta -> raid6 regression. Add 'lvm2-activation-generator:' prefix for kmsg messages logged by generator. Add After=rbdmap.service to {lvm2-activation-net,blk-availability}.service. Reduce max concurrent aios to avoid EMFILE with many devices. Fix lvconvert conversion attempts to linear. Fix lvconvert raid0/raid0_meta -> striped regression. Fix lvconvert --splitmirror for mirror type (2.02.178). Do not pair cache policy and cache metadata format. lvconvert: reject conversions on raid1 LVs with split tracked SubLVs lvconvert: reject conversions on raid1 split tracked SubLVs Add basic creation support for VDO target. Never send any discard ioctl with test mode. Fix thin-pool alloc which needs same PV for data and metadata. Extend list of non-memlocked areas with newly linked libs. Enhance vgcfgrestore to check for active LVs in restored VG. Configure supports --disable-silent-rules for verbose builds. Fix unmonitoring of merging snapshots. Cache can uses metadata format 2 with cleaner policy. Fix check if resized PV can also fit metadata area. Avoid showing internal error in lvs output or pvmoved LVs. Remove clvmd Remove lvmlib (api) Remove lvmetad Use versionsort to fix archive file expiry beyond 100000 files. Signed-off-by: Adolf Belka adolf.belka@ipfire.org
config/rootfiles/common/lvm2 | 16 +++++++++++----- lfs/lvm2 | 6 +++--- 2 files changed, 14 insertions(+), 8 deletions(-) diff --git a/config/rootfiles/common/lvm2 b/config/rootfiles/common/lvm2 index 258f3201f..bd1329e54 100644 --- a/config/rootfiles/common/lvm2 +++ b/config/rootfiles/common/lvm2 @@ -9,15 +9,17 @@ etc/lvm/lvm.conf #etc/lvm/profile/metadata_profile_template.profile #etc/lvm/profile/thin-generic.profile #etc/lvm/profile/thin-performance.profile +#etc/lvm/profile/vdo-small.profile lib/udev/rules.d/10-dm.rules lib/udev/rules.d/11-dm-lvm.rules lib/udev/rules.d/13-dm-disk.rules -lib/udev/rules.d/69-dm-lvm-metad.rules +lib/udev/rules.d/69-dm-lvm.rules lib/udev/rules.d/95-dm-notify.rules #usr/include/libdevmapper.h #usr/lib/libdevmapper.so usr/lib/libdevmapper.so.1.02 #usr/lib/pkgconfig/devmapper.pc +#usr/libexec/lvresize_fs_helper usr/sbin/blkdeactivate usr/sbin/dmsetup usr/sbin/dmstats @@ -28,11 +30,11 @@ usr/sbin/lvcreate usr/sbin/lvdisplay usr/sbin/lvextend usr/sbin/lvm -usr/sbin/lvmconf +usr/sbin/lvm_import_vdo usr/sbin/lvmconfig +usr/sbin/lvmdevices usr/sbin/lvmdiskscan usr/sbin/lvmdump -usr/sbin/lvmetad usr/sbin/lvmsadc usr/sbin/lvmsar usr/sbin/lvreduce @@ -61,6 +63,7 @@ usr/sbin/vgexport usr/sbin/vgextend usr/sbin/vgimport usr/sbin/vgimportclone +usr/sbin/vgimportdevices usr/sbin/vgmerge usr/sbin/vgmknodes usr/sbin/vgreduce @@ -70,11 +73,13 @@ usr/sbin/vgs usr/sbin/vgscan usr/sbin/vgsplit #usr/share/man/man5/lvm.conf.5 +#usr/share/man/man7/lvmautoactivation.7 #usr/share/man/man7/lvmcache.7 #usr/share/man/man7/lvmraid.7 #usr/share/man/man7/lvmreport.7 #usr/share/man/man7/lvmsystemid.7 #usr/share/man/man7/lvmthin.7 +#usr/share/man/man7/lvmvdo.7 #usr/share/man/man8/blkdeactivate.8 #usr/share/man/man8/dmsetup.8 #usr/share/man/man8/dmstats.8 @@ -89,11 +94,11 @@ usr/sbin/vgsplit #usr/share/man/man8/lvm-fullreport.8 #usr/share/man/man8/lvm-lvpoll.8 #usr/share/man/man8/lvm.8 -#usr/share/man/man8/lvmconf.8 +#usr/share/man/man8/lvm_import_vdo.8 #usr/share/man/man8/lvmconfig.8 +#usr/share/man/man8/lvmdevices.8 #usr/share/man/man8/lvmdiskscan.8 #usr/share/man/man8/lvmdump.8 -#usr/share/man/man8/lvmetad.8 #usr/share/man/man8/lvmsadc.8 #usr/share/man/man8/lvmsar.8 #usr/share/man/man8/lvreduce.8 @@ -122,6 +127,7 @@ usr/sbin/vgsplit #usr/share/man/man8/vgextend.8 #usr/share/man/man8/vgimport.8 #usr/share/man/man8/vgimportclone.8 +#usr/share/man/man8/vgimportdevices.8 #usr/share/man/man8/vgmerge.8 #usr/share/man/man8/vgmknodes.8 #usr/share/man/man8/vgreduce.8 diff --git a/lfs/lvm2 b/lfs/lvm2 index 7e327a021..5b39f05f5 100644 --- a/lfs/lvm2 +++ b/lfs/lvm2 @@ -1,7 +1,7 @@ ############################################################################### # # # IPFire.org - A linux based firewall # -# Copyright (C) 2007-2018 IPFire Team info@ipfire.org # +# Copyright (C) 2007-2023 IPFire Team info@ipfire.org # # # # This program is free software: you can redistribute it and/or modify # # it under the terms of the GNU General Public License as published by # @@ -24,7 +24,7 @@ include Config -VER = 2.02.188 +VER = 2.03.21 THISAPP = LVM2.$(VER) DL_FILE = $(THISAPP).tgz @@ -40,7 +40,7 @@ objects = $(DL_FILE) $(DL_FILE) = $(DL_FROM)/$(DL_FILE) -$(DL_FILE)_BLAKE2 = bed90c8454cd4b20fdeec6dcbf5a9f97c9310671aea3b2252f8069cfa439fcb050f5ad95f928a7125a1734a4dc5ac985da99a4a570538e377a7205191a505476 +$(DL_FILE)_BLAKE2 = 529bc01b3d1ba6207c9ddc95309b39e6293fcd0286334240b9fdc076da0b7bc7e026338ec0243564ec153f2fb5009014149c3f8e0db0cd47a29418af62068728 install : $(TARGET)
So I should raise a patch that removes the lvmetad initscript and the references to it in the initscripts lfs and rootfile, correct?
Regards, Adolf.
On 09/05/2023 10:01, Michael Tremer wrote:
This is a service that caches any meta information about the LVM arrays.
At some point, we decided to run it by default, because it makes any block operations a little bit faster.
The change log states that it has been removed, so we simply need to drop this line. I do not think that this will cause any other changes for us.
-Michael
On 9 May 2023, at 08:51, Arne Fitzenreiter arne_f@ipfire.org wrote:
This patch remove lvmetad but there is still an initskript that try to start it. I don't know what this does but it give an error at boot.
Arne
Am 2023-05-02 19:53, schrieb Adolf Belka:
- Update from version 2.02.188 to 2.03.21
- Update of rootfile
- Changelog version 2.03.21 - 21st April 2023 Fix activation of vdo-pool for with 0 length headers (converted pools). Avoid printing internal init messages when creation integration devices. Allow (write)cache over raid+integrity LV. version 2.03.20 - 21st March 2023 Fix segfault if using -S|--select with log/report_command_log=1 setting. Configure now fails when requested lvmlockd dependencies are missing. Add some configure Gentoo enhancements for static builds. version 2.03.19 - 21st February 2023 Configure supports --with-systemd-run executed from udev rules. Enhancement for build with MuslC systemd and non-bash system shells (dash). Do not reset SYSTEMD_READY variable in udev for PVs on MD and loop devices. Ensure udev is processing origin LV before its thick snapshots LVs. Fix and improve runtime memory size detection for VDO volumes. version 2.03.18 - 22nd December 2022 Fix issues reported by coverity scan. Fix warning for thin pool overprovisioning on lvextend (2.03.17). Add support for writecache metadata_only and pause_writeback settings. Fix missing error messages in lvmdbusd. Version 2.03.17 - 10th November 2022 Add new options (--fs, --fsmode) for FS handling when resizing LVs. Fix 'lvremove -S|--select LV' to not also remove its historical LV
right away. Fix lv_active field type to binary so --select and --binary applies properly. Switch to use mallinfo2 and use it only with glibc. Error out in lvm shell if using a cmd argument not supported in the shell. Fix lvm shell's lastlog command to report previous pre-command failures. Extend VDO and VDOPOOL without flushing and locking fs. Add --valuesonly option to lvmconfig to print only values without keys. Updates configure with recent autoconf tooling. Fix lvconvert --test --type vdo-pool execution. Add json_std output format for more JSON standard compliant version of output. Fix vdo_slab_size_mb value for converted VDO volume. Fix many corner cases in device_id, including handling of S/N duplicates. Fix various issues in lvmdbusd. Version 2.03.16 - 18th May 2022 Fix segfault when handling selection with historical LVs. Add support --vdosettings with lvcreate, lvconvert, lvchange. Filtering multipath devices respects blacklist setting from multipath configuration. lvmdevices support for removing by device id using --deviceidtype and --deldev. Display writecache block size with lvs -o writecache_block_size. Improve cachesettings description in man lvmcache. Fix lossing of delete message on thin-pool extension. Version 2.03.15 - 07th February 2022 Remove service based autoactivation. global/event_activation = 0 is NOOP. Improve support for metadata profiles for --type writecache. Use cache or active DM device when available with new kernels. Introduce function to utilize UUIDs from DM_DEVICE_LIST. Increase some hash table size to better support large device sets. Version 2.03.14 - 20th October 2021 Device scanning is skipping directories on different filesystems. Print info message with too many or too large archived files. Reduce metadata readings during scanning phase. Optimize computation of crc32 check sum with multiple PVs. Enhance recover path on cache creation failure. Filter out unsupported MQ/SMQ cache policy setting. Fix memleak in mpath filter. Support newer location for VDO statistics. Add support for VDO async-unsafe write policy. Improve lvm_import_vdo script. Support VDO LV with lvcreate -ky. Fix lvconvert for VDO LV bigger then 2T. Create VDO LVs automatically without zeroing. Rename vdoimport to lvm_import_vdo. Version 2.03.13 - 11th August 2021 Changes in udev support:
- obtain_device_list_from_udev defaults to 0.
- see devices/external_device_info_source, devices/obtain_device_list_from_udev, and devices/multipath_wwids_file help in lvm.conf
Fix devices file handling of loop with deleted backing file. Fix devices file handling of scsi_debug WWIDs. Fix many static analysis issues. Support --poolmetadataspare with vgsplit and vgmerge. Fix detection of active components of external origin volume. Add vdoimport tool to support conversion of VDO volumes. Support configurable allocation/vdo_pool_header_size. Fix handling of lvconvert --type vdo-pool --virtualsize. Simplified handling of archive() and backup() internal calls. Add 'idm' locking type for IDM lock manager. Fix load of kvdo target when it is not present in memory (2.03.12). Version 2.03.12 - 07th May 2021 Allow attaching cache to thin data volume. Fix memleak when generating list of outdated pvs. Better hyphenation usage in man pages. Replace use of deprecated security_context_t with char*. Configure supports AIO_LIBS and AIO_CFLAGS. Improve build process for static builds. New --setautoactivation option to modify LV or VG auto activation. New metadata based autoactivation property for LVs and VGs. Improve signal handling with lvmpolld. Signal handler can interrupt command also for SIGTERM. Lvreduce --yes support. Add configure option --with/out-symvers for non-glibc builds. Report error when the filesystem is missing on fsadm resized volume. Handle better blockdev with --getsize64 support for fsadm. Do not include editline/history.h when using editline library. Support error and zero segtype for thin-pool data for testing. Support mixed extension for striped, error and zero segtypes. Support resize also for stacked virtual volumes. Skip dm-zero devices just like with dm-error target. Reduce ioctl() calls when checking target status. Merge polling does not fail, when LV is found to be already merged. Poll volumes with at least 100ms delays. Do not flush dm cache when cached LV is going to be removed. New lvmlockctl_kill_command configuration option. Support interruption while waiting on device close before deactivation. Flush thin-pool messages before removing more thin volumes. Improve hash function with less collisions and make it faster. Reduce ioctl count when deactivating volumes. Reduce number of metadata parsing. Enhance performance of lvremove and vgremove commands. Support interruption when taking archive and backup. Accelerate large lvremoves. Speedup search for cached device nodes. Speedup command initialization. Add devices file feature, off by default for now. Support extension of writecached volumes. Fix problem with unbound variable usage within fsadm. Fix IMSM MD RAID detection on 4k devices. Check for presence of VDO target before starting any conversion. Support metatadata profiles with volume VDO pool conversions. Support -Zn for conversion of already formated VDO pools. Avoid removing LVs on error path of lvconvert during creation volumes. Fix crashing lvdisplay when thin volume was waiting for merge. Support option --errorwhenfull when converting volume to thin-pool. Improve thin-performance profile support conversion to thin-pool. Add workaround to avoid read of internal 'converted' devices. Prohibit merging snapshot into the read-only thick snapshot origin. Restore support for flipping rw/r permissions for thin snapshot origin. Support resize of cached volumes. Disable autoactivation with global/event_activation=0. Check if lvcreate passes read_only_volume_list with tags and skips zeroing. Allocation prints better error when metadata cannot fit on a single PV. Pvmove can better resolve full thin-pool tree move. Limit pool metadata spare to 16GiB. Improves conversion and allocation of pool metadata. Support thin pool metadata 15.88GiB, adds 64MiB, thin_pool_crop_metadata=0. Enhance lvdisplay to report raid available/partial. Support online rename of VDO pools. Improve removal of pmspare when last pool is removed. Fix problem with wiping of converted LVs. Fix memleak in scanning (2.03.11). Fix corner case allocation for thin-pools. Version 2.03.11 - 08th January 2021 Fix pvck handling MDA at offset different from 4096. Partial or degraded activation of writecache is not allowed. Enhance error handling for fsadm and handle correct fsck result. Dmeventd lvm plugin ignores higher reserved_stack lvm.conf values. Support using BLKZEROOUT for clearing devices. Support interruption when wipping LVs. Support interruption for bcache waiting. Fix bcache when device has too many failing writes. Fix bcache waiting for IO completion with failing disks. Configure use own python path name order to prefer using python3. Add configure --enable-editline support as an alternative to readline. Enhance reporting and error handling when creating thin volumes. Enable vgsplit for VDO volumes. Lvextend of vdo pool volumes ensure at least 1 new VDO slab is added. Use revert_lv() on reload error path after vg_revert(). Configure --with-integrity enabled. Restore lost signal blocking while VG lock is held. Improve estimation of needed extents when creating thin-pool. Use extra 1% when resizing thin-pool metadata LV with --use-policy. Enhance --use-policy percentage rounding. Configure --with-vdo and --with-writecache as internal segments. Improving VDO man page examples. Allow pvmove of writecache origin. Report integrity fields. Integrity volumes defaults to journal mode. Switch code base to use flexible array syntax. Fix 64bit math when calculation cachevol size. Preserve uint32_t for seqno handling. Switch from mmap to plain read when loading regular files. Update lvmvdo man page and better explain DISCARD usage. Version 2.03.10 - 09th August 2020 Add writecache and integrity support to lvmdbusd. Generate unique cachevol name when default required from lvcreate. Converting RAID1 volume to one with same number of legs now succeeds with a warning. Fix conversion to raid from striped lagging type. Fix conversion to 'mirrored' mirror log with larger regionsize. Zero pool metadata on allocation (disable with allocation/zero_metadata=0). Failure in zeroing or wiping will fail command (bypass with -Zn, -Wn). Add lvcreate of new cache or writecache lv with single command. Fix running out of free buffers for async writing for larger writes. Add integrity with raid capability. Fix support for lvconvert --repair used by foreign apps (i.e. Docker). Version 2.03.09 - 26th March 2020 Fix formatting of vdopool (vdo_slab_size_mb was smaller by 2 bits). Fix showing of a dm kernel error when uncaching a volume with cachevol. Version 2.03.08 - 11th February 2020 Prevent problematic snapshots of writecache volumes. Add error handling for failing allocation in _reserve_area(). Fix memleak in syncing of internal cache. Fix pvck dump_current_text memleak. Fix lvmlockd result code on error path for _query_lock_lv(). Update pvck man page and help output. Reject invalid writecache high/low_watermark setting. Report writecache status. Accept more output lines from vdo_format. Prohibit reshaping of stacked raid LVs. Avoid running cache input arg validation when creating vdo pool. Prevent raid reshaping of stacked volumes. Added VDO lvmdbusd methods for enable/disable compression & dedupe. Added VDO lvmdbusd method for converting LV to VDO pool. Version 2.03.07 - 30th November 2019 Subcommand in vgck for repairing headers and metadata. Ensure minimum required region size on striped RaidLV creation. Fix resize of thin-pool with data and metadata of different segtype. Improve mirror type leg splitting. Improve error path handling in daemons on shutdown. Fix activation order when removing merged snapshot. Experimental VDO support for lvmdbusd. Version 2.03.06 - 23rd October 2019 Add _cpool suffix to cache-pool LV name when used by caching LV. No longer store extra UUID for cmeta and cdata cachevol layer. Enhance activation of cache devices with cachevols. Add _cvol in list of protected suffixes and start use it with DM UUID. Rename LV converted to cachevol to use _cvol suffix. Use normal LVs for wiping of cachevols. Reload cleanered cache DM only with cleaner policy. Fix cmd return when zeroing of cachevol fails. Extend lvs to show all VDO properties. Preserve VDO write policy with vdopool. Increase default vdo bio threads to 4. Continue report when cache_status fails. Add support for DM_DEVICE_GET_TARGET_VERSION into device_mapper. Fix cmirrord usage of header files from device_mapper subdir. Allow standalone activation of VDO pool just like for thin-pools. Activate thin-pool layered volume as 'read-only' device. Ignore crypto devices with UUID signature CRYPT-SUBDEV. Enhance validation for thin and cache pool conversion and swapping. Improve internal removal of cached devices. Synchronize with udev when dropping snapshot. Add missing device synchronization point before removing pvmove node. Correctly set read_ahead for LVs when pvmove is finished. Remove unsupported OPTIONS+="event_timeout" udev rule from 11-dm-lvm.rules. Prevent creating VGs with PVs with different logical block sizes. Fix metadata writes from corrupting with large physical block size. Version 2.03.05 - 15th June 2019 Fix command definition for pvchange -a. Add vgck --updatemetadata command that will repair metadata problems. Improve VG reading to work if one good copy of metadata is found. Report/display/scan commands that read VGs will no longer write/repair. Move metadata repairs from VG reading to VG writing. Add config setting md_component_checks to control MD component checks. Add end of device MD component checks when dev has no udev info. Version 2.03.04 - 10th June 2019 Remove unused_duplicate_devs from cmd causing segfault in dmeventd. Version 2.03.03 - 07th June 2019 Report no_discard_passdown for cache LVs with lvs -o+kernel_discards. Add pvck --dump option to extract metadata. Fix signal delivery checking race in libdaemon (lvmetad). Add missing Before=shutdown.target to LVM2 services to fix shutdown ordering. Skip autoactivation for a PV when PV size does not match device size. Remove first-pvscan-initialization which should no longer be needed. Add remote refresh through lvmlockd/dlm for shared LVs after lvextend. Ignore foreign and shared PVs for pvscan online files. Add config setting to control fields in debug file and verbose output. Add command[pid] and timestamp to debug file and verbose output. Fix missing growth of _pmsmare volume when extending _tmeta volume. Automatically grow thin metadata, when thin data gets too big. Add synchronization with udev before removing cached devices. Add support for caching VDO LVs and VDOPOOL LVs. Add support for vgsplit with cached devices. Query mpath device only once per command for its state. Use device INFO instead of STATUS when checking for mpath device uuid. Change default io_memory_size from 4 to 8 MiB. Add config setting io_memory_size to set bcache size. Fix pvscan autoactivation for concurrent pvscans. Change scan_lvs default to 0 so LVs are not scanned for PVs. Thin-pool selects power-of-2 chunk size by default. Cache selects power-of-2 chunk size by default. Support reszing for VDOPoolLV and VDOLV. Improve -lXXX%VG modifier which improves cache segment estimation. Ensure migration_threshold for cache is at least 8 chunks. Restore missing man info lvcreate --zero for thin-pools. Drop misleadning comment for metadata minimum_io_size for VDO segment. Add device hints to reduce scanning. Introduce LVM_SUPPRESS_SYSLOG to suppress syslog usage by generator. Fix generator quering lvmconfig unpresent config option. Fix memleak on bcache error path code. Fix missing unlock on lvm2 dmeventd plugin error path initialization. Improve Makefile dependency tracking. Move VDO support towards V2 target (6.2) support. Version 2.03.02 - 18th December 2018 Fix missing proper initialization of pv_list struct when adding pv. Fix (de)activation of RaidLVs with visible SubLVs. Prohibit mirrored 'mirror' log via lvcreate and lvconvert. Use sync io if async io_setup fails, or use_aio=0 is set in config. Fix more issues reported by coverity scan. Version 2.03.01 - 31st October 2018 Version 2.03.00 - 10th October 2018 Add hot fix to avoiding locking collision when monitoring thin-pools. Allow raid4 -> linear conversion request. Fix lvconvert striped/raid0/raid0_meta -> raid6 regression. Add 'lvm2-activation-generator:' prefix for kmsg messages logged by generator. Add After=rbdmap.service to {lvm2-activation-net,blk-availability}.service. Reduce max concurrent aios to avoid EMFILE with many devices. Fix lvconvert conversion attempts to linear. Fix lvconvert raid0/raid0_meta -> striped regression. Fix lvconvert --splitmirror for mirror type (2.02.178). Do not pair cache policy and cache metadata format. lvconvert: reject conversions on raid1 LVs with split tracked SubLVs lvconvert: reject conversions on raid1 split tracked SubLVs Add basic creation support for VDO target. Never send any discard ioctl with test mode. Fix thin-pool alloc which needs same PV for data and metadata. Extend list of non-memlocked areas with newly linked libs. Enhance vgcfgrestore to check for active LVs in restored VG. Configure supports --disable-silent-rules for verbose builds. Fix unmonitoring of merging snapshots. Cache can uses metadata format 2 with cleaner policy. Fix check if resized PV can also fit metadata area. Avoid showing internal error in lvs output or pvmoved LVs. Remove clvmd Remove lvmlib (api) Remove lvmetad Use versionsort to fix archive file expiry beyond 100000 files. Signed-off-by: Adolf Belka adolf.belka@ipfire.org
config/rootfiles/common/lvm2 | 16 +++++++++++----- lfs/lvm2 | 6 +++--- 2 files changed, 14 insertions(+), 8 deletions(-) diff --git a/config/rootfiles/common/lvm2 b/config/rootfiles/common/lvm2 index 258f3201f..bd1329e54 100644 --- a/config/rootfiles/common/lvm2 +++ b/config/rootfiles/common/lvm2 @@ -9,15 +9,17 @@ etc/lvm/lvm.conf #etc/lvm/profile/metadata_profile_template.profile #etc/lvm/profile/thin-generic.profile #etc/lvm/profile/thin-performance.profile +#etc/lvm/profile/vdo-small.profile lib/udev/rules.d/10-dm.rules lib/udev/rules.d/11-dm-lvm.rules lib/udev/rules.d/13-dm-disk.rules -lib/udev/rules.d/69-dm-lvm-metad.rules +lib/udev/rules.d/69-dm-lvm.rules lib/udev/rules.d/95-dm-notify.rules #usr/include/libdevmapper.h #usr/lib/libdevmapper.so usr/lib/libdevmapper.so.1.02 #usr/lib/pkgconfig/devmapper.pc +#usr/libexec/lvresize_fs_helper usr/sbin/blkdeactivate usr/sbin/dmsetup usr/sbin/dmstats @@ -28,11 +30,11 @@ usr/sbin/lvcreate usr/sbin/lvdisplay usr/sbin/lvextend usr/sbin/lvm -usr/sbin/lvmconf +usr/sbin/lvm_import_vdo usr/sbin/lvmconfig +usr/sbin/lvmdevices usr/sbin/lvmdiskscan usr/sbin/lvmdump -usr/sbin/lvmetad usr/sbin/lvmsadc usr/sbin/lvmsar usr/sbin/lvreduce @@ -61,6 +63,7 @@ usr/sbin/vgexport usr/sbin/vgextend usr/sbin/vgimport usr/sbin/vgimportclone +usr/sbin/vgimportdevices usr/sbin/vgmerge usr/sbin/vgmknodes usr/sbin/vgreduce @@ -70,11 +73,13 @@ usr/sbin/vgs usr/sbin/vgscan usr/sbin/vgsplit #usr/share/man/man5/lvm.conf.5 +#usr/share/man/man7/lvmautoactivation.7 #usr/share/man/man7/lvmcache.7 #usr/share/man/man7/lvmraid.7 #usr/share/man/man7/lvmreport.7 #usr/share/man/man7/lvmsystemid.7 #usr/share/man/man7/lvmthin.7 +#usr/share/man/man7/lvmvdo.7 #usr/share/man/man8/blkdeactivate.8 #usr/share/man/man8/dmsetup.8 #usr/share/man/man8/dmstats.8 @@ -89,11 +94,11 @@ usr/sbin/vgsplit #usr/share/man/man8/lvm-fullreport.8 #usr/share/man/man8/lvm-lvpoll.8 #usr/share/man/man8/lvm.8 -#usr/share/man/man8/lvmconf.8 +#usr/share/man/man8/lvm_import_vdo.8 #usr/share/man/man8/lvmconfig.8 +#usr/share/man/man8/lvmdevices.8 #usr/share/man/man8/lvmdiskscan.8 #usr/share/man/man8/lvmdump.8 -#usr/share/man/man8/lvmetad.8 #usr/share/man/man8/lvmsadc.8 #usr/share/man/man8/lvmsar.8 #usr/share/man/man8/lvreduce.8 @@ -122,6 +127,7 @@ usr/sbin/vgsplit #usr/share/man/man8/vgextend.8 #usr/share/man/man8/vgimport.8 #usr/share/man/man8/vgimportclone.8 +#usr/share/man/man8/vgimportdevices.8 #usr/share/man/man8/vgmerge.8 #usr/share/man/man8/vgmknodes.8 #usr/share/man/man8/vgreduce.8 diff --git a/lfs/lvm2 b/lfs/lvm2 index 7e327a021..5b39f05f5 100644 --- a/lfs/lvm2 +++ b/lfs/lvm2 @@ -1,7 +1,7 @@ ############################################################################### # # # IPFire.org - A linux based firewall # -# Copyright (C) 2007-2018 IPFire Team info@ipfire.org # +# Copyright (C) 2007-2023 IPFire Team info@ipfire.org # # # # This program is free software: you can redistribute it and/or modify # # it under the terms of the GNU General Public License as published by # @@ -24,7 +24,7 @@ include Config -VER = 2.02.188 +VER = 2.03.21 THISAPP = LVM2.$(VER) DL_FILE = $(THISAPP).tgz @@ -40,7 +40,7 @@ objects = $(DL_FILE) $(DL_FILE) = $(DL_FROM)/$(DL_FILE) -$(DL_FILE)_BLAKE2 = bed90c8454cd4b20fdeec6dcbf5a9f97c9310671aea3b2252f8069cfa439fcb050f5ad95f928a7125a1734a4dc5ac985da99a4a570538e377a7205191a505476 +$(DL_FILE)_BLAKE2 = 529bc01b3d1ba6207c9ddc95309b39e6293fcd0286334240b9fdc076da0b7bc7e026338ec0243564ec153f2fb5009014149c3f8e0db0cd47a29418af62068728 install : $(TARGET)
Yes, please :)
On 9 May 2023, at 09:25, Adolf Belka adolf.belka@ipfire.org wrote:
So I should raise a patch that removes the lvmetad initscript and the references to it in the initscripts lfs and rootfile, correct?
Regards, Adolf.
On 09/05/2023 10:01, Michael Tremer wrote:
This is a service that caches any meta information about the LVM arrays. At some point, we decided to run it by default, because it makes any block operations a little bit faster. The change log states that it has been removed, so we simply need to drop this line. I do not think that this will cause any other changes for us. -Michael
On 9 May 2023, at 08:51, Arne Fitzenreiter arne_f@ipfire.org wrote:
This patch remove lvmetad but there is still an initskript that try to start it. I don't know what this does but it give an error at boot.
Arne
Am 2023-05-02 19:53, schrieb Adolf Belka:
- Update from version 2.02.188 to 2.03.21
- Update of rootfile
- Changelog version 2.03.21 - 21st April 2023
Fix activation of vdo-pool for with 0 length headers (converted pools). Avoid printing internal init messages when creation integration devices. Allow (write)cache over raid+integrity LV. version 2.03.20 - 21st March 2023 Fix segfault if using -S|--select with log/report_command_log=1 setting. Configure now fails when requested lvmlockd dependencies are missing. Add some configure Gentoo enhancements for static builds. version 2.03.19 - 21st February 2023 Configure supports --with-systemd-run executed from udev rules. Enhancement for build with MuslC systemd and non-bash system shells (dash). Do not reset SYSTEMD_READY variable in udev for PVs on MD and loop devices. Ensure udev is processing origin LV before its thick snapshots LVs. Fix and improve runtime memory size detection for VDO volumes. version 2.03.18 - 22nd December 2022 Fix issues reported by coverity scan. Fix warning for thin pool overprovisioning on lvextend (2.03.17). Add support for writecache metadata_only and pause_writeback settings. Fix missing error messages in lvmdbusd. Version 2.03.17 - 10th November 2022 Add new options (--fs, --fsmode) for FS handling when resizing LVs. Fix 'lvremove -S|--select LV' to not also remove its historical LV right away. Fix lv_active field type to binary so --select and --binary applies properly. Switch to use mallinfo2 and use it only with glibc. Error out in lvm shell if using a cmd argument not supported in the shell. Fix lvm shell's lastlog command to report previous pre-command failures. Extend VDO and VDOPOOL without flushing and locking fs. Add --valuesonly option to lvmconfig to print only values without keys. Updates configure with recent autoconf tooling. Fix lvconvert --test --type vdo-pool execution. Add json_std output format for more JSON standard compliant version of output. Fix vdo_slab_size_mb value for converted VDO volume. Fix many corner cases in device_id, including handling of S/N duplicates. Fix various issues in lvmdbusd. Version 2.03.16 - 18th May 2022 Fix segfault when handling selection with historical LVs. Add support --vdosettings with lvcreate, lvconvert, lvchange. Filtering multipath devices respects blacklist setting from multipath configuration. lvmdevices support for removing by device id using --deviceidtype and --deldev. Display writecache block size with lvs -o writecache_block_size. Improve cachesettings description in man lvmcache. Fix lossing of delete message on thin-pool extension. Version 2.03.15 - 07th February 2022 Remove service based autoactivation. global/event_activation = 0 is NOOP. Improve support for metadata profiles for --type writecache. Use cache or active DM device when available with new kernels. Introduce function to utilize UUIDs from DM_DEVICE_LIST. Increase some hash table size to better support large device sets. Version 2.03.14 - 20th October 2021 Device scanning is skipping directories on different filesystems. Print info message with too many or too large archived files. Reduce metadata readings during scanning phase. Optimize computation of crc32 check sum with multiple PVs. Enhance recover path on cache creation failure. Filter out unsupported MQ/SMQ cache policy setting. Fix memleak in mpath filter. Support newer location for VDO statistics. Add support for VDO async-unsafe write policy. Improve lvm_import_vdo script. Support VDO LV with lvcreate -ky. Fix lvconvert for VDO LV bigger then 2T. Create VDO LVs automatically without zeroing. Rename vdoimport to lvm_import_vdo. Version 2.03.13 - 11th August 2021 Changes in udev support:
- obtain_device_list_from_udev defaults to 0.
- see devices/external_device_info_source, devices/obtain_device_list_from_udev, and devices/multipath_wwids_file help in lvm.conf
Fix devices file handling of loop with deleted backing file. Fix devices file handling of scsi_debug WWIDs. Fix many static analysis issues. Support --poolmetadataspare with vgsplit and vgmerge. Fix detection of active components of external origin volume. Add vdoimport tool to support conversion of VDO volumes. Support configurable allocation/vdo_pool_header_size. Fix handling of lvconvert --type vdo-pool --virtualsize. Simplified handling of archive() and backup() internal calls. Add 'idm' locking type for IDM lock manager. Fix load of kvdo target when it is not present in memory (2.03.12). Version 2.03.12 - 07th May 2021 Allow attaching cache to thin data volume. Fix memleak when generating list of outdated pvs. Better hyphenation usage in man pages. Replace use of deprecated security_context_t with char*. Configure supports AIO_LIBS and AIO_CFLAGS. Improve build process for static builds. New --setautoactivation option to modify LV or VG auto activation. New metadata based autoactivation property for LVs and VGs. Improve signal handling with lvmpolld. Signal handler can interrupt command also for SIGTERM. Lvreduce --yes support. Add configure option --with/out-symvers for non-glibc builds. Report error when the filesystem is missing on fsadm resized volume. Handle better blockdev with --getsize64 support for fsadm. Do not include editline/history.h when using editline library. Support error and zero segtype for thin-pool data for testing. Support mixed extension for striped, error and zero segtypes. Support resize also for stacked virtual volumes. Skip dm-zero devices just like with dm-error target. Reduce ioctl() calls when checking target status. Merge polling does not fail, when LV is found to be already merged. Poll volumes with at least 100ms delays. Do not flush dm cache when cached LV is going to be removed. New lvmlockctl_kill_command configuration option. Support interruption while waiting on device close before deactivation. Flush thin-pool messages before removing more thin volumes. Improve hash function with less collisions and make it faster. Reduce ioctl count when deactivating volumes. Reduce number of metadata parsing. Enhance performance of lvremove and vgremove commands. Support interruption when taking archive and backup. Accelerate large lvremoves. Speedup search for cached device nodes. Speedup command initialization. Add devices file feature, off by default for now. Support extension of writecached volumes. Fix problem with unbound variable usage within fsadm. Fix IMSM MD RAID detection on 4k devices. Check for presence of VDO target before starting any conversion. Support metatadata profiles with volume VDO pool conversions. Support -Zn for conversion of already formated VDO pools. Avoid removing LVs on error path of lvconvert during creation volumes. Fix crashing lvdisplay when thin volume was waiting for merge. Support option --errorwhenfull when converting volume to thin-pool. Improve thin-performance profile support conversion to thin-pool. Add workaround to avoid read of internal 'converted' devices. Prohibit merging snapshot into the read-only thick snapshot origin. Restore support for flipping rw/r permissions for thin snapshot origin. Support resize of cached volumes. Disable autoactivation with global/event_activation=0. Check if lvcreate passes read_only_volume_list with tags and skips zeroing. Allocation prints better error when metadata cannot fit on a single PV. Pvmove can better resolve full thin-pool tree move. Limit pool metadata spare to 16GiB. Improves conversion and allocation of pool metadata. Support thin pool metadata 15.88GiB, adds 64MiB, thin_pool_crop_metadata=0. Enhance lvdisplay to report raid available/partial. Support online rename of VDO pools. Improve removal of pmspare when last pool is removed. Fix problem with wiping of converted LVs. Fix memleak in scanning (2.03.11). Fix corner case allocation for thin-pools. Version 2.03.11 - 08th January 2021 Fix pvck handling MDA at offset different from 4096. Partial or degraded activation of writecache is not allowed. Enhance error handling for fsadm and handle correct fsck result. Dmeventd lvm plugin ignores higher reserved_stack lvm.conf values. Support using BLKZEROOUT for clearing devices. Support interruption when wipping LVs. Support interruption for bcache waiting. Fix bcache when device has too many failing writes. Fix bcache waiting for IO completion with failing disks. Configure use own python path name order to prefer using python3. Add configure --enable-editline support as an alternative to readline. Enhance reporting and error handling when creating thin volumes. Enable vgsplit for VDO volumes. Lvextend of vdo pool volumes ensure at least 1 new VDO slab is added. Use revert_lv() on reload error path after vg_revert(). Configure --with-integrity enabled. Restore lost signal blocking while VG lock is held. Improve estimation of needed extents when creating thin-pool. Use extra 1% when resizing thin-pool metadata LV with --use-policy. Enhance --use-policy percentage rounding. Configure --with-vdo and --with-writecache as internal segments. Improving VDO man page examples. Allow pvmove of writecache origin. Report integrity fields. Integrity volumes defaults to journal mode. Switch code base to use flexible array syntax. Fix 64bit math when calculation cachevol size. Preserve uint32_t for seqno handling. Switch from mmap to plain read when loading regular files. Update lvmvdo man page and better explain DISCARD usage. Version 2.03.10 - 09th August 2020 Add writecache and integrity support to lvmdbusd. Generate unique cachevol name when default required from lvcreate. Converting RAID1 volume to one with same number of legs now succeeds with a warning. Fix conversion to raid from striped lagging type. Fix conversion to 'mirrored' mirror log with larger regionsize. Zero pool metadata on allocation (disable with allocation/zero_metadata=0). Failure in zeroing or wiping will fail command (bypass with -Zn, -Wn). Add lvcreate of new cache or writecache lv with single command. Fix running out of free buffers for async writing for larger writes. Add integrity with raid capability. Fix support for lvconvert --repair used by foreign apps (i.e. Docker). Version 2.03.09 - 26th March 2020 Fix formatting of vdopool (vdo_slab_size_mb was smaller by 2 bits). Fix showing of a dm kernel error when uncaching a volume with cachevol. Version 2.03.08 - 11th February 2020 Prevent problematic snapshots of writecache volumes. Add error handling for failing allocation in _reserve_area(). Fix memleak in syncing of internal cache. Fix pvck dump_current_text memleak. Fix lvmlockd result code on error path for _query_lock_lv(). Update pvck man page and help output. Reject invalid writecache high/low_watermark setting. Report writecache status. Accept more output lines from vdo_format. Prohibit reshaping of stacked raid LVs. Avoid running cache input arg validation when creating vdo pool. Prevent raid reshaping of stacked volumes. Added VDO lvmdbusd methods for enable/disable compression & dedupe. Added VDO lvmdbusd method for converting LV to VDO pool. Version 2.03.07 - 30th November 2019 Subcommand in vgck for repairing headers and metadata. Ensure minimum required region size on striped RaidLV creation. Fix resize of thin-pool with data and metadata of different segtype. Improve mirror type leg splitting. Improve error path handling in daemons on shutdown. Fix activation order when removing merged snapshot. Experimental VDO support for lvmdbusd. Version 2.03.06 - 23rd October 2019 Add _cpool suffix to cache-pool LV name when used by caching LV. No longer store extra UUID for cmeta and cdata cachevol layer. Enhance activation of cache devices with cachevols. Add _cvol in list of protected suffixes and start use it with DM UUID. Rename LV converted to cachevol to use _cvol suffix. Use normal LVs for wiping of cachevols. Reload cleanered cache DM only with cleaner policy. Fix cmd return when zeroing of cachevol fails. Extend lvs to show all VDO properties. Preserve VDO write policy with vdopool. Increase default vdo bio threads to 4. Continue report when cache_status fails. Add support for DM_DEVICE_GET_TARGET_VERSION into device_mapper. Fix cmirrord usage of header files from device_mapper subdir. Allow standalone activation of VDO pool just like for thin-pools. Activate thin-pool layered volume as 'read-only' device. Ignore crypto devices with UUID signature CRYPT-SUBDEV. Enhance validation for thin and cache pool conversion and swapping. Improve internal removal of cached devices. Synchronize with udev when dropping snapshot. Add missing device synchronization point before removing pvmove node. Correctly set read_ahead for LVs when pvmove is finished. Remove unsupported OPTIONS+="event_timeout" udev rule from 11-dm-lvm.rules. Prevent creating VGs with PVs with different logical block sizes. Fix metadata writes from corrupting with large physical block size. Version 2.03.05 - 15th June 2019 Fix command definition for pvchange -a. Add vgck --updatemetadata command that will repair metadata problems. Improve VG reading to work if one good copy of metadata is found. Report/display/scan commands that read VGs will no longer write/repair. Move metadata repairs from VG reading to VG writing. Add config setting md_component_checks to control MD component checks. Add end of device MD component checks when dev has no udev info. Version 2.03.04 - 10th June 2019 Remove unused_duplicate_devs from cmd causing segfault in dmeventd. Version 2.03.03 - 07th June 2019 Report no_discard_passdown for cache LVs with lvs -o+kernel_discards. Add pvck --dump option to extract metadata. Fix signal delivery checking race in libdaemon (lvmetad). Add missing Before=shutdown.target to LVM2 services to fix shutdown ordering. Skip autoactivation for a PV when PV size does not match device size. Remove first-pvscan-initialization which should no longer be needed. Add remote refresh through lvmlockd/dlm for shared LVs after lvextend. Ignore foreign and shared PVs for pvscan online files. Add config setting to control fields in debug file and verbose output. Add command[pid] and timestamp to debug file and verbose output. Fix missing growth of _pmsmare volume when extending _tmeta volume. Automatically grow thin metadata, when thin data gets too big. Add synchronization with udev before removing cached devices. Add support for caching VDO LVs and VDOPOOL LVs. Add support for vgsplit with cached devices. Query mpath device only once per command for its state. Use device INFO instead of STATUS when checking for mpath device uuid. Change default io_memory_size from 4 to 8 MiB. Add config setting io_memory_size to set bcache size. Fix pvscan autoactivation for concurrent pvscans. Change scan_lvs default to 0 so LVs are not scanned for PVs. Thin-pool selects power-of-2 chunk size by default. Cache selects power-of-2 chunk size by default. Support reszing for VDOPoolLV and VDOLV. Improve -lXXX%VG modifier which improves cache segment estimation. Ensure migration_threshold for cache is at least 8 chunks. Restore missing man info lvcreate --zero for thin-pools. Drop misleadning comment for metadata minimum_io_size for VDO segment. Add device hints to reduce scanning. Introduce LVM_SUPPRESS_SYSLOG to suppress syslog usage by generator. Fix generator quering lvmconfig unpresent config option. Fix memleak on bcache error path code. Fix missing unlock on lvm2 dmeventd plugin error path initialization. Improve Makefile dependency tracking. Move VDO support towards V2 target (6.2) support. Version 2.03.02 - 18th December 2018 Fix missing proper initialization of pv_list struct when adding pv. Fix (de)activation of RaidLVs with visible SubLVs. Prohibit mirrored 'mirror' log via lvcreate and lvconvert. Use sync io if async io_setup fails, or use_aio=0 is set in config. Fix more issues reported by coverity scan. Version 2.03.01 - 31st October 2018 Version 2.03.00 - 10th October 2018 Add hot fix to avoiding locking collision when monitoring thin-pools. Allow raid4 -> linear conversion request. Fix lvconvert striped/raid0/raid0_meta -> raid6 regression. Add 'lvm2-activation-generator:' prefix for kmsg messages logged by generator. Add After=rbdmap.service to {lvm2-activation-net,blk-availability}.service. Reduce max concurrent aios to avoid EMFILE with many devices. Fix lvconvert conversion attempts to linear. Fix lvconvert raid0/raid0_meta -> striped regression. Fix lvconvert --splitmirror for mirror type (2.02.178). Do not pair cache policy and cache metadata format. lvconvert: reject conversions on raid1 LVs with split tracked SubLVs lvconvert: reject conversions on raid1 split tracked SubLVs Add basic creation support for VDO target. Never send any discard ioctl with test mode. Fix thin-pool alloc which needs same PV for data and metadata. Extend list of non-memlocked areas with newly linked libs. Enhance vgcfgrestore to check for active LVs in restored VG. Configure supports --disable-silent-rules for verbose builds. Fix unmonitoring of merging snapshots. Cache can uses metadata format 2 with cleaner policy. Fix check if resized PV can also fit metadata area. Avoid showing internal error in lvs output or pvmoved LVs. Remove clvmd Remove lvmlib (api) Remove lvmetad Use versionsort to fix archive file expiry beyond 100000 files. Signed-off-by: Adolf Belka adolf.belka@ipfire.org
config/rootfiles/common/lvm2 | 16 +++++++++++----- lfs/lvm2 | 6 +++--- 2 files changed, 14 insertions(+), 8 deletions(-) diff --git a/config/rootfiles/common/lvm2 b/config/rootfiles/common/lvm2 index 258f3201f..bd1329e54 100644 --- a/config/rootfiles/common/lvm2 +++ b/config/rootfiles/common/lvm2 @@ -9,15 +9,17 @@ etc/lvm/lvm.conf #etc/lvm/profile/metadata_profile_template.profile #etc/lvm/profile/thin-generic.profile #etc/lvm/profile/thin-performance.profile +#etc/lvm/profile/vdo-small.profile lib/udev/rules.d/10-dm.rules lib/udev/rules.d/11-dm-lvm.rules lib/udev/rules.d/13-dm-disk.rules -lib/udev/rules.d/69-dm-lvm-metad.rules +lib/udev/rules.d/69-dm-lvm.rules lib/udev/rules.d/95-dm-notify.rules #usr/include/libdevmapper.h #usr/lib/libdevmapper.so usr/lib/libdevmapper.so.1.02 #usr/lib/pkgconfig/devmapper.pc +#usr/libexec/lvresize_fs_helper usr/sbin/blkdeactivate usr/sbin/dmsetup usr/sbin/dmstats @@ -28,11 +30,11 @@ usr/sbin/lvcreate usr/sbin/lvdisplay usr/sbin/lvextend usr/sbin/lvm -usr/sbin/lvmconf +usr/sbin/lvm_import_vdo usr/sbin/lvmconfig +usr/sbin/lvmdevices usr/sbin/lvmdiskscan usr/sbin/lvmdump -usr/sbin/lvmetad usr/sbin/lvmsadc usr/sbin/lvmsar usr/sbin/lvreduce @@ -61,6 +63,7 @@ usr/sbin/vgexport usr/sbin/vgextend usr/sbin/vgimport usr/sbin/vgimportclone +usr/sbin/vgimportdevices usr/sbin/vgmerge usr/sbin/vgmknodes usr/sbin/vgreduce @@ -70,11 +73,13 @@ usr/sbin/vgs usr/sbin/vgscan usr/sbin/vgsplit #usr/share/man/man5/lvm.conf.5 +#usr/share/man/man7/lvmautoactivation.7 #usr/share/man/man7/lvmcache.7 #usr/share/man/man7/lvmraid.7 #usr/share/man/man7/lvmreport.7 #usr/share/man/man7/lvmsystemid.7 #usr/share/man/man7/lvmthin.7 +#usr/share/man/man7/lvmvdo.7 #usr/share/man/man8/blkdeactivate.8 #usr/share/man/man8/dmsetup.8 #usr/share/man/man8/dmstats.8 @@ -89,11 +94,11 @@ usr/sbin/vgsplit #usr/share/man/man8/lvm-fullreport.8 #usr/share/man/man8/lvm-lvpoll.8 #usr/share/man/man8/lvm.8 -#usr/share/man/man8/lvmconf.8 +#usr/share/man/man8/lvm_import_vdo.8 #usr/share/man/man8/lvmconfig.8 +#usr/share/man/man8/lvmdevices.8 #usr/share/man/man8/lvmdiskscan.8 #usr/share/man/man8/lvmdump.8 -#usr/share/man/man8/lvmetad.8 #usr/share/man/man8/lvmsadc.8 #usr/share/man/man8/lvmsar.8 #usr/share/man/man8/lvreduce.8 @@ -122,6 +127,7 @@ usr/sbin/vgsplit #usr/share/man/man8/vgextend.8 #usr/share/man/man8/vgimport.8 #usr/share/man/man8/vgimportclone.8 +#usr/share/man/man8/vgimportdevices.8 #usr/share/man/man8/vgmerge.8 #usr/share/man/man8/vgmknodes.8 #usr/share/man/man8/vgreduce.8 diff --git a/lfs/lvm2 b/lfs/lvm2 index 7e327a021..5b39f05f5 100644 --- a/lfs/lvm2 +++ b/lfs/lvm2 @@ -1,7 +1,7 @@ ############################################################################### # # # IPFire.org - A linux based firewall # -# Copyright (C) 2007-2018 IPFire Team info@ipfire.org # +# Copyright (C) 2007-2023 IPFire Team info@ipfire.org # # # # This program is free software: you can redistribute it and/or modify # # it under the terms of the GNU General Public License as published by # @@ -24,7 +24,7 @@ include Config -VER = 2.02.188 +VER = 2.03.21 THISAPP = LVM2.$(VER) DL_FILE = $(THISAPP).tgz @@ -40,7 +40,7 @@ objects = $(DL_FILE) $(DL_FILE) = $(DL_FROM)/$(DL_FILE) -$(DL_FILE)_BLAKE2 = bed90c8454cd4b20fdeec6dcbf5a9f97c9310671aea3b2252f8069cfa439fcb050f5ad95f928a7125a1734a4dc5ac985da99a4a570538e377a7205191a505476 +$(DL_FILE)_BLAKE2 = 529bc01b3d1ba6207c9ddc95309b39e6293fcd0286334240b9fdc076da0b7bc7e026338ec0243564ec153f2fb5009014149c3f8e0db0cd47a29418af62068728 install : $(TARGET)
-- Sent from my laptop
- Update from version 2.6.2 to 2.6.3 - Update of rootfile - Changelog is available in sourceforge at the following url https://sourceforge.net/projects/nfs/files/nfs-utils/2.6.3/
Signed-off-by: Adolf Belka adolf.belka@ipfire.org --- config/rootfiles/packages/nfs | 3 +-- lfs/nfs | 6 +++--- 2 files changed, 4 insertions(+), 5 deletions(-)
diff --git a/config/rootfiles/packages/nfs b/config/rootfiles/packages/nfs index ff53abec9..e4c3c5219 100644 --- a/config/rootfiles/packages/nfs +++ b/config/rootfiles/packages/nfs @@ -24,13 +24,12 @@ usr/lib/libnfsidmap/static.so #usr/lib/libnfsidmap/umich_ldap.a #usr/lib/libnfsidmap/umich_ldap.la usr/lib/libnfsidmap/umich_ldap.so -#usr/lib/modprobe.d -#usr/lib/modprobe.d/50-nfs.conf #usr/lib/pkgconfig/libnfsidmap.pc #usr/lib/udev/rules.d/99-nfs.rules #usr/libexec/nfsrahead #usr/sbin/blkmapd usr/sbin/exportfs +usr/sbin/fsidd usr/sbin/mountstats usr/sbin/nfsconf usr/sbin/nfsdcld diff --git a/lfs/nfs b/lfs/nfs index 877b9985e..4df6efa6f 100644 --- a/lfs/nfs +++ b/lfs/nfs @@ -26,7 +26,7 @@ include Config
SUMMARY = Support Utilities for Kernel nfsd
-VER = 2.6.2 +VER = 2.6.3
THISAPP = nfs-utils-$(VER) DL_FILE = $(THISAPP).tar.xz @@ -34,7 +34,7 @@ DL_FROM = $(URL_IPFIRE) DIR_APP = $(DIR_SRC)/$(THISAPP) TARGET = $(DIR_INFO)/$(THISAPP) PROG = nfs -PAK_VER = 19 +PAK_VER = 20
DEPS = rpcbind
@@ -48,7 +48,7 @@ objects = $(DL_FILE)
$(DL_FILE) = $(DL_FROM)/$(DL_FILE)
-$(DL_FILE)_BLAKE2 = ac5aeec051f10e7cd9593d21ecd07eddc87fd6d98e5aaa0db5c6af5ec223c05d856a877469a340c68364bbb317ec2ee3cfe79b7f9ff444028c8f851838f59853 +$(DL_FILE)_BLAKE2 = 1aafa7d49006a62e862a592e30c4f9ba762d6c1973cacd7b89709706cc69617aae8d23000f78841f3a09bf81140222904976536114f3fb78f6230defb039ae9b
install : $(TARGET)
- Updsate from version 1.3.1 to 1.4 - Update of rootfile - Changelog opus 1.4 major release brings the following improvements and fixes: Improved tuning of the Opus in-band FEC (LBRR). See https://gitlab.xiph.org/xiph/opus/-/issues/2360 for details Added a OPUS_SET_INBAND_FEC(2) option that turns on FEC, but does not force SILK mode (FEC will be disabled in CELT mode) Improved tuning and various fixes to DTX Added Meson support, improved CMake support In addition to the improvements above, this release includes many minor bug fixes.
Signed-off-by: Adolf Belka adolf.belka@ipfire.org --- config/rootfiles/packages/opus | 2 +- lfs/opus | 8 ++++---- 2 files changed, 5 insertions(+), 5 deletions(-)
diff --git a/config/rootfiles/packages/opus b/config/rootfiles/packages/opus index a2591f99e..398135c3d 100644 --- a/config/rootfiles/packages/opus +++ b/config/rootfiles/packages/opus @@ -8,6 +8,6 @@ #usr/lib/libopus.la #usr/lib/libopus.so usr/lib/libopus.so.0 -usr/lib/libopus.so.0.8.0 +usr/lib/libopus.so.0.9.0 #usr/lib/pkgconfig/opus.pc #usr/share/aclocal/opus.m4 diff --git a/lfs/opus b/lfs/opus index 8ebb95fc7..e91c6a0e1 100644 --- a/lfs/opus +++ b/lfs/opus @@ -1,7 +1,7 @@ ############################################################################### # # # IPFire.org - A linux based firewall # -# Copyright (C) 2007-2020 IPFire Team info@ipfire.org # +# Copyright (C) 2007-2023 IPFire Team info@ipfire.org # # # # This program is free software: you can redistribute it and/or modify # # it under the terms of the GNU General Public License as published by # @@ -26,7 +26,7 @@ include Config
SUMMARY = Opus Audio Codec Library
-VER = 1.3.1 +VER = 1.4
THISAPP = opus-$(VER) DL_FILE = $(THISAPP).tar.gz @@ -34,7 +34,7 @@ DL_FROM = $(URL_IPFIRE) DIR_APP = $(DIR_SRC)/$(THISAPP) TARGET = $(DIR_INFO)/$(THISAPP) PROG = opus -PAK_VER = 3 +PAK_VER = 4
DEPS =
@@ -48,7 +48,7 @@ objects = $(DL_FILE)
$(DL_FILE) = $(DL_FROM)/$(DL_FILE)
-$(DL_FILE)_BLAKE2 = e0aab38518938157a6ef27307f52d9d3f9c12a2fef4c7e5b4168c2f6fc04d79e333ebe477059b3e6a0518fcf6aa089b5eb1c8de68d83474e237c0f73e5a221cb +$(DL_FILE)_BLAKE2 = 21f11df745cb868f4da1586d678901045fd9bd0c0590628015f3adc2522c88b0660df88096abe975051fec3188b76b93762c4a01907c2ab2b23c40fde79cf6ad
install : $(TARGET) check : $(patsubst %,$(DIR_CHK)/%,$(objects))
- Update from version 1.5.4 to 1.5.5 - Update of rootfile - Changelog v1.5.5 (Apr 2023) fix: fix rare corruption bug affecting the high compression mode, reported by @danlark1 (#3517, @terrelln) perf: improve mid-level compression speed (#3529, #3533, #3543, @yoniko and #3552, @terrelln) lib: deprecated bufferless block-level API (#3534) by @terrelln cli: mmap large dictionaries to save memory, by @daniellerozenblit cli: improve speed of --patch-from mode (~+50%) (#3545) by @daniellerozenblit cli: improve i/o speed (~+10%) when processing lots of small files (#3479) by @felixhandte cli: zstd no longer crashes when requested to write into write-protected directory (#3541) by @felixhandte cli: fix decompression into block device using -o, reported by @georgmu (#3583) build: fix zstd CLI compiled with lzma support but not zlib support (#3494) by @Hello71 build: fix cmake does no longer require 3.18 as minimum version (#3510) by @kou build: fix MSVC+ClangCL linking issue (#3569) by @tru build: fix zstd-dll, version of zstd CLI that links to the dynamic library (#3496) by @yoniko build: fix MSVC warnings (#3495) by @embg doc: updated zstd specification to clarify corner cases, by @Cyan4973 doc: document how to create fat binaries for macos (#3568) by @rickmark misc: improve seekable format ingestion speed (~+100%) for very small chunk sizes (#3544) by @Cyan4973 misc: tests/fullbench can benchmark multiple files (#3516) by @dloidolt
Signed-off-by: Adolf Belka adolf.belka@ipfire.org --- config/rootfiles/common/zstd | 2 +- lfs/zstd | 4 ++-- 2 files changed, 3 insertions(+), 3 deletions(-)
diff --git a/config/rootfiles/common/zstd b/config/rootfiles/common/zstd index 235613949..58eb75b3f 100644 --- a/config/rootfiles/common/zstd +++ b/config/rootfiles/common/zstd @@ -10,7 +10,7 @@ usr/bin/zstdmt #usr/lib/libzstd.a #usr/lib/libzstd.so usr/lib/libzstd.so.1 -usr/lib/libzstd.so.1.5.4 +usr/lib/libzstd.so.1.5.5 #usr/lib/pkgconfig/libzstd.pc #usr/share/man/man1/unzstd.1 #usr/share/man/man1/zstd.1 diff --git a/lfs/zstd b/lfs/zstd index 1c2447f54..068f972a3 100644 --- a/lfs/zstd +++ b/lfs/zstd @@ -24,7 +24,7 @@
include Config
-VER = 1.5.4 +VER = 1.5.5
THISAPP = zstd-$(VER) DL_FILE = $(THISAPP).tar.gz @@ -49,7 +49,7 @@ objects = $(DL_FILE)
$(DL_FILE) = $(DL_FROM)/$(DL_FILE)
-$(DL_FILE)_BLAKE2 = ffc5fcbbdf4ab04bc14b5037308bf4e879d4cbaaf863462ea1e8af3f1b86b935ee6036e49298c83ac42b00472c003e32c263c977f0ae7d64f31d9ae63c5c28cb +$(DL_FILE)_BLAKE2 = 7680e27a0adacfb809d9fc81e06d3f99bf74df30374d3b5cb2d58f667dd1b7d5c41697e608592709e17c0e32277f20a6d615edee409b5d7cdcb15da2799a2350
install : $(TARGET)