From c658747fb8964e3a46c934e1e382de0abd5bb901 Mon Sep 17 00:00:00 2001 From: corwin Date: Fri, 20 Aug 2021 16:59:29 -0400 Subject: [PATCH] Version 6.2.5.74 - Renamed vdo2LVM to vdopreparelvm and moved its installation location to /usr/libexec so that it is not in common default paths as this utility is intended to be called from LVM, not directly by users. --- utils/uds/Makefile | 2 +- utils/uds/indexLayout.c | 9 +++--- utils/uds/indexSession.c | 27 +++++++++++++++--- utils/uds/indexVersion.c | 28 +++++++++++-------- utils/vdo/base/Makefile | 2 +- utils/vdo/user/Makefile | 26 ++++++++++------- utils/vdo/user/man/Makefile | 28 +++++++++---------- .../man/{vdo2lvm.8 => vdoprepareforlvm.8} | 10 +++---- .../user/{vdo2lvm.c => vdoprepareforlvm.c} | 14 +++++----- vdo-manager/statistics/KernelStatistics.py | 2 +- vdo-manager/statistics/VDOStatistics.py | 12 ++++---- vdo-manager/vdomgmnt/Defaults.py | 3 +- vdo-manager/vdomgmnt/VDOService.py | 6 ++-- vdo.spec | 26 +++++++++-------- 14 files changed, 115 insertions(+), 80 deletions(-) rename utils/vdo/user/man/{vdo2lvm.8 => vdoprepareforlvm.8} (61%) rename utils/vdo/user/{vdo2lvm.c => vdoprepareforlvm.c} (95%) diff --git a/utils/uds/Makefile b/utils/uds/Makefile index 719ea85f..705e1343 100644 --- a/utils/uds/Makefile +++ b/utils/uds/Makefile @@ -22,7 +22,7 @@ # UDS interfaces exported from libuds.so. DISTRIBUTION_VERSION is the long # version name used in distribution builds. We extract these values from the # traditional location. -UDS_VERSION = 8.0.3.36 +UDS_VERSION = 8.0.3.39 BUILD_VERSION = $(UDS_VERSION) DISTRO_CODENAME := $(shell lsb_release -s -c) diff --git a/utils/uds/indexLayout.c b/utils/uds/indexLayout.c index 3a4e4b38..66a11a95 100644 --- a/utils/uds/indexLayout.c +++ b/utils/uds/indexLayout.c @@ -16,7 +16,7 @@ * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA * 02110-1301, USA. * - * $Id: //eng/uds-releases/jasper/src/uds/indexLayout.c#27 $ + * $Id: //eng/uds-releases/jasper/src/uds/indexLayout.c#28 $ */ #include "indexLayout.h" @@ -118,7 +118,7 @@ typedef struct superBlockData_v1 { byte magicLabel[32]; byte nonceInfo[32]; uint64_t nonce; - uint32_t version; // 2 or 3 for normal, 6 or 7 for converted + uint32_t version; // 2 or 3 for normal, 7 for converted uint32_t blockSize; // for verification uint16_t numIndexes; // always 1 uint16_t maxSaves; @@ -185,7 +185,7 @@ static int writeIndexSaveLayout(IndexLayout *layout, IndexSaveLayout *isl) /*****************************************************************************/ static INLINE bool isConvertedSuperBlock(SuperBlockData *super) { - return super->version == 6 || super->version == 7; + return (super->version == 7); } /*****************************************************************************/ @@ -580,6 +580,7 @@ static int readSuperBlockData(BufferedReader *reader, if ((super->version < SUPER_VERSION_MINIMUM) || (super->version == 4) || (super->version == 5) + || (super->version == 6) || (super->version > SUPER_VERSION_MAXIMUM)) { return logErrorWithStringError(UDS_UNSUPPORTED_VERSION, "unknown superblock version number %" @@ -2505,7 +2506,7 @@ int updateLayout(IndexLayout *layout, layout->index.subIndex.numBlocks -= offsetBlocks; layout->index.volume.numBlocks -= offsetBlocks; layout->totalBlocks -= offsetBlocks; - layout->super.version = (layout->super.version < 3) ? 6 : 7; + layout->super.version = 7; result = saveSingleFileLayout(layout, offsetBlocks); if (result == UDS_SUCCESS) { result = writeIndexConfig(layout, config, offsetBlocks); diff --git a/utils/uds/indexSession.c b/utils/uds/indexSession.c index 15e5b3f8..c2c6b30d 100644 --- a/utils/uds/indexSession.c +++ b/utils/uds/indexSession.c @@ -16,7 +16,7 @@ * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA * 02110-1301, USA. * - * $Id: //eng/uds-releases/jasper/src/uds/indexSession.c#10 $ + * $Id: //eng/uds-releases/jasper/src/uds/indexSession.c#11 $ */ #include "indexSession.h" @@ -216,6 +216,7 @@ int makeEmptyIndexSession(struct uds_index_session **indexSessionPtr) int udsSuspendIndexSession(struct uds_index_session *session, bool save) { int result; + bool flushIndex = false; bool saveIndex = false; bool suspendIndex = false; lockMutex(&session->requestMutex); @@ -233,13 +234,21 @@ int udsSuspendIndexSession(struct uds_index_session *session, bool save) suspendIndex = true; result = UDS_SUCCESS; } else if (!(session->state & IS_FLAG_LOADED)) { - session->state |= IS_FLAG_SUSPENDED; - broadcastCond(&session->requestCond); + if (session->router != NULL) { + flushIndex = true; + session->state |= IS_FLAG_WAITING; + } else { + session->state |= IS_FLAG_SUSPENDED; + broadcastCond(&session->requestCond); + } result = UDS_SUCCESS; } else { saveIndex = save; if (saveIndex) { session->state |= IS_FLAG_WAITING; + } else if (session->router != NULL) { + flushIndex = true; + session->state |= IS_FLAG_WAITING; } else { session->state |= IS_FLAG_SUSPENDED; broadcastCond(&session->requestCond); @@ -248,7 +257,17 @@ int udsSuspendIndexSession(struct uds_index_session *session, bool save) } unlockMutex(&session->requestMutex); - if (!saveIndex && !suspendIndex) { + if (!saveIndex && !suspendIndex && !flushIndex) { + return result; + } + + if (flushIndex) { + result = udsFlushIndexSession(session); + lockMutex(&session->requestMutex); + session->state &= ~IS_FLAG_WAITING; + session->state |= IS_FLAG_SUSPENDED; + broadcastCond(&session->requestCond); + unlockMutex(&session->requestMutex); return result; } diff --git a/utils/uds/indexVersion.c b/utils/uds/indexVersion.c index 07092f50..a66b6365 100644 --- a/utils/uds/indexVersion.c +++ b/utils/uds/indexVersion.c @@ -16,7 +16,7 @@ * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA * 02110-1301, USA. * - * $Id: //eng/uds-releases/jasper/src/uds/indexVersion.c#3 $ + * $Id: //eng/uds-releases/jasper/src/uds/indexVersion.c#4 $ */ #include "indexVersion.h" @@ -43,20 +43,26 @@ void initializeIndexVersion(struct index_version *version, * Version 3 was created when we discovered the the chapter index headers * were written in native endian format. It was first used in RHEL8.2 and is * the current version for new indices. - * - * Versions before 3 read and write native endian chapter headers. Version 3 - * reads chapter headers in any endian order, and writes little-endian - * chapter headers. */ /* - * Versions 6 and 7 are equivalent to versions 2 and 3 - * respectively, after the volume has been reduced in size by - * one chapter in order to make room to prepend LVM metadata - * to an existing VDO without losing all deduplication. + * Versions 4 through 6 were incremental development versions and are not + * supported. + */ + + /* + * Version 7 is equivalent to version 3, after the volume has been reduced + * in size by one chapter in order to make room to prepend LVM metadata to + * an existing VDO without losing all deduplication. */ - bool chapterIndexHeaderNativeEndian = - (superVersion < 3) || (superVersion == 6); + + /* + * Versions before 3 read and write native endian chapter headers. + * Versions 3 and after read chapter headers in any endian order, and write + * little-endian chapter headers. + */ + + bool chapterIndexHeaderNativeEndian = (superVersion < 3); *version = (struct index_version) { .chapterIndexHeaderNativeEndian = chapterIndexHeaderNativeEndian, }; diff --git a/utils/vdo/base/Makefile b/utils/vdo/base/Makefile index acff19ce..a1020ec7 100644 --- a/utils/vdo/base/Makefile +++ b/utils/vdo/base/Makefile @@ -17,7 +17,7 @@ # # $Id: //eng/vdo-releases/aluminum/src/packaging/src-dist/user/utils/vdo/base/Makefile#2 $ -VDO_VERSION = 6.2.5.65 +VDO_VERSION = 6.2.5.74 UDS_DIR = ../../uds diff --git a/utils/vdo/user/Makefile b/utils/vdo/user/Makefile index 0695edfe..952a9283 100644 --- a/utils/vdo/user/Makefile +++ b/utils/vdo/user/Makefile @@ -17,9 +17,9 @@ # 02110-1301, USA. # -# $Id: //eng/vdo-releases/aluminum/src/packaging/src-dist/user/utils/vdo/user/Makefile#14 $ +# $Id: //eng/vdo-releases/aluminum/src/packaging/src-dist/user/utils/vdo/user/Makefile#16 $ -VDO_VERSION = 6.2.5.65 +VDO_VERSION = 6.2.5.74 UDS_DIR = ../../uds VDO_BASE_DIR = ../base @@ -81,11 +81,7 @@ USER_OBJS = blockMapUtils.o \ vdoConfig.o \ vdoVolumeUtils.o -# To add a new program X, add X to the variable PROGS (and possibly -# also DIST_PROGS). - -PROGS = vdo2lvm \ - vdoaudit \ +PROGS = vdoaudit \ vdodebugmetadata \ vdodmeventd \ vdodumpblockmap \ @@ -98,10 +94,14 @@ PROGS = vdo2lvm \ vdoregenerategeometry \ vdosetuuid +LIBPROGS = vdoprepareforlvm + +ALLPROGS = $(PROGS) $(LIBPROGS) + DMEVENT_LIB = libdevmapper-event-lvm2vdo.so .PHONY: all -all: $(PROGS) +all: $(ALLPROGS) $(MAKE) -C man all .PHONY: clean @@ -109,7 +109,7 @@ clean: $(MAKE) -C man clean rm -f *.a *.so *.o core* rm -fr $(DEPDIR) tmpdir - rm -f $(PROGS) + rm -f $(ALLPROGS) libuser.a: $(USER_OBJS) $(RM) $@ @@ -118,14 +118,20 @@ libuser.a: $(USER_OBJS) INSTALL = install INSTALLOWNER ?= -o root -g root bindir ?= /usr/bin +libexecdir ?= /usr/libexec INSTALLDIR=$(DESTDIR)$(bindir) +LIBEXECINSTALLDIR=$(DESTDIR)$(libexecdir) .PHONY: install install: $(INSTALL) $(INSTALLOWNER) -d $(INSTALLDIR) + $(INSTALL) $(INSTALLOWNER) -d $(LIBEXECINSTALLDIR) for i in $(PROGS); do \ $(INSTALL) $(INSTALLOWNER) -m 755 $$i $(INSTALLDIR); \ done + for i in $(LIBPROGS); do \ + $(INSTALL) $(INSTALLOWNER) -m 755 $$i $(LIBEXECINSTALLDIR); \ + done $(MAKE) -C man install ######################################################################## @@ -147,7 +153,7 @@ $(DEPDIR)/%.d: %.c $(CC) $(CFLAGS) -MM -MF $@ -MP -MT $*.o $< .SECONDEXPANSION: -$(PROGS): $$@.o libuser.a $(DEPLIBS) +$(ALLPROGS): $$@.o libuser.a $(DEPLIBS) echo "Building $@ from $^" $(CC) $(LDFLAGS) $^ $(LDPRFLAGS) -o $@ diff --git a/utils/vdo/user/man/Makefile b/utils/vdo/user/man/Makefile index 189ef6eb..da1a3c55 100644 --- a/utils/vdo/user/man/Makefile +++ b/utils/vdo/user/man/Makefile @@ -16,22 +16,22 @@ # Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA # 02110-1301, USA. # -# $Id: //eng/vdo-releases/aluminum/src/packaging/src-dist/user/utils/vdo/user/man/Makefile#10 $ +# $Id: //eng/vdo-releases/aluminum/src/packaging/src-dist/user/utils/vdo/user/man/Makefile#11 $ INSTALLFILES= \ - vdo2lvm.8 \ - vdoaudit.8 \ - vdodebugmetadata.8 \ - vdodmeventd.8 \ - vdodumpblockmap.8 \ - vdodumpconfig.8 \ - vdodumpmetadata.8 \ - vdoforcerebuild.8 \ - vdoformat.8 \ - vdolistmetadata.8 \ - vdoreadonly.8 \ - vdoregenerategeometry.8 \ - vdosetuuid.8 + vdoaudit.8 \ + vdodebugmetadata.8 \ + vdodmeventd.8 \ + vdodumpblockmap.8 \ + vdodumpconfig.8 \ + vdodumpmetadata.8 \ + vdoforcerebuild.8 \ + vdoformat.8 \ + vdolistmetadata.8 \ + vdoprepareforlvm.8 \ + vdoreadonly.8 \ + vdoregenerategeometry.8 \ + vdosetuuid.8 INSTALL = install INSTALLOWNER ?= -o root -g root diff --git a/utils/vdo/user/man/vdo2lvm.8 b/utils/vdo/user/man/vdoprepareforlvm.8 similarity index 61% rename from utils/vdo/user/man/vdo2lvm.8 rename to utils/vdo/user/man/vdoprepareforlvm.8 index f70b794a..e6069c0d 100644 --- a/utils/vdo/user/man/vdo2lvm.8 +++ b/utils/vdo/user/man/vdoprepareforlvm.8 @@ -1,11 +1,11 @@ -.TH VDO2LVM 8 "2020-09-23" "Red Hat" \" -*- nroff -*- +.TH VDOPREPAREFORLVM 8 "2020-09-23" "Red Hat" \" -*- nroff -*- .SH NAME -vdo2lvm \- Converts a VDO device for use with LVM +vdoprepareforlvm \- Converts a VDO device for use with LVM .SH SYNOPSIS -.B vdo2lvm +.B vdoprepareforlvm .I filename .SH DESCRIPTION -.B vdo2lvm +.B vdoprepareforlvm converts the VDO block device named by \fIfilename\fP for use with LVM. The VDO device to be converted must not be running, and should not already be an LVM VDO. @@ -16,7 +16,7 @@ already be an LVM VDO. Print this help message and exit. .TP .B \-\-version -Show the version of vdo2lvm. +Show the version of vdoprepareforlvm. . .SH SEE ALSO .BR vdo (8). diff --git a/utils/vdo/user/vdo2lvm.c b/utils/vdo/user/vdoprepareforlvm.c similarity index 95% rename from utils/vdo/user/vdo2lvm.c rename to utils/vdo/user/vdoprepareforlvm.c index 8baf3169..957939eb 100644 --- a/utils/vdo/user/vdo2lvm.c +++ b/utils/vdo/user/vdoprepareforlvm.c @@ -16,7 +16,7 @@ * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA * 02110-1301, USA. * - * $Id: //eng/vdo-releases/aluminum/src/c++/vdo/user/vdo2LVM.c#5 $ + * $Id: //eng/vdo-releases/aluminum/src/c++/vdo/user/vdoPrepareForLVM.c#1 $ */ #include @@ -47,22 +47,22 @@ static const char usageString[] = " [--help] [--version] filename"; static const char helpString[] = - "vdo2lvm - Converts a VDO device for use with LVM\n" + "vdoprepareforlvm - Converts a VDO device for use with LVM\n" "\n" "SYNOPSIS\n" - " vdo2lvm \n" + " vdoprepareforlvm \n" "\n" "DESCRIPTION\n" - " vdo2lvm converts the VDO block device named by for use with\n" - " LVM. The VDO device to be converted must not be running, and should not\n" - " already be an LVM VDO.\n" + " vdoprepareforlvm converts the VDO block device named by for\n" + " use with LVM. The VDO device to be converted must not be running, and\n" + " should not already be an LVM VDO.\n" "\n" "OPTIONS\n" " --help\n" " Print this help message and exit.\n" "\n" " --version\n" - " Show the version of vdo2lvm.\n" + " Show the version of vdoprepareforlvm.\n" "\n"; static struct option options[] = { diff --git a/vdo-manager/statistics/KernelStatistics.py b/vdo-manager/statistics/KernelStatistics.py index 0f3e9961..c7c52e54 100644 --- a/vdo-manager/statistics/KernelStatistics.py +++ b/vdo-manager/statistics/KernelStatistics.py @@ -80,7 +80,7 @@ def __init__(self, name="KernelStatistics", **kwargs): Uint32Field("releaseVersion", display = False), # The VDO instance Uint32Field("instance"), - StringField("fiveTwelveByteEmulation", derived = "'on' if ($logicalBlockSize == 512) else 'off'", label = "512 byte emulation"), + StringField("fiveTwelveByteEmulation", label = "512 byte emulation", derived = "'on' if ($logicalBlockSize == 512) else 'off'"), # Current number of active VIOs Uint32Field("currentVIOsInProgress", label = "current VDO IO requests in progress"), # Maximum number of active VIOs diff --git a/vdo-manager/statistics/VDOStatistics.py b/vdo-manager/statistics/VDOStatistics.py index 31dc354a..fc32af47 100644 --- a/vdo-manager/statistics/VDOStatistics.py +++ b/vdo-manager/statistics/VDOStatistics.py @@ -201,11 +201,11 @@ def __init__(self, name="VDOStatistics", **kwargs): # number of logical blocks Uint64Field("logicalBlocks"), Uint64Field("oneKBlocks", label = "1K-blocks", derived = "$physicalBlocks * $blockSize // 1024"), - Uint64Field("oneKBlocksUsed", label = "1K-blocks used", available = "not $inRecoveryMode", derived = "($dataBlocksUsed + $overheadBlocksUsed) * $blockSize // 1024"), - Uint64Field("oneKBlocksAvailable", derived = "($physicalBlocks - $dataBlocksUsed - $overheadBlocksUsed) * $blockSize // 1024", label = "1K-blocks available", available = "not $inRecoveryMode"), + Uint64Field("oneKBlocksUsed", derived = "($dataBlocksUsed + $overheadBlocksUsed) * $blockSize // 1024", available = "not $inRecoveryMode", label = "1K-blocks used"), + Uint64Field("oneKBlocksAvailable", derived = "($physicalBlocks - $dataBlocksUsed - $overheadBlocksUsed) * $blockSize // 1024", available = "not $inRecoveryMode", label = "1K-blocks available"), Uint8Field("usedPercent", derived = "int((100 * ($dataBlocksUsed + $overheadBlocksUsed) // $physicalBlocks) + 0.5)", available = "((not $inRecoveryMode) and ($mode != b'read-only'))"), - Uint8Field("savings", display = False, available = "not $inRecoveryMode", derived = "int(100 * ($logicalBlocksUsed - $dataBlocksUsed) // $logicalBlocksUsed) if ($logicalBlocksUsed > 0) else -1"), - Uint8Field("savingPercent", derived = "$savings if ($savings >= 0) else NotAvailable()", available = "((not $inRecoveryMode) and ($mode != b'read-only'))"), + Uint8Field("savings", available = "not $inRecoveryMode", derived = "int(100 * ($logicalBlocksUsed - $dataBlocksUsed) // $logicalBlocksUsed) if ($logicalBlocksUsed > 0) else -1", display = False), + Uint8Field("savingPercent", available = "((not $inRecoveryMode) and ($mode != b'read-only'))", derived = "$savings if ($savings >= 0) else NotAvailable()"), # Size of the block map page cache, in bytes Uint64Field("blockMapCacheSize"), # String describing the active write policy of the VDO @@ -217,11 +217,11 @@ def __init__(self, name="VDOStatistics", **kwargs): # Number of times the VDO has recovered from read-only mode Uint64Field("readOnlyRecoveries", label = "read-only recovery count"), # String describing the operating mode of the VDO - StringField("mode", length = 15, label = "operating mode"), + StringField("mode", label = "operating mode", length = 15), # Whether the VDO is in recovery mode BoolField("inRecoveryMode", display = False), # What percentage of recovery mode work has been completed - Uint8Field("recoveryPercentage", available = "$inRecoveryMode", label = "recovery progress (%)"), + Uint8Field("recoveryPercentage", label = "recovery progress (%)", available = "$inRecoveryMode"), # The statistics for the compressed block packer PackerStatistics("packer"), # Counters for events in the block allocator diff --git a/vdo-manager/vdomgmnt/Defaults.py b/vdo-manager/vdomgmnt/Defaults.py index 07cec057..ea4931ef 100644 --- a/vdo-manager/vdomgmnt/Defaults.py +++ b/vdo-manager/vdomgmnt/Defaults.py @@ -20,7 +20,7 @@ """ Defaults - manage Albireo/VDO defaults - $Id: //eng/vdo-releases/aluminum/src/python/vdo/vdomgmnt/Defaults.py#10 $ + $Id: //eng/vdo-releases/aluminum/src/python/vdo/vdomgmnt/Defaults.py#11 $ """ from __future__ import absolute_import @@ -72,6 +72,7 @@ class Defaults(object): blockMapPeriodMin = 1 cfreq = 0 confFile = os.getenv('VDO_CONF_DIR', '/etc') + '/vdoconf.yml' + conversionUtilityDir = os.getenv('VDO_CONVERSION_UTILITY_DIR', '/usr/libexec') compression = Constants.enabled deduplication = Constants.enabled cpuThreads = 2 diff --git a/vdo-manager/vdomgmnt/VDOService.py b/vdo-manager/vdomgmnt/VDOService.py index 6b795d8f..cb020a85 100644 --- a/vdo-manager/vdomgmnt/VDOService.py +++ b/vdo-manager/vdomgmnt/VDOService.py @@ -20,7 +20,7 @@ """ VDOService - manages the VDO service on the local node - $Id: //eng/vdo-releases/aluminum/src/python/vdo/vdomgmnt/VDOService.py#39 $ + $Id: //eng/vdo-releases/aluminum/src/python/vdo/vdomgmnt/VDOService.py#41 $ """ from __future__ import absolute_import @@ -302,12 +302,12 @@ def convert(self): self.stop() transaction.addUndoStage(self.start) - # vdo2lvm will do the actual conversion and print info about + # vdoprepareforlvm will do the actual conversion and print info about # where the new geometry block is located. transaction.setMessage(self.log.error, _("Device {0} could not be converted").format( self.getName())) - output = runCommand(["vdo2lvm", self.device]).strip() + output = runCommand([Defaults.conversionUtilityDir + '/vdoprepareforlvm', self.device]).strip() transaction.setMessage(None) if output != "": self._announce(textwrap.indent(output, " ")) diff --git a/vdo.spec b/vdo.spec index 4e356fb1..050dc41b 100644 --- a/vdo.spec +++ b/vdo.spec @@ -4,7 +4,7 @@ # Summary: Management tools for Virtual Data Optimizer Name: vdo -Version: 6.2.5.65 +Version: 6.2.5.74 Release: %{spec_release}%{?dist} License: GPLv2 Source0: %{name}-%{version}.tgz @@ -51,10 +51,11 @@ This package provides the user-space management tools for VDO. make %install -make install DESTDIR=$RPM_BUILD_ROOT INSTALLOWNER= bindir=%{_bindir} \ - defaultdocdir=%{_defaultdocdir} name=%{name} \ - python3_sitelib=/%{python3_sitelib} mandir=%{_mandir} \ - unitdir=%{_unitdir} presetdir=%{_presetdir} sysconfdir=%{_sysconfdir} +make install DESTDIR=$RPM_BUILD_ROOT INSTALLOWNER= name=%{name} \ + bindir=%{_bindir} defaultdocdir=%{_defaultdocdir} libexecdir=%{_libexecdir} \ + mandir=%{_mandir} presetdir=%{_presetdir} \ + python3_sitelib=/%{python3_sitelib} sysconfdir=%{_sysconfdir} \ + unitdir=%{_unitdir} %post %systemd_post vdo.service @@ -68,14 +69,14 @@ make install DESTDIR=$RPM_BUILD_ROOT INSTALLOWNER= bindir=%{_bindir} \ %files #defattr(-,root,root) %{_bindir}/vdo -%{_bindir}/vdo2lvm %{_bindir}/vdo-by-dev -%{_bindir}/vdostats %{_bindir}/vdodmeventd %{_bindir}/vdodumpconfig %{_bindir}/vdoforcerebuild %{_bindir}/vdoformat %{_bindir}/vdosetuuid +%{_bindir}/vdostats +%{_libexecdir}/vdoprepareforlvm %dir %{python3_sitelib}/%{name} %{python3_sitelib}/%{name}/__pycache__/* %{python3_sitelib}/%{name}/__init__.py @@ -133,13 +134,13 @@ make install DESTDIR=$RPM_BUILD_ROOT INSTALLOWNER= bindir=%{_bindir} \ %dir %{_defaultdocdir}/%{name}/examples/systemd %doc %{_defaultdocdir}/%{name}/examples/systemd/VDO.mount.example %{_mandir}/man8/vdo.8.gz -%{_mandir}/man8/vdo2lvm.8.gz -%{_mandir}/man8/vdostats.8.gz %{_mandir}/man8/vdodmeventd.8.gz %{_mandir}/man8/vdodumpconfig.8.gz %{_mandir}/man8/vdoforcerebuild.8.gz %{_mandir}/man8/vdoformat.8.gz +%{_mandir}/man8/vdoprepareforlvm.8.gz %{_mandir}/man8/vdosetuuid.8.gz +%{_mandir}/man8/vdostats.8.gz %dir %{_sysconfdir}/bash_completion.d %{_sysconfdir}/bash_completion.d/vdo %{_sysconfdir}/bash_completion.d/vdostats @@ -181,6 +182,7 @@ This package provides the user-space support tools for VDO. %{_mandir}/man8/vdoregenerategeometry.8.gz %changelog -* Wed Jul 21 2021 - Red Hat VDO Team - 6.2.5.65-1 -- Fixed Coverity scan issues. - +* Fri Aug 20 2021 - Red Hat VDO Team - 6.2.5.74-1 +- Renamed vdo2LVM to vdopreparelvm and moved its installation location to + /usr/libexec so that it is not in common default paths as this utility is + intended to be called from LVM, not directly by users.