From c98db01a439c8538aa5b2feaac82d71e98801a20 Mon Sep 17 00:00:00 2001 From: Vojtech Trefny Date: Tue, 10 Sep 2024 15:11:02 +0200 Subject: [PATCH 01/14] README: Update supported technologies SMART and SED OPAL were added in 3.2 and NVDIMM is deprecated since 3.1. --- README.md | 4 +++- 1 file changed, 3 insertions(+), 1 deletion(-) diff --git a/README.md b/README.md index e5eb67dac..4fda3dea1 100644 --- a/README.md +++ b/README.md @@ -26,14 +26,16 @@ Following storage technologies are supported by libblockdev - encryption - LUKS, TrueCrypt/VeraCrypt, BitLocker, FileVault2 - integrity + - SED OPAL - DM (device mapper) - loop devices - MD RAID - multipath - s390 - DASD, zFCP - - NVDIMM namespaces + - NVDIMM namespaces (deprecated) - NVMe + - SMART #### Architecture From c272c04e251a6c9f7504b8b11504683c976ef8bb Mon Sep 17 00:00:00 2001 From: Vojtech Trefny Date: Tue, 10 Sep 2024 15:20:08 +0200 Subject: [PATCH 02/14] dist: Fix source URL in spec We stopped using the release version in tags in 07352e9 so we need to update the path to the release tarball as well. --- dist/libblockdev.spec.in | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/dist/libblockdev.spec.in b/dist/libblockdev.spec.in index 7ff37e4e3..e16e4946f 100644 --- a/dist/libblockdev.spec.in +++ b/dist/libblockdev.spec.in @@ -90,7 +90,7 @@ Release: 1%{?dist} Summary: A library for low-level manipulation with block devices License: LGPL-2.1-or-later URL: https://github.com/storaged-project/libblockdev -Source0: https://github.com/storaged-project/libblockdev/releases/download/%{version}-%{release}/%{name}-%{version}.tar.gz +Source0: https://github.com/storaged-project/libblockdev/releases/download/%{version}/%{name}-%{version}.tar.gz BuildRequires: make BuildRequires: glib2-devel From 3f9eca20f94f5900bdb36f0c67e7e58a482dc1b9 Mon Sep 17 00:00:00 2001 From: Vojtech Trefny Date: Tue, 10 Sep 2024 16:26:57 +0200 Subject: [PATCH 03/14] packit: Fix generating spec from template --- .packit.yaml | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/.packit.yaml b/.packit.yaml index 23951e42d..c3fae7dc7 100644 --- a/.packit.yaml +++ b/.packit.yaml @@ -1,7 +1,7 @@ actions: post-upstream-clone: - 'cp dist/libblockdev.spec.in dist/libblockdev.spec' - - 'sed -i -E "s/@WITH_.+@/1/g" dist/libblockdev.spec' + - 'sed -i -e "s/@WITH_.+@/1/g" -e "s/@MAJOR_VER@/3/g" dist/libblockdev.spec' create-archive: - './autogen.sh' - './configure' @@ -37,7 +37,7 @@ jobs: # bump release to 99 to always be ahead of Fedora builds - 'bash -c "sed -i -r \"s/Release:(\s*)\S+/Release: 99%{?dist}/\" dist/libblockdev.spec.in"' - 'cp dist/libblockdev.spec.in dist/libblockdev.spec' - - 'sed -i -E "s/@WITH_.+@/1/g" dist/libblockdev.spec' + - 'sed -i -e "s/@WITH_.+@/1/g" -e "s/@MAJOR_VER@/3/g" dist/libblockdev.spec' create-archive: - './autogen.sh' - './configure' @@ -58,7 +58,7 @@ jobs: # bump release to 99 to always be ahead of Fedora builds - 'bash -c "sed -i -r \"s/Release:(\s*)\S+/Release: 99%{?dist}/\" dist/libblockdev.spec.in"' - 'cp dist/libblockdev.spec.in dist/libblockdev.spec' - - 'sed -i -E "s/@WITH_.+@/1/g" dist/libblockdev.spec' + - 'sed -i -e "s/@WITH_.+@/1/g" -e "s/@MAJOR_VER@/3/g" dist/libblockdev.spec' create-archive: - './autogen.sh' - './configure' From 06b242aa7fd4905911d84ac862aa94d890b24fc8 Mon Sep 17 00:00:00 2001 From: James Hilliard Date: Tue, 10 Sep 2024 12:19:30 -0600 Subject: [PATCH 04/14] crypto: check that IOC_OPAL_GET_STATUS is defined Checking for the linux/sed-opal.h header alone is insufficient for ensuring that the IOC_OPAL_GET_STATUS ioctl is defined. --- src/plugins/crypto.c | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/plugins/crypto.c b/src/plugins/crypto.c index 5dc904a06..b313d5976 100644 --- a/src/plugins/crypto.c +++ b/src/plugins/crypto.c @@ -3642,7 +3642,7 @@ gboolean bd_crypto_fvault2_close (const gchar *fvault2_device, GError **error) { * * Tech category: %BD_CRYPTO_TECH_SED_OPAL-%BD_CRYPTO_TECH_MODE_QUERY */ -#ifndef HAVE_LINUX_OPAL +#if !defined(HAVE_LINUX_OPAL) || !defined(IOC_OPAL_GET_STATUS) gboolean bd_crypto_opal_is_supported (const gchar *device G_GNUC_UNUSED, GError **error) { /* this will return FALSE and set error, because OPAL technology is not available */ return bd_crypto_is_tech_avail (BD_CRYPTO_TECH_SED_OPAL, BD_CRYPTO_TECH_MODE_QUERY, error); From c8c175fe637e2063e6183e84e709caf7a9a8acdd Mon Sep 17 00:00:00 2001 From: Vojtech Trefny Date: Wed, 11 Sep 2024 12:58:53 +0200 Subject: [PATCH 05/14] dist: Sync spec with downstream --- dist/libblockdev.spec.in | 58 ++++++++++++++++++++++++++++++++++++++++ 1 file changed, 58 insertions(+) diff --git a/dist/libblockdev.spec.in b/dist/libblockdev.spec.in index e16e4946f..2f9dd6c24 100644 --- a/dist/libblockdev.spec.in +++ b/dist/libblockdev.spec.in @@ -635,7 +635,19 @@ A meta-package that pulls all the libblockdev plugins as dependencies. %autosetup -n %{name}-%{version} -p1 %build +# workaround for https://bugzilla.redhat.com/show_bug.cgi?id=2247319 +%ifarch aarch64 +find . -name Makefile.am | xargs sed -i -e 's/-Werror//g' +%endif + autoreconf -ivf + +# workaround for https://bugzilla.redhat.com/show_bug.cgi?id=2247319 +%ifarch aarch64 +%global _fortify_level 0 +%global optflags $(echo %optflags | sed -e 's/-O2/-O0/g') -Wp,-D_FORTIFY_SOURCE=0 +%endif + %configure %{?configure_opts} %{__make} %{?_smp_mflags} @@ -1053,6 +1065,37 @@ find %{buildroot} -type f -name "*.la" | xargs %{__rm} - Makefile: Fix bumpver to work with micro versions (vtrefny) - Makefile: Do not include release in the tag (vtrefny) +* Thu Aug 15 2024 Vojtech Trefny - 3.1.1-11 +- crypto: LUKS OPAL support (#2304174) + +* Fri Jul 26 2024 Vojtech Trefny - 3.1.1-10 +- fs: Ignore unused-parameter warning in the FS plugin + +* Thu Jul 18 2024 Fedora Release Engineering - 3.1.1-9 +- Rebuilt for https://fedoraproject.org/wiki/Fedora_41_Mass_Rebuild + +* Fri Jun 07 2024 Python Maint - 3.1.1-8 +- Rebuilt for Python 3.13 + +* Thu Apr 11 2024 Dan Horák - 3.1.1-7 +- Disable -Werror and build with -O0 on aarch64 to workaround #2247319 + +* Mon Apr 08 2024 Dan Horák - 3.1.1-6 +- Back to standard build by reverting instrumentations for #2247319 + +* Fri Apr 05 2024 Dan Horák - 3.1.1-5 +- Apply ASAN instrumentation for #2247319 + +* Wed Mar 27 2024 Adam Williamson - 3.1.1-4 +- Apply UBSAN instrumentation per Dan Horák for #2247319 + +* Tue Mar 26 2024 Adam Williamson - 3.1.1-3 +- Drop the de-optimization changes from -2 + +* Tue Mar 26 2024 Adam Williamson - 3.1.1-2 +- Backport proposed upstream fix for #2247319 +- Disable -Werror and build with -O0 to help further debug #2247319 + * Tue Mar 26 2024 Vojtech Trefny - 3.1.1-1 - lvm-dbus: Fix passing size for pvresize over DBus (vtrefny) - nvme: Add bd_nvme_is_tech_avail to the API file (vtrefny) @@ -1067,6 +1110,21 @@ find %{buildroot} -type f -name "*.la" | xargs %{__rm} - Use glib2 G_GNUC_UNUSED in place of UNUSED locally defined (giulio.benetti) - Makefile: Fix bumpver to work with micro versions (vtrefny) +* Sat Mar 23 2024 Adam Williamson - 3.1.0-6 +- Slightly stronger workaround attempt for #2247319 + +* Sat Mar 23 2024 Adam Williamson - 3.1.0-5 +- Tentative workaround for #2247319 based on diagnosis from -4 + +* Fri Mar 22 2024 Adam Williamson - 3.1.0-4 +- Try something else dumb to diagnose #2247319 + +* Thu Mar 21 2024 Adam Williamson - 3.1.0-3 +- Disable some log statements to see if it works around #2247319 + +* Thu Jan 25 2024 Fedora Release Engineering - 3.1.0-2 +- Rebuilt for https://fedoraproject.org/wiki/Fedora_40_Mass_Rebuild + * Fri Jan 19 2024 Vojtech Trefny - 3.1.0-1 - tests: Skip some checks for btrfs errors with btrfs-progs 6.6.3 (vtrefny) - Fix missing progress initialization in bd_crypto_luks_add_key (vtrefny) From 20c63ca1697b5efb1c6bdb3707ddb221851b6c48 Mon Sep 17 00:00:00 2001 From: Vojtech Trefny Date: Tue, 24 Sep 2024 16:12:32 +0200 Subject: [PATCH 06/14] misc: Fix installing test dependencies on Debian/Ubuntu --- misc/install-test-dependencies.yml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/misc/install-test-dependencies.yml b/misc/install-test-dependencies.yml index 8e61ce866..9b871302c 100644 --- a/misc/install-test-dependencies.yml +++ b/misc/install-test-dependencies.yml @@ -144,7 +144,7 @@ - udftools - volume-key - xfsprogs - when: ansible_distribution == 'Debian' or ansible_distribution == 'Ubuntu' and test_dependencies|bool + when: (ansible_distribution == 'Debian' or ansible_distribution == 'Ubuntu') and test_dependencies|bool ####### Common actions From cffacfc7abaca52c80b341e97e87125a6bd17547 Mon Sep 17 00:00:00 2001 From: Vojtech Trefny Date: Tue, 24 Sep 2024 16:15:59 +0200 Subject: [PATCH 07/14] ci: Do not try to install test dependencies for CodeQL analysis --- .github/workflows/codeql-analysis.yml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/.github/workflows/codeql-analysis.yml b/.github/workflows/codeql-analysis.yml index 56be680e5..c66a56c9d 100644 --- a/.github/workflows/codeql-analysis.yml +++ b/.github/workflows/codeql-analysis.yml @@ -35,7 +35,7 @@ jobs: - name: Install build dependencies run: | sudo apt -y install ansible - ansible-playbook -b -i "localhost," -c local misc/install-test-dependencies.yml + ansible-playbook -b -i "localhost," -c local misc/install-test-dependencies.yml -e "test_dependencies=false" - name: Build run: | From 75304cd692c9356694bc1ce850b850635ccc0df7 Mon Sep 17 00:00:00 2001 From: Tomas Bzatek Date: Thu, 26 Sep 2024 16:19:21 +0200 Subject: [PATCH 08/14] smart: Clarify use of ID_ATA_SMART_ACCESS udev property Surprising discovery by reading libatasmart sources. Haven't found any other public mention and found this quite useful. --- src/plugins/smart/smart-common.c | 34 ++++++++++++++++++++++---------- 1 file changed, 24 insertions(+), 10 deletions(-) diff --git a/src/plugins/smart/smart-common.c b/src/plugins/smart/smart-common.c index a43415efa..9c054c462 100644 --- a/src/plugins/smart/smart-common.c +++ b/src/plugins/smart/smart-common.c @@ -130,16 +130,30 @@ * * ## Device type detection, multipath # * - * There's a big difference in how a drive is accessed. While libatasmart performs - * essentially no device type detection and sends a I/O request right away - * (with usual error handling), `smartctl` implements a logic to determine which - * protocol to use, supporting various passthrough mechanisms and interface bridges. - * Such detection is not always reliable though, having known issues with `dm-multipath` - * for example. For this case most plugin functions provide the `'extra'` argument - * allowing consumers to provide specific arguments such as `'--device=' for device - * type override`. This is only supported by the smartmontools plugin and ignored - * by the libatasmart plugin. - * + * There's a big difference in how a drive is accessed. While `libatasmart` performs + * only very basic device type detection based on parent subsystem as retrieved from + * the udev database, `smartctl` implements logic to determine which protocol to use, + * supporting variety of passthrough mechanisms and interface bridges. Such detection + * is not always reliable though, having known issues with `dm-multipath` for example. + * + * For this case most plugin functions consume the `extra` argument allowing + * callers to specify arguments such as `--device=` for device type override. This + * is only supported by the smartmontools plugin and ignored by the libatasmart + * plugin. + * + * As a well kept secret libatasmart has historically supported device type override + * via the `ID_ATA_SMART_ACCESS` udev property. There's no public C API for this and + * libblockdev generally tends to avoid any udev interaction, leaving the burden + * to callers. + * + * Valid values for this property include `auto`, `linux-ide`, `sat16`, `sat12`, + * `sunplus`, `jmicron`. + * + * A common example to override QEMU ATA device type, which often requires legacy + * IDE protocol: + * |[ + * KERNEL=="sd*", ENV{ID_VENDOR}=="ATA", ENV{ID_MODEL}=="QEMU_HARDDISK", ENV{ID_ATA}=="1", ENV{ID_ATA_SMART_ACCESS}="linux-ide" + * ]| */ /** From abe9f9c9d05b60c77007dcc7978840fc9f987254 Mon Sep 17 00:00:00 2001 From: Tomas Bzatek Date: Fri, 27 Sep 2024 14:58:37 +0200 Subject: [PATCH 09/14] smart: Clarify ID_ATA_SMART_ACCESS udev property values Turned out the value of 'none' is actually useful to blacklist and prevent any I/O to a device that would break, disconnect or otherwise error out. https://bugzilla.redhat.com/show_bug.cgi?id=515881#c24 --- src/plugins/smart/smart-common.c | 15 +++++++++++++-- 1 file changed, 13 insertions(+), 2 deletions(-) diff --git a/src/plugins/smart/smart-common.c b/src/plugins/smart/smart-common.c index 9c054c462..859dad369 100644 --- a/src/plugins/smart/smart-common.c +++ b/src/plugins/smart/smart-common.c @@ -146,14 +146,25 @@ * libblockdev generally tends to avoid any udev interaction, leaving the burden * to callers. * - * Valid values for this property include `auto`, `linux-ide`, `sat16`, `sat12`, - * `sunplus`, `jmicron`. + * Valid values for this property include: + * - `'sat16'`: 16 Byte SCSI ATA SAT Passthru + * - `'sat12'`: 12 Byte SCSI ATA SAT Passthru + * - `'linux-ide'`: Native Linux IDE + * - `'sunplus'`: SunPlus USB/ATA bridges + * - `'jmicron'`: JMicron USB/ATA bridges + * - `'none'`: No access method, avoid any I/O and ignore the device + * - `'auto'`: Autodetection based on parent subsystem (default) * * A common example to override QEMU ATA device type, which often requires legacy * IDE protocol: * |[ * KERNEL=="sd*", ENV{ID_VENDOR}=="ATA", ENV{ID_MODEL}=="QEMU_HARDDISK", ENV{ID_ATA}=="1", ENV{ID_ATA_SMART_ACCESS}="linux-ide" * ]| + * + * An example of blacklisting a USB device, in case of errors caused by reading SMART data: + * |[ + * ATTRS{idVendor}=="152d", ATTRS{idProduct}=="2329", ENV{ID_ATA_SMART_ACCESS}="none" + * ]| */ /** From bd2d59413be3eab45dfe6a77cf8a165b5f1afc07 Mon Sep 17 00:00:00 2001 From: Vojtech Trefny Date: Thu, 17 Oct 2024 09:53:15 +0200 Subject: [PATCH 10/14] lvm: Clarify the global config functionallity in libblockdev Make sure users understand that these function don't work with the global LVM lvm.conf config file. --- src/lib/plugin_apis/lvm.api | 18 ++++++++++++++---- src/plugins/lvm-dbus.c | 16 +++++++++++++--- src/plugins/lvm.c | 16 +++++++++++++--- 3 files changed, 40 insertions(+), 10 deletions(-) diff --git a/src/lib/plugin_apis/lvm.api b/src/lib/plugin_apis/lvm.api index 3dd5ea4a1..7caab005a 100644 --- a/src/lib/plugin_apis/lvm.api +++ b/src/lib/plugin_apis/lvm.api @@ -1474,10 +1474,17 @@ gboolean bd_lvm_thsnapshotcreate (const gchar *vg_name, const gchar *origin_name /** * bd_lvm_set_global_config: - * @new_config: (nullable): string representation of the new global LVM - * configuration to set or %NULL to reset to default + * @new_config: (nullable): string representation of the new global libblockdev LVM + * configuration to set or %NULL to reset to default * @error: (out) (optional): place to store error (if any) * + * + * Note: This function sets configuration options for LVM calls internally + * in libblockdev, it doesn't change the global lvm.conf config file. + * Calling this function with `backup {backup=0 archive=0}` for example + * means `--config=backup {backup=0 archive=0}"` will be added to all + * calls libblockdev makes. + * * Returns: whether the new requested global config @new_config was successfully * set or not * @@ -1489,8 +1496,11 @@ gboolean bd_lvm_set_global_config (const gchar *new_config, GError **error); * bd_lvm_get_global_config: * @error: (out) (optional): place to store error (if any) * - * Returns: a copy of a string representation of the currently set LVM global - * configuration + * Returns: (transfer full): a copy of a string representation of the currently + * set libblockdev LVM global configuration + * + * Note: This function does not change the global `lvm.conf` config + * file, see %bd_lvm_set_global_config for details. * * Tech category: %BD_LVM_TECH_GLOB_CONF no mode (it is ignored) */ diff --git a/src/plugins/lvm-dbus.c b/src/plugins/lvm-dbus.c index abca32d65..e7f6242d5 100644 --- a/src/plugins/lvm-dbus.c +++ b/src/plugins/lvm-dbus.c @@ -3418,10 +3418,17 @@ gboolean bd_lvm_thsnapshotcreate (const gchar *vg_name, const gchar *origin_name /** * bd_lvm_set_global_config: - * @new_config: (nullable): string representation of the new global LVM - * configuration to set or %NULL to reset to default + * @new_config: (nullable): string representation of the new global libblockdev LVM + * configuration to set or %NULL to reset to default * @error: (out) (optional): place to store error (if any) * + * + * Note: This function sets configuration options for LVM calls internally + * in libblockdev, it doesn't change the global lvm.conf config file. + * Calling this function with `backup {backup=0 archive=0}` for example + * means `--config=backup {backup=0 archive=0}"` will be added to all + * calls libblockdev makes. + * * Returns: whether the new requested global config @new_config was successfully * set or not * @@ -3451,7 +3458,10 @@ gboolean bd_lvm_set_global_config (const gchar *new_config, GError **error G_GNU * @error: (out) (optional): place to store error (if any) * * Returns: (transfer full): a copy of a string representation of the currently - * set LVM global configuration + * set libblockdev LVM global configuration + * + * Note: This function does not change the global `lvm.conf` config + * file, see %bd_lvm_set_global_config for details. * * Tech category: %BD_LVM_TECH_GLOB_CONF no mode (it is ignored) */ diff --git a/src/plugins/lvm.c b/src/plugins/lvm.c index 6d961f404..800edd472 100644 --- a/src/plugins/lvm.c +++ b/src/plugins/lvm.c @@ -2536,10 +2536,17 @@ gboolean bd_lvm_thsnapshotcreate (const gchar *vg_name, const gchar *origin_name /** * bd_lvm_set_global_config: - * @new_config: (nullable): string representation of the new global LVM - * configuration to set or %NULL to reset to default + * @new_config: (nullable): string representation of the new global libblockdev LVM + * configuration to set or %NULL to reset to default * @error: (out) (optional): place to store error (if any) * + * + * Note: This functions sets configuration options for LVM calls internally + * in libblockdev, it doesn't change the global lvm.conf config file. + * Calling this function with `backup {backup=0 archive=0}` for example + * means `--config=backup {backup=0 archive=0}"` will be added to all + * calls libblockdev makes. + * * Returns: whether the new requested global config @new_config was successfully * set or not * @@ -2569,7 +2576,10 @@ gboolean bd_lvm_set_global_config (const gchar *new_config, GError **error G_GNU * @error: (out) (optional): place to store error (if any) * * Returns: (transfer full): a copy of a string representation of the currently - * set LVM global configuration + * set libblockdev LVM global configuration + * + * Note: This function does not change the global `lvm.conf` config + * file, see %bd_lvm_set_global_config for details. * * Tech category: %BD_LVM_TECH_GLOB_CONF no mode (it is ignored) */ From 2a666cee05348cacf4f5868b89275789b3f763fc Mon Sep 17 00:00:00 2001 From: Vojtech Trefny Date: Wed, 30 Oct 2024 14:15:11 +0100 Subject: [PATCH 11/14] ci: Install 'python3-libdnf5' for TMT test plans --- plans/blivet.fmf | 2 +- plans/tests.fmf | 2 +- plans/udisks.fmf | 2 +- 3 files changed, 3 insertions(+), 3 deletions(-) diff --git a/plans/blivet.fmf b/plans/blivet.fmf index 593145e14..278fbe9ce 100644 --- a/plans/blivet.fmf +++ b/plans/blivet.fmf @@ -9,7 +9,7 @@ prepare: - name: copr how: shell script: - - sudo dnf install -y 'dnf-command(copr)' + - sudo dnf install -y python3-libdnf5 'dnf-command(copr)' - sudo dnf copr enable -y @storage/udisks-daily # TF prioritizes Fedora tag repo over all others, in particular our daily COPR - for f in $(grep -l -r 'testing-farm-tag-repository' /etc/yum.repos.d); do sed -i '/priority/d' "$f" ;done diff --git a/plans/tests.fmf b/plans/tests.fmf index 430ccd446..724938ad2 100644 --- a/plans/tests.fmf +++ b/plans/tests.fmf @@ -8,7 +8,7 @@ prepare: - name: copr how: shell script: - - sudo dnf install -y 'dnf-command(copr)' + - sudo dnf install -y python3-libdnf5 'dnf-command(copr)' - sudo dnf copr enable -y @storage/udisks-daily # TF prioritizes Fedora tag repo over all others, in particular our daily COPR - for f in $(grep -l -r 'testing-farm-tag-repository' /etc/yum.repos.d); do sed -i '/priority/d' "$f" ;done diff --git a/plans/udisks.fmf b/plans/udisks.fmf index 18296e6b7..e039566d6 100644 --- a/plans/udisks.fmf +++ b/plans/udisks.fmf @@ -9,7 +9,7 @@ prepare: - name: copr how: shell script: - - sudo dnf install -y 'dnf-command(copr)' + - sudo dnf install -y python3-libdnf5 'dnf-command(copr)' - sudo dnf copr enable -y @storage/udisks-daily # TF prioritizes Fedora tag repo over all others, in particular our daily COPR - for f in $(grep -l -r 'testing-farm-tag-repository' /etc/yum.repos.d); do sed -i '/priority/d' "$f" ;done From d971d3abd1173f22192036463df2697d5cafb7f1 Mon Sep 17 00:00:00 2001 From: Tomas Bzatek Date: Wed, 6 Nov 2024 15:15:10 +0100 Subject: [PATCH 12/14] nvme: Avoid element-type g-i annotations For some reason this is causing more harm and seems to work fine when absent. --- src/lib/plugin_apis/nvme.api | 4 ++-- src/plugins/nvme/nvme.h | 4 ++-- 2 files changed, 4 insertions(+), 4 deletions(-) diff --git a/src/lib/plugin_apis/nvme.api b/src/lib/plugin_apis/nvme.api index 2f17e0c96..604eaf9b1 100644 --- a/src/lib/plugin_apis/nvme.api +++ b/src/lib/plugin_apis/nvme.api @@ -364,7 +364,7 @@ GType bd_nvme_namespace_info_get_type (); * @features: features and capabilities present for this namespace, see #BDNVMENamespaceFeature. * @format_progress_remaining: The percentage value remaining of a format operation in progress. * @write_protected: %TRUE if the namespace is currently write protected and all write access to the namespace shall fail. - * @lba_formats: (array zero-terminated=1) (element-type BDNVMELBAFormat): A list of supported LBA Formats. + * @lba_formats: (array zero-terminated=1): A list of supported LBA Formats. * @current_lba_format: A LBA Format currently used for the namespace. Contains zeroes in case of * an invalid or no supported LBA Format reported. */ @@ -800,7 +800,7 @@ GType bd_nvme_self_test_log_get_type (); * BDNVMESelfTestLog: * @current_operation: Current running device self-test operation. There's no corresponding record in @entries for a device self-test operation that is in progress. * @current_operation_completion: Percentage of the currently running device self-test operation. Only valid when @current_operation is other than #BD_NVME_SELF_TEST_ACTION_NOT_RUNNING. - * @entries: (array zero-terminated=1) (element-type BDNVMESelfTestLogEntry): Self-test log entries for the last 20 operations, sorted from newest (first element) to oldest. + * @entries: (array zero-terminated=1): Self-test log entries for the last 20 operations, sorted from newest (first element) to oldest. */ typedef struct BDNVMESelfTestLog { BDNVMESelfTestAction current_operation; diff --git a/src/plugins/nvme/nvme.h b/src/plugins/nvme/nvme.h index ba5304167..e073a6542 100644 --- a/src/plugins/nvme/nvme.h +++ b/src/plugins/nvme/nvme.h @@ -234,7 +234,7 @@ typedef enum { * @features: features and capabilities present for this namespace, see #BDNVMENamespaceFeature. * @format_progress_remaining: The percentage value remaining of a format operation in progress. * @write_protected: %TRUE if the namespace is currently write protected and all write access to the namespace shall fail. - * @lba_formats: (array zero-terminated=1) (element-type BDNVMELBAFormat): A list of supported LBA Formats. + * @lba_formats: (array zero-terminated=1): A list of supported LBA Formats. * @current_lba_format: A LBA Format currently used for the namespace. Contains zeroes in case of * an invalid or no supported LBA Format reported. */ @@ -442,7 +442,7 @@ typedef struct BDNVMESelfTestLogEntry { * BDNVMESelfTestLog: * @current_operation: Current running device self-test operation. There's no corresponding record in @entries for a device self-test operation that is in progress. * @current_operation_completion: Percentage of the currently running device self-test operation. Only valid when @current_operation is other than #BD_NVME_SELF_TEST_ACTION_NOT_RUNNING. - * @entries: (array zero-terminated=1) (element-type BDNVMESelfTestLogEntry): Self-test log entries for the last 20 operations, sorted from newest (first element) to oldest. + * @entries: (array zero-terminated=1): Self-test log entries for the last 20 operations, sorted from newest (first element) to oldest. */ typedef struct BDNVMESelfTestLog { BDNVMESelfTestAction current_operation; From 8cca667470a61ac31ba9f5d17a78c94023fb095e Mon Sep 17 00:00:00 2001 From: Vojtech Trefny Date: Thu, 7 Nov 2024 09:45:00 +0100 Subject: [PATCH 13/14] Makefile: Fix generating RPM log during bumpver We stopped using the release version in tags in 07352e9 so we need to use the correct tag when getting log for RPM changelog. --- Makefile.am | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/Makefile.am b/Makefile.am index 469c98af2..a8f39cfb9 100644 --- a/Makefile.am +++ b/Makefile.am @@ -172,8 +172,8 @@ tag: rpmlog: @cl=`grep -n %changelog dist/libblockdev.spec.in |cut -d : -f 1 |head -1` ; \ - version_release=`tail --lines=+$$(($$cl + 1)) dist/libblockdev.spec.in|head -1|cut -d- -f2-3|sed 's/ //g'` ; \ - git log --no-merges --pretty="format:- %s (%ae)" "$$version_release.." |sed -e 's/@.*)/)/' ; \ + version=`tail --lines=+$$(($$cl + 1)) dist/libblockdev.spec.in|head -1|cut -d- -f2|sed 's/ //g'` ; \ + git log --no-merges --pretty="format:- %s (%ae)" "$$version.." |sed -e 's/@.*)/)/' ; \ echo shortlog: From 5e6e46068900a025471e3bd8933c2e153a78278a Mon Sep 17 00:00:00 2001 From: Vojtech Trefny Date: Thu, 7 Nov 2024 10:39:19 +0100 Subject: [PATCH 14/14] New version - 3.2.1 --- NEWS.rst | 30 ++++++++++++++++++++++++++++++ configure.ac | 2 +- dist/libblockdev.spec.in | 17 ++++++++++++++++- 3 files changed, 47 insertions(+), 2 deletions(-) diff --git a/NEWS.rst b/NEWS.rst index d561ce1cf..3944feaa3 100644 --- a/NEWS.rst +++ b/NEWS.rst @@ -1,3 +1,33 @@ +Libblockdev 3.2.1 +------------------ + +New bugfix release of the libblockdev library with multiple fixes. See below +for details. + +**Full list of changes** + +James Hilliard (1): + +- crypto: check that IOC_OPAL_GET_STATUS is defined + +Tomas Bzatek (3): + +- smart: Clarify use of ID_ATA_SMART_ACCESS udev property +- smart: Clarify ID_ATA_SMART_ACCESS udev property values +- nvme: Avoid element-type g-i annotations + +Vojtech Trefny (9): + +- README: Update supported technologies +- dist: Fix source URL in spec +- packit: Fix generating spec from template +- dist: Sync spec with downstream +- misc: Fix installing test dependencies on Debian/Ubuntu +- ci: Do not try to install test dependencies for CodeQL analysis +- lvm: Clarify the global config functionallity in libblockdev +- ci: Install 'python3-libdnf5' for TMT test plans +- Makefile: Fix generating RPM log during bumpver + Libblockdev 3.2.0 ------------------ diff --git a/configure.ac b/configure.ac index 0089bb7f9..eae561bc3 100644 --- a/configure.ac +++ b/configure.ac @@ -1,6 +1,6 @@ # configure.ac for libblockdev -AC_INIT([libblockdev], [3.2.0], [], [], [https://github.com/storaged-project/libblockdev]) +AC_INIT([libblockdev], [3.2.1], [], [], [https://github.com/storaged-project/libblockdev]) # Disable building static libraries. # This needs to be set before initializing automake diff --git a/dist/libblockdev.spec.in b/dist/libblockdev.spec.in index 2f9dd6c24..743e1a000 100644 --- a/dist/libblockdev.spec.in +++ b/dist/libblockdev.spec.in @@ -85,7 +85,7 @@ %define configure_opts %{?python3_copts} %{?lvm_dbus_copts} %{?btrfs_copts} %{?crypto_copts} %{?dm_copts} %{?loop_copts} %{?lvm_copts} %{?lvm_dbus_copts} %{?mdraid_copts} %{?mpath_copts} %{?swap_copts} %{?part_copts} %{?fs_copts} %{?nvdimm_copts} %{?tools_copts} %{?gi_copts} %{?nvme_copts} %{?smart_copts} %{?smartmontools_copts} Name: libblockdev -Version: 3.2.0 +Version: 3.2.1 Release: 1%{?dist} Summary: A library for low-level manipulation with block devices License: LGPL-2.1-or-later @@ -958,6 +958,21 @@ find %{buildroot} -type f -name "*.la" | xargs %{__rm} %files plugins-all %changelog +* Thu Nov 07 2024 Vojtech Trefny - 3.2.1-1 +- Makefile: Fix generating RPM log during bumpver (vtrefny) +- nvme: Avoid element-type g-i annotations (tbzatek) +- ci: Install 'python3-libdnf5' for TMT test plans (vtrefny) +- lvm: Clarify the global config functionallity in libblockdev (vtrefny) +- smart: Clarify ID_ATA_SMART_ACCESS udev property values (tbzatek) +- smart: Clarify use of ID_ATA_SMART_ACCESS udev property (tbzatek) +- ci: Do not try to install test dependencies for CodeQL analysis (vtrefny) +- misc: Fix installing test dependencies on Debian/Ubuntu (vtrefny) +- dist: Sync spec with downstream (vtrefny) +- crypto: check that IOC_OPAL_GET_STATUS is defined (james.hilliard1) +- packit: Fix generating spec from template (vtrefny) +- dist: Fix source URL in spec (vtrefny) +- README: Update supported technologies (vtrefny) + * Tue Sep 10 2024 Vojtech Trefny - 3.2.0-1 - ci: Add a simple GH action to run spelling tools on our code (vtrefny) - crypto: Fix GType macro for crypto context (vtrefny)