Libblockdev 3.1.1 ------------------ New bugfix release of the libblockdev library with multiple fixes. See below for details. **Full list of changes** Giulio Benetti (1): - Use glib2 G_GNUC_UNUSED in place of UNUSED locally defined Tomas Bzatek (5): - Port to G_GNUC_INTERNAL for controlling symbols visibility - Fix some more occurrences of missing port to G_GNUC_UNUSED - dm_logging: Annotate redirect_dm_log() printf format - tests: Add NVMe persistent discovery controller tests - tests: Add NVMe controller type checks Vojtech Trefny (6): - Makefile: Fix bumpver to work with micro versions - tests: Manually remove removed PVs from LVM devices file - tests: Ignore LVM devices file for non-LVM tests - tests: Fix removing custom LVM devices file - nvme: Add bd_nvme_is_tech_avail to the API file - lvm-dbus: Fix passing size for pvresize over DBus Libblockdev 3.1.0 ------------------ New minor release of the libblockdev library with multiple fixes. See below for details. **Full list of changes** Tomas Bzatek (7): - tests: Default to /tmp for create_sparse_tempfile() - tests: Avoid setting up intermediary loop device for the nvme target - tests: Remove unreliable nvme attribute checks - lvm-dbus: Fix leaking error - lvm-dbus: Avoid using already-freed memory - utils: Add expected printf string annotation - fs: Report reason for open() and ioctl() failures Vojtech Trefny (18): - ci: Add an action to compile libblockdev with different compilers - Sync spec with downstream - Add BDPluginSpec constructor and use it in plugin_specs_from_names - overrides: Remove unused 'sys' import - ci: Manually prepare spec file for Packit - ci: Remove the custom version command for Packit - swap: Add support for checking label and UUID format - fs: Add a function to check label format for F2FS - fs: Add a generic function to check for fs info availability - fs: Fix allowed UUID for generic mkfs with VFAT - fs: Add support for getting filesystem min size for NTFS and Ext - tests: Remove some obsolete rules to skip tests - Mark NVDIMM plugin as deprecated since 3.1 - part: Fix potential double free when getting parttype - tests: Use BDPluginSpec constructor in LVM DBus plugin tests - python: Add a deepcopy function to our structs - Fix missing progress initialization in bd_crypto_luks_add_key - tests: Skip some checks for btrfs errors with btrfs-progs 6.6.3 Libblockdev 3.0.4 ------------------ New bugfix release of the libblockdev library with multiple fixes. See below for details. **Full list of changes** Jelle van der Waa (3): - plugins: use g_autofree for free'ing g_char's - plugins: btrfs: use g_autofree where possible for g_free - fs: correct btrfs set label description Tomas Bzatek (1): - nvme: Rework memory allocation for device ioctls Vojtech Trefny (11): - spec: Obsolete vdo plugin packages - spec: Move obsoleted devel subpackages to libblockdev-devel - ci: Bump actions/checkout from v3 to v4 - part: Do not open disk read-write for read only operations - fs: Disable progress for ntfsresize - packit: Add configuration for downstream builds - logging: Default to DEBUG log level if compiled with --enable-debug - Use log function when calling a plugin function that is not loaded - lvm-dbus: Replace g_critical calls with bd_utils_log_format - tests: Fail early when recompilation fails in library_test - tests: Fix "invalid escape sequence '\#'" warning from Python 3.12 Libblockdev 3.0.3 ------------------ New bugfix release of the libblockdev library with multiple fixes. See below for details. **Full list of changes** Marius Vollmer (1): - Always use "--fs ignore" with lvresize Michael Biebl (1): - tests: Specificy required versions when importing GLib and BlockDev introspection Tomas Bzatek (3): - nvme: Use interim buffer for nvme_get_log_sanitize() - nvme: Generate HostID when missing - tests: Minor NVMe HostNQN fixes Vojtech Trefny (4): - tests: Replace deprecated unittest assert calls - fs: Fix leaking directories with temporary mounts - fs: Fix memory leak - crypto: Correctly convert passphrases from Python to C Libblockdev 3.0.2 ------------------ New bugfix release of the libblockdev library with multiple fixes. See below for details. **Full list of changes** Alexis Murzeau (1): - Use ntfsinfo instead of ntfscluster for faster bd_fs_ntfs_get_info Marek Szuba (1): - docs: Fix test quotation Michael Biebl (1): - Restrict list of exported symbols via -export-symbols-regex Tomas Bzatek (2): - lib: Silence the missing DEFAULT_CONF_DIR_PATH - loop: Report BD_LOOP_ERROR_DEVICE on empty loop devices Vojtech Trefny (5): - Fix formatting in NEWS.rst - fs: Fix unused error in extract_e2fsck_progress - fs: Use read-only mount where possible for generic FS functions - fs: Document that generic functions can mount filesystems - fs: Avoid excess logging in extract_e2fsck_progress Libblockdev 3.0.1 ------------------ New bugfix release of the libblockdev library with multiple fixes. See below for details. **Full list of changes** Giulio Benetti (1): - loop: define LOOP_SET_BLOCK_SIZE is not defined Tomas Bzatek (6): - nvme: Mark private symbols as hidden - build: Exit before AC_OUTPUT on error - loop: Remove unused variable - crypto: Remove stray struct redefinition - boilerplate_generator: Annotate stub func args as G_GNUC_UNUSED - fs: Simplify struct BDFSInfo Vojtech Trefny (11): - vdo_stats: Remove unused libparted include - lvm: Make _vglock_start_stop static - lvm: Fix declaration for bd_lvm_vdolvpoolname - loop: Remove bd_loop_get_autoclear definition - lvm: Add bd_lvm_segdata_copy/free to the header file - fs: Add missing copy and free functions to the header file - misc: Update steps and Dockerfile for Python documentation - dist: Sync spec with downstream - spec: Add dependency on libblockdev-utils to the s390 plugin - configure: Fix MAJOR_VER macro - Make the conf.d directory versioned Libblockdev 3.0 --------------- New major release of the libblockdev library. This release contains a large API overhaul, please check the documentation for full list of API changes. **Notable changes** - VDO a KBD plugins were removed. - New NVMe plugin was added. - Runtime dependencies are no longer checked during plugin initialization. - Part plugin was rewritten to use libfdisk instead of libparted. - Crypto plugin API went through an extensive rewrite. - Support for new technologies was added to the crypto plugin: FileVault2 encryption, DM Integrity, LUKS2 tokens. - Filesystem plugin adds support for btrfs, F2FS, NILFS2, exFAT and UDF. - Support for new filesystem operations was added to the plugin: setting label and UUID, generic mkfs function and API for getting feature support for filesystems. - dmraid support was removed from the DM plugin. - Python 2 support was dropped. Libblockdev 2.28 ---------------- New minor release of the libblockdev library with multiple fixes. See below for details. **Full list of changes** Michael Biebl (1): - Fix typos Vojtech Trefny (17): - lvm: Fix bd_lvm_get_supported_pe_sizes in Python on 32bit - tests: Create bigger devices for XFS tests - tests: Use ext instead of xfs in MountTestCase.test_mount_ro_device - mpath: Memory leak fix - spec: Require the same version utils from plugins - mdraid: Try harder to get container UUID in bd_md_detail - Add a test case for DDF arrays/containers - mdraid: Do not ignore errors from bd_md_canonicalize_uuid in bd_md_examine - mdraid: Try harder to get container UUID in bd_md_examine - mdraid: Fix copy-paste error when checking return value - tests: Wait for raid and mirrored LVs to be synced before removing - tests: Make smaller images for test_lvcreate_type - dm: Fix comparing DM RAID member devices UUID - mdraid: Fix use after free - ci: Add .lgtm.yaml config for LGTM - ci: Add GitHub actions for running rpmbuilds and csmock - mpath: Fix potential NULL pointer dereference zhanghongtao (1): - Fix mismatched functions return value type Libblockdev 2.27 ---------------- New minor release of the libblockdev library with multiple fixes. See below for details. **Full list of changes** Tomas Bzatek (1): - fs: Return BD_FS_ERROR_UNKNOWN_FS on mounting unknown filesystem Vojtech Trefny (21): - overrides: Fix translating exceptions in ErrorProxy - tests: Do not check that swap flag is not supported on DOS table - tests: Lower expected free space on newly created Ext filesystems - tests: Remove test for NTFS read-only mounting - vdo_stats: Default to 100 % savings for invalid savings values - lvm: Fix reading statistics for VDO pools with VDO 8 - tests: Fix creating loop device for CryptoTestLuksSectorSize - tests: Use losetup to create 4k sector size loop device for testing - s390: Remove double fclose in bd_s390_dasd_online (#2045784) - lvm-dbus: Add support for changing compression and deduplication - tests: Skip test_lvcreate_type on CentOS/RHEL 9 - tests: Fix expected extended partition flags with new parted - lvm: Do not set global config to and empty string - lvm: Do not include duplicate entries in bd_lvm_lvs output - lvm: Use correct integer type in for comparison - crypto: Remove useless comparison in progress report in luks_format - boilerplate_generator: Remove unused variable assignment - kbd: Add missing progress reporting to bd_kbd_bcache_create - kbd: Fix leaking error in bd_kbd_bcache_detach - kbd: Fix potential NULL pointer dereference in bd_kbd_bcache_create - crypto: Remove unused and leaking error in write_escrow_data_file Libblockdev 2.26 ---------------- New minor release of the libblockdev library with multiple fixes. See below for details. **Full list of changes** Manuel Wassermann (1): - exec: Fix deprecated glib function call Glib will rename "g_spawn_check_exit_status()" to "g_spawn_check_wait_status()" in version 2.69. Tomasz Paweł Gajc (1): - remove unused variable and fix build with LLVM/clang Vojtech Trefny (22): - NEWS.rts: Fix markup - crypto: Fix default key size for non XTS ciphers - vdo: Do not use g_memdup in bd_vdo_stats_copy - fs: Allow using empty label for vfat with newest dosfstools - tests: Call fs_vfat_mkfs with "--mbr=n" extra option in tests - kbd: Fix memory leak - crypto: Fix memory leak - dm: Fix memory leak in the DM plugin and DM logging redirect function - fs: Fix memory leak - kbd: Fix memory leak - lvm-dbus: Fix memory leak - mdraid: Fix memory leak - swap: Fix memory leak - tests: Make sure the test temp mount is always unmounted - tests: Do not check that XFS shrink fails with xfsprogs >= 5.12 - tests: Temporarily skip test_snapshotcreate_lvorigin_snapshotmerge - Fix skipping tests on Debian testing - crypto: Let cryptsetup autodect encryption sector size when not specified - tests: Do not try to remove VG before removing the VDO pool - tests: Force remove LVM VG /dev/ entry not removed by vgremove - tests: Tag LvmPVVGLVcachePoolCreateRemoveTestCase as unstable - Add missing plugins to the default config Libblockdev 2.25 ---------------- New minor release of the libblockdev library with multiple fixes. See below for details. **Full list of changes** Tomas Bzatek (6): - exec: Fix polling for stdout and stderr - exec: Use non-blocking read and process the buffer manually - exec: Clarify the BDUtilsProgExtract callback documentation - tests: Add bufferbloat exec tests - tests: Add null-byte exec tests - lvm: Fix bd_lvm_vdopooldata_* symbols Vojtech Trefny (10): - exec: Fix setting locale for util calls - fs: Do not report error when errors were fixed by e2fsck - README: Use CI status image for 2.x-branch on 2.x - fs: Fix compile error in ext_repair caused by cherry pick from master - Mark all GIR file constants as guint64 - lvm: Set thin metadata limits to match limits LVM uses in lvcreate - lvm: Do not use thin_metadata_size to recommend thin metadata size - lvm: Use the UNUSED macro instead of __attribute__((unused)) - Fix max size limit for LVM thinpool metadata - loop: Retry LOOP_SET_STATUS64 on EAGAIN Libblockdev 2.24 ---------------- New minor release of the libblockdev library with multiple fixes. See below for details. **Notable changes** - vdo - VDO plugin has been deprecated in this release (functionality replaced by LVM VDO) - lvm - support for creating and managing LVM VDO volumes added - crypto - support for unlocking of BitLocker-compatible format BITLK added (requires cryptsetup 2.3.0) **Full list of changes** Lars Wendler (1): - configure.ac: Avoid bashisms Matt Thompson (1): - Fixed a number of memory leaks in lvm-dbus plugin Matt Whitlock (1): - configure.ac: Avoid more bashisms Tomas Bzatek (4): - utils: Add functions to get and check current linux kernel version - vdo: Fix a memleak - exec: Fix a memleak - mount: Fix a memleak Vojtech Trefny (47): - Sync spec with downstream - Use 'explicit_bzero' to erase passphrases from key files - Add new function 'bd_fs_wipe_force' to control force wipe - Fix linking against utils on Debian - exec.c: Fix reading outputs with null bytes - fs: Fix checking for UID/GID == 0 - Fix expected cache pool name with newest LVM - Fix memory leak in LVM DBus plugin - Manually remove symlinks not removed by udev in tests - Add a helper function for closing an active crypto device - Add support for BitLocker encrypted devices using cryptsetup - ext: Return empty string instead of "" for empty UUID - Fix typo in (un)mount error messages - vdo: Run "vdo create" with "--force" - lvm-dbus: Do not activate LVs during pvscan --cache - lvm-dbus: Fix memory leak in bd_lvm_thlvpoolname - tests: Specify loader for yaml.load in VDO tests - Add a function to check if a tool supports given feature - Do not hardcode pylint executable name in Makefile - Fix LVM plugin so names in tests - Add support for creating and managing VDO LVs with LVM - Add some helper functions to get LVM VDO mode and state strings - Fix converting to VDO pool without name for the VDO LV - Add write policy and index size to LVM VDO data - Fix getting string representation of unknown VDO state index - Fix getting VDO data in the LVM DBus plugin - Allow calling LVM functions without locking global_config_lock - Add extra parameters for creating LVM VDO volumes - Add function to get LVM VDO write policy from a string - exec: Disable encoding when reading data from stdout/stderr - Fix copy-paste bug in lvm.api - Move VDO statistics code to a separate file - Add functions to get VDO stats for LVM VDO volumes - lvm-dbus: Get data LV name for LVM VDO pools too - lvm: Add a function to get VDO pool name for a VDO LV - lvm-dbus: Add LVM VDO pools to bd_lvm_lvs - tests: Skip LVM VDO tests if kvdo module cannot be loaded - Do not skip LVM VDO tests when the kvdo module is already loaded - lvm: Fix getting cache stats for cache thinpools - Create a common function to get label and uuid of a filesystem - Do not open devices as read-write for read-only fs operations - Use libblkid to get label and UUID for XFS filesystems - Do not check VDO saving percent value in LVM DBus tests - utils: Remove deadcode in exec.c - fs: Fix potential NULL pointer dereference in mount.c - Fix multiple uninitialized values discovered by coverity - Mark VDO plugin as deprecated since 2.24 Libblockdev 2.23 ---------------- New minor release of the libblockdev library with multiple fixes. See below for details. **Notable changes** - fs - new functions for (un)freezing filesystems added - tests - test suite can now be run against installed version of libblockdev **Full list of changes** Vojtech Trefny (28): - Skip bcache tests on all Debian versions - Add a function to check whether a path is a mounpoint or not - Add function for (un)freezing filesystems - Add a decorator for "tagging" tests - Use test tags for skipping tests - Use the new test tags in tests - Remove duplicate test case - Allow running tests against installed libblockdev - Add a special test tag for library tests that recompile plugins - Force LVM cli plugin in lvm_test - Mark 'test_set_bitmap_location' as unstable - Add ability to read tests to skip from a config file - Skip bcache tests if make-bcache is not installed - Use the new config file for skipping tests - Ignore coverity deadcode warnings in the generated code - Ignore coverity deadcode warning in 'bd_fs_is_tech_avail' - Mark 'private' plugin management functions as static - Remove unused 'get_PLUGIN_num_functions' and 'get_PLUGIN_functions' functions - Mark LVM global config locks as static - Hide filesystem-specific is_tech_available functions - Use 'kmod_module_probe_insert_module' function for loading modules - Fix parsing distro version from CPE name - Move the NTFS read-only device test to a separate test case - Print skipped test "results" to stderr instead of stdout - Fix LVM_MAX_LV_SIZE in the GIR file - Fix skipping NTFS read-only test case on systems without NTFS - Skip tests for old-style LVM snapshots on recent Fedora - Fix how we get process exit code from g_spawn_sync Libblockdev 2.22 ---------------- New minor release of the libblockdev library with multiple fixes. See below for details. **Notable changes** - nvdimm - new function for getting list of supported sector sizes for namespaces - fixes - multiple memory leaks fixed **Full list of changes** Adam Williamson (1): - Sync spec file with python2 obsoletion added downstream Tomas Bzatek (17): - bd_fs_xfs_get_info: Allow passing error == NULL - lvm: Fix some obvious memory leaks - lvm: Use g_ptr_array_free() for creating lists - lvm: Fix leaking BDLVMPVdata.vg_uuid - exec: Fix some memory leaks - mdraid: Fix g_strsplit() leaks - s390: Fix g_strsplit() leaks - ext: Fix g_strsplit() leaks - ext: Fix g_match_info_fetch() leaks - kbd: Fix g_match_info_fetch() leaks - part: Fix leaking objects - ext: Fix leaking string - part: Fix leaking string in args - mdraid: Fix leaking error - mdraid: Fix leaking BDMDExamineData.metadata - btrfs: Fix number of memory leaks - module: Fix libkmod related leak Vojtech Trefny (7): - Sync spec with downstream - Allow skiping tests only based on architecture - New function to get supported sector sizes for NVDIMM namespaces - Use existing cryptsetup API for changing keyslot passphrase - tests: Fix removing targetcli lun - Remove device-mapper-multipath dependency from fs and part plugins - tests: Fix Debian testing "version" for skipping Libblockdev 2.21 ---------------- New minor release of the libblockdev library with multiple fixes. See below for details. **Notable changes** - crypto - default key size for LUKS was changed to 512bit - tools - new simple cli tools that use libblockdev - first tool is ``lvm-cache-stats`` for displaying stats for LVM cache devices - use configure option ``--without-tools`` to disable building these **Full list of changes** Vojtech Trefny (19): - Use libblkid to check swap status before swapon - Add error codes and Python exceptions for swapon fails - Add libblkid-devel as a build dependency for the swap plugin - Skip VDO grow physical test - crypto_test.py: Use blkid instead of lsblk to check luks label - Use major/minor macros from sys/sysmacros.h instead of linux/kdev_t.h - Add custom error message for wrong passphrase for open - Skip LUKS2+integrity test on systems without dm-integrity module - Use cryptsetup to check LUKS2 label - Fix LUKS2 resize password test - crypto: Do not try to use keyring on systems without keyring support - lvm-dbus: Do not pass extra arguments enclosed in a tuple - Enable cryptsetup debug messages when compiled using --enable-debug - vagrant: install 'autoconf-archive' on Ubuntu - vagrant: remove F27 and add F29 - Add 'autoconf-archive' to build requires - tests: Remove some old/irrelevant skips - tests: Stop skipping some tests on Debian testing - Fix checking swap status on lvm/md Vratislav Podzimek (6): - Discard messages from libdevmapper in the LVM plugins - Add a tool for getting cached LVM statistics - Make building tools optional - Document what the 'tools' directory contains - Add a new subpackage with the tool(s) - Use 512bit keys in LUKS by default Libblockdev 2.20 ---------------- New minor release of the libblockdev library with multiple fixes. See below for details. **Notable changes** - fixes - Fix parsing extra arguments for LVM methods calls in the LVM DBus plugin. - Multiple fixes for running tests on Debian testing. - development - Vagrantfile template was added for easy development machine setup. **Full list of changes** Dennis Schridde (1): - Fix build of plugins by changing linking order Vojtech Trefny (17): - Fix spacing in NEWS.rst - Fix licence header in dbus.c - Do not require 'dmraid' package if built without dmraid support - Always build the VDO plugin - kbd: Check for zram module availability in 'bd_kbd_is_tech_avail' - Fix skipping zram tests on Fedora 27 - Build the dm plugin without dmraid support on newer RHEL - tests: Try harder to get distribution version - Skip bcache tests on Debian testing - Skip NTFS mount test on Debian testing - Skip MDTestAddRemove on Debian - lvm-dbus: Fix parsing extra arguments for LVM methods calls - Fix how we check zram stats from /sys/block/zram0/stat - Add some missing test dependencies to the vagrant template - Add Ubuntu 18.04 VM configuration to the vagrant template - Skip nvdimm tests on systems without ndctl - Require newer version of cryptsetup for LUKS2 tests Vratislav Podzimek (6): - Mark the function stubs as static - Fix the error message when deleting partition fails - Add a Vagrantfile template - Document what the 'misc' directory contains - Fix how/where the bcache tests are skipped - Use unsafe caching for storage for devel/testing VMs Libblockdev 2.19 ---------------- New minor release of the libblockdev library with multiple fixes. See below for details. **Notable changes** - features - vdo: new functions to get statistical data for existing VDO volumes (`bd_vdo_get_stats`) - crypto: support for passing extra arguments for key derivation function when creating LUKS2 format **Full list of changes** Max Kellermann (8): - fix -Wstrict-prototypes - exec: make `msg` parameters const - plugins/check_deps: make all strings and `UtilDep` instances `const` - plugins/crypto: work around -Wdiscarded-qualifiers - plugins/dm: add explicit cast to work around -Wdiscarded-qualifiers - plugins/lvm{,-dbus}: get_lv_type_from_flags() returns const string - plugins/kbd: make wait_for_file() static - pkg-config: add -L${libdir} and -I${includedir} Tom Briden (1): - Re-order libbd_crypto_la_LIBADD to fix libtool issue Tomas Bzatek (2): - vdo: Properly destroy the yaml parser - fs: Properly close both ends of the pipe Vojtech Trefny (33): - Sync spec with downstream - Do not build VDO plugin on non-x86_64 architectures - Show simple summary after configure - Add Python override for bd_crypto_tc_open_full - Add a simple test case for bd_crypto_tc_open - Use libblkid in bd_crypto_is_luks - Make sure all our free and copy functions work with NULL - Fix few wrong names in doc strings - Use versioned command for Python 2 - Reintroduce python2 support for Fedora 29 - Allow specifying extra options for PBKDF when creating LUKS2 - configure.ac: Fix missing parenthesis in blkid version check - acinclude.m4: Use AS_EXIT to fail in LIBBLOCKDEV_FAILURES - Skip 'test_cache_pool_create_remove' on CentOS 7 - BlockDev.py Convert dictionary keys to set before using them - Make sure library tests properly clean after themselves - Make sure library_test works after fixing -Wstrict-prototypes - Do not build btrfs plugin on newer RHEL - Do not build KBD plugin with bcache support on RHEL - Skip btrfs tests if btrfs module is not available - Add version to tests that should be skipped on CentOS/RHEL 7 - Skip VDO tests also when the 'kvdo' module is not available - Fix how we check zram stats from /sys/block/zram0/mm_stat - Fix calling BlockDev.reinit in swap tests - Fix vdo configuration options definition in spec file - Fix running pylint in tests - Ignore "bad-super-call" pylint warning in BlockDev.py - Fix three memory leaks in lvm-dbus.c - Fix licence headers in sources - lvm.c: Check for 'lvm' dependency in 'bd_lvm_is_tech_avail' - lvm-dbus.c: Check for 'lvmdbus' dependency in 'bd_lvm_is_tech_avail' - Add test for is_tech_available with multiple dependencies - Use python interpreter explicitly when running boilerplate_generator.py Libblockdev 2.18 ---------------- New minor release of the libblockdev library with multiple fixes. See below for details. **Notable changes** - features - New plugin: vdo - support for creating and managing VDO volumes - Support for building dm plugin without libdmraid support -- configure option ``--without-dmraid``. **Full list of changes** Kai Lüke (2): - Correct arguments for ext4 repair with progress - Introduce reporting function per thread Tomas Bzatek (3): - vdo: Resolve real device file path - vdo: Implement bd_vdo_grow_physical() - vdo: Add tests for bd_vdo_grow_physical() Vojtech Trefny (14): - Update specs.rst and features.rst - Fix release number in NEWS.rst - Add 'bd_dm_is_tech_avail' to header file - Always check for error when (un)mounting - Add the VDO plugin - Add basic VDO plugin functionality - Add decimal units definition to utils/sizes.h - Add tests for VDO plugin - Only require plugins we really need in LVM dbus tests - Allow compiling libblockdev without libdmraid - Adjust to new NVDIMM namespace modes - Do not try to build VDO plugin on Fedora - Remove roadmap.rst - Add VDO to features.rst Vratislav Podzimek (2): - Use xfs_repair instead of xfs_db in bd_fs_xfs_check() - Clarify that checking an RW-mounted XFS file system is impossible segfault (1): - Fix off-by-one error when counting TCRYPT keyfiles Libblockdev 2.17 ---------------- New minor release of the libblockdev library with multiple fixes. See below for details. **Notable changes** - features - New plugin: nvdimm - support for NVDIMM namespaces management - requires *libndctl* >= 58.4 - LUKS2 support - support for creating LUKS2 format including authenticated disk encryption - multiple new functions for working with LUKS devices (suspend/resume, header backup, metadata size...) - Extended support for opening TrueCrypt/VeraCrypt volumes - Support for building crypto plugin without escrow device support (removes build dependency on *libvolume_key* and *libnss*) -- configure option ``--without-escrow``. - Support for building libblockdev without Python 2 support -- configure option ``--without-python2``. **Full list of changes** Bjorn Pagen (3): - Fix build against musl libc - Fix build with clang - Enforce ZERO_INIT gcc backwards compatibility Florian Klink (1): - s390: don't hardcode paths, search PATH Jan Pokorny (1): - New function for luks metadata size Vojtech Trefny (24): - Sync the spec file with downstream - Fix python2-gobject-base dependency on Fedora 26 and older - Add the NVDIMM plugin - Add tests for the NVDIMM plugin - Add --without-xyz to DISTCHECK_CONFIGURE_FLAGS for disabled plugins - Add function for getting NVDIMM namespace name from devname or path - Fix memory leaks discovered by clang - Get sector size for non-block NVDIMM namespaces too - lvm-dbus: Check returned job object for error - Add functions to suspend and resume a LUKS device - Add function for killing keyslot on a LUKS device - Add functions to backup and restore LUKS header - Require at least libndctl 58.4 - Allow compiling libblockdev crypto plugin without escrow support - Allow building libblockdev without Python 2 support - Skip bcache tests on Rawhide - Add support for creating LUKS 2 format - Use libblockdev function to create LUKS 2 in tests - Add a basic test for creating LUKS 2 format - Add function to get information about a LUKS device - Add function to get information about LUKS 2 integrity devices - Add functions to resize LUKS 2 - Add a generic logging function for libblockdev - Redirect cryptsetup log to libblockdev log Vratislav Podzimek (1): - Use '=' instead of '==' to compare using 'test' segfault (10): - Support unlocking VeraCrypt volumes - Support TCRYPT keyfiles - Support TCRYPT hidden containers - Support TCRYPT system volumes - Support VeraCrypt PIM - Add function bd_crypto_device_seems_encrypted - Make keyfiles parameter to bd_crypto_tc_open_full zero terminated - Don't use VeraCrypt PIM if compiled against libcryptsetup < 2.0 - Make a link point to the relevant section - Add new functions to docs/libblockdev-sections.txt Libblockdev 2.16 ---------------- New minor release of the libblockdev library with multiple fixes. See below for details. **Notable changes** - features - LUKS 2 support for luks_open/close and luks_add/remove/change_key - Progress report support for ext filesystem checks **Full list of changes** Jan Tulak (4): - Add a function to test if prog. reporting was initialized - Add progress reporting infrastructure for Ext fsck - Add e2fsck progress - Add tests for progress report Vojtech Trefny (5): - Fix link to online documentation - Update 'Testing libblockdev' section in documentation - Check if 'journalctl' is available before trying to use it in tests - Fix few more links for project and documentation website - Add support for LUKS 2 opening and key management Vratislav Podzimek (2): - Fix how the new kernel module functions are added to docs - Sync the spec file with downstream Libblockdev 2.15 ---------------- New minor release of the libblockdev library with multiple fixes and quite big refactorization changes (in the file system plugin). See below for details. **Notable changes** - fixes - Fix bd_s390_dasd_format() and bd_s390_dasd_is_ldl(). - Fix how GPT patition flags are set. - Check the *btrfs* module availability as part of checking the *btrfs* plugin's dependencies. - Fix memory leaks in bd_fs_vfat_get_info() - Fix the file system plugin's dependency checking mechanisms. - features - Mark some of the tests as unstable so that their failures are reported, but ignored in the overall test suite status. - The file system plugin is now split into multiple source files making it easier to add support for more file systems and technologies. **Full list of changes** Vendula Poncova (2): - bd_s390_dasd_is_ldl should be true only for LDL DADSs - Fix bd_s390_dasd_format Vojtech Trefny (5): - Use only sgdisk to set flags on GPT - Add test for setting partition flags on GPT - Free locale struct in kbd plugin - Move kernel modules (un)loading and checking into utils - Check for btrfs module availability in btrfs module Vratislav Podzimek (11): - Do not lie about tag creation - Mark unstable tests as such - Split the FS plugin source into multiple files - Split the bd_fs_is_tech_avail() implementation - Revert the behaviour of bd_fs_check_deps() - Fix memory leaks in bd_fs_vfat_get_info() - Mark bcache tests as unstable - Add a HACKING.rst file - Move the fs.h file to its original place - Do not use the btrfs plugin in library tests - Do not use the 'btrfs' plugin in overrides tests Libblockdev 2.14 ---------------- New minor release of the libblockdev library with important fixes and a few new features, in particular support for the NTFS file system. See below for details. **Notable changes** - fixes - Fix BSSize memory leaks - Fixes for issues discovered by coverity - Support for the 'Legacy boot' GPT flag - features - Added function to get DM device subsystem - Support for the NTFS file system - pkg-config definitions improvements **Full list of changes** Jan Pokorny (1): - Added function to get DM device subsystem Kai Lüke (2): - Add function wrappers for NTFS tools - Add some test cases for NTFS Vojtech Trefny (29): - Skip btrfs subvolume tests with btrfs-progs 4.13.2 - Fix BSSize memory leaks in btrfs and mdraid plugins - Use system values in KbdTestBcacheStatusTest - Use libbytesize to parse bcache block size - blockdev.c.in: Fix unused variables - fs.c: Fix resource leaks in 'bd_fs_get_fstype' - fs.c: Check sscanf return value in 'bd_fs_vfat_get_info' - fs.c: Fix for loop condition in 'bd_fs_get_fstype' - lvm.c: Fix "use after free" in 'bd_lvm_get_thpool_meta_size' - mdraid.c: Fix resource leaks - part.c: Check if file discriptor is >= 0 before closing it - kbd.c: Fix double free in 'bd_kbd_zram_get_stats' - exec.c: Fix "use after free" in 'bd_utils_check_util_version' - crypto.c: Use right key buffer in 'bd_crypto_luks_add_key' - part.c: Fix possible NULL pointer dereference - fs.c: Fix "forward null" in 'do_mount' and 'bd_fs_xfs_get_info' - exec.c: Fix resource leaks in 'bd_utils_exec_and_report_progress' - kbd.c: Fix potential string overflow in 'bd_kbd_bcache_create' - part.c: Check if we've found a place to put new logical partitions - exec.c: Ignore errors from 'g_io_channel_shutdown' - Ignore some coverity false positive errors - crypto.c: Fix waiting for enough entropy - exec.c: Fix error message in 'bd_utils_exec_and_report_progress' - Fix duplicate 'const' in generated functions - lvm-dbus.c: Fix multiple "use after free" coverity warnings - fs.c: Fix multiple "forward NULL" warnings in 'bd_fs_ntfs_get_info' - dm.c: Check return values of dm_task_set_name/run/get_info functions - dm.c: Fix uninitialized values in various dm plugin functions - fs.c: Fix potential NULL pointer dereference Vratislav Podzimek (3): - Sync spec with downstream - Add pkgconfig definitions for the utils library - Respect the version in the blockdev.pc file intrigeri (1): - Support the legacy boot GPT flag Thanks to all our contributors. Vratislav Podzimek, 2017-10-31 Libblockdev 2.13 ---------------- New minor release of the libblockdev library. Most of the changes are bugfixes related to building and running tests on the s390 architecture and CentOS 7 aarch64. Other than that a support for checking runtime dependencies (utilities) on demand and querying available technologies was implemented. **Notable changes** - builds - various fixes for building on s390 - tests - various changes allowing running the test suite on s390 - various changes allowing running the test suite on CentOS7 aarch64 - features - checking for runtime dependencies on demand - querying available technologies **Full list of changes** Vojtech Trefny (14): - Allow compiling libblockdev without s390 plugin - Do not run g_clear_error after setting it - Fix zFCP LUN max length - Bypass error proxy in s390 test - Use "AC_CANONICAL_BUILD" to check architecture instead of "uname" - Do not include s390utils/vtoc.h in s390 plugin - Add NEWS.rst file - Fix source URL in spec file - Use only one git tag for new releases - Add new function for setting swap label - Skip btrfs tests on CentOS 7 aarch64 - Better handle old and new zram sysfs api in tests - Try harder when waiting for lio device to show up - Use shorter prefix for tempfiles Vratislav Podzimek (9): - Add a function for getting plugin name - Dynamically check for the required utilities - Add functions for querying available technologies - Simplify what WITH_BD_BCACHE changes in the KBD plugin - Add a basic test for the runtime dependency checking - Add missing items to particular sections in the documentation - Assign functions to tech-mode categories - Add a function for enabling/disabling plugins' init checks - Fix the rpmlog and shortlog targets Thanks to all our contributors. Vratislav Podzimek, 2017-09-29 Libblockdev 2.12 ---------------- New minor release of libblockdev library. Most changes in this release are related to improving our test suite and fixing new issues and bugs. **Notable changes** - tests - various changes allowing running the test suite on Debian **Full list of changes** Kai Lüke (1): - Wait for resized partition Vojtech Trefny (20): - Try to get distribution info from "PrettyName" if "CPEName" isn't available - Require only plugins that are needed for given test - Try harder to unmount devices in test cleanup - Fix redirecting command output to /dev/null in tests - Skip free region tests on Debian too - Skip the test for device escrow on Debian too - Skip zRAM tests on Debian - Skip dependency checking in mpath tests on Debian - Fix checking for available locales - Fix names of backing files in tests - Skip vgremove tests on 32bit Debian - Use libmount cache when parsing /proc/mounts - Use mountpoint for "xfs_info" calls - Close filesystem before closing the partition during FAT resize - Stop skipping FAT resize tests on rawhide - Tests: Move library initialization to setUpClass method - Add a script for running tests - Use "run_tests" script for running tests from Makefile - Fix label check in swap_test - Own directories /etc/libblockdev and /etc/libblockdev/conf.d Vratislav Podzimek (6): - Sync spec with downstream - Use -ff when creating PVs in FS tests - Confirm the force when creating PVs in FS tests - Add some space for the CI status - Make sure the device is opened for libparted - New version - 2.12 Thanks to all our contributors. Vratislav Podzimek, 2017-08-30 Libblockdev 2.11 ---------------- New minor release of libblockdev library. **Notable changes** - library - added option to skip dependecy check during library initialization **Full list of changes** Kai Lüke (2): - Link to GObject even if no plugin is activated - Allow non-source directory builds Vojtech Trefny (1): - Use new libmount function to get (un)mount error message Vratislav Podzimek (6): - Update the documentation URL - Keep most utilities available for tests - Skip zram tests on Rawhide - Add a way to disable runtime dependency checks - Make the KbdZRAMDevicesTestCase inherit from KbdZRAMTestCase - New version - 2.11 Thanks to all our contributors. Vratislav Podzimek, 2017-07-31 Libblockdev 2.10 ---------------- New minor release of libblockdev library adding some new functionality in the crypto, fs and part plugins and fixing various issues and bugs. **Notable changes** - crypto - support for opening and closing TrueCrypt/VeraCrypt volumes: ``bd_crypto_tc_open`` and ``bd_crypto_tc_close`` - fs - new functions for checking of filesystem functions availability: ``bd_fs_can_resize``, ``bd_fs_can_check`` and ``bd_fs_can_repair`` - new generic function for filesystem repair and check: ``bd_fs_repair`` and ``bd_fs_check`` - part - newly added support for partition resizing: ``bd_part_resize_part`` **Full list of changes** Kai Lüke (6): - Size in bytes for xfs_resize_device - Query functions for FS resize and repair support - Generic Check and Repair Functions - Add partition resize function - Query setting FS label support and generic relabeling - Specify tolerance for partition size Tony Asleson (3): - kbd.c: Make bd_kbd_bcache_create work without abort - kbd.c: Code review corrections - bcache tests: Remove FEELINGLUCKY checks Tristan Van Berkom (2): - Fixed include for libvolume_key.h - src/plugins/Makefile.am: Remove hard coded include path in /usr prefix Vratislav Podzimek (12): - Try RO mount also if we get EACCES - Adapt to a change in behaviour in new libmount - Add functions for opening/closing TrueCrypt/VeraCrypt volumes - Update the project/source URL in the spec file - Compile everything with the C99 standard - Do not strictly require all FS utilities - Check resulting FS size in tests for generic FS resize - Only use the exact constraint if not using any other - Do not verify vfat FS' size after generic resize - Limit the requested partition size to maximum possible - Only enable partition size tolerance with alignment - New version - 2.10 squimrel (1): - Ignore parted warnings if possible Thanks to all our contributors. Vratislav Podzimek, 2017-07-05