Skip to content

Commit

Permalink
Version 6.2.0.35
Browse files Browse the repository at this point in the history
Note: This is a pre-release version, future versions of VDO may not support
VDO devices created with this version.
- Added validation that the release version numbers in the geometry and
  super block match on load.
- Fixed bug where VDO would always be created with a dense index even when
  a sparse index was requested.
- Fixed compilation problems on newer versions of GCC.
  • Loading branch information
corwin committed Apr 27, 2018
1 parent 798a827 commit aae1e66
Show file tree
Hide file tree
Showing 7 changed files with 38 additions and 22 deletions.
2 changes: 1 addition & 1 deletion utils/uds/Makefile
Original file line number Diff line number Diff line change
Expand Up @@ -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 = 6.2.0.18
UDS_VERSION = 6.2.0.19
BUILD_VERSION = $(UDS_VERSION)
DISTRO_CODENAME := $(shell lsb_release -s -c)

Expand Down
11 changes: 10 additions & 1 deletion utils/uds/util/funnelQueue.h
Original file line number Diff line number Diff line change
Expand Up @@ -16,7 +16,7 @@
* Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA
* 02110-1301, USA.
*
* $Id: //eng/uds-releases/gloria/src/uds/util/funnelQueue.h#4 $
* $Id: //eng/uds-releases/gloria/src/uds/util/funnelQueue.h#5 $
*/

#ifndef FUNNEL_QUEUE_H
Expand Down Expand Up @@ -134,7 +134,16 @@ static INLINE void funnelQueuePut(FunnelQueue *queue, FunnelQueueEntry *entry)
* xchg implements a full barrier.
*/
entry->next = NULL;
/*
* The xchg macro in the PPC kernel calls a function that takes a void*
* argument, triggering a warning about dropping the volatile qualifier.
*/
#pragma GCC diagnostic push
#if __GNUC__ >= 5
#pragma GCC diagnostic ignored "-Wdiscarded-qualifiers"
#endif
FunnelQueueEntry *previous = xchg(&queue->newest, entry);
#pragma GCC diagnostic pop
// Pre-empts between these two statements hide the rest of the queue from
// the consumer, preventing consumption until the following assignment runs.
previous->next = entry;
Expand Down
2 changes: 1 addition & 1 deletion utils/vdo/base/Makefile
Original file line number Diff line number Diff line change
Expand Up @@ -17,7 +17,7 @@
#
# $Id: //eng/vdo-releases/aluminum/src/packaging/src-dist/user/utils/vdo/base/Makefile#1 $

VDO_VERSION = 6.2.0.32
VDO_VERSION = 6.2.0.35

UDS_DIR = ../../uds

Expand Down
19 changes: 15 additions & 4 deletions utils/vdo/base/volumeGeometry.c
Original file line number Diff line number Diff line change
Expand Up @@ -16,7 +16,7 @@
* Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA
* 02110-1301, USA.
*
* $Id: //eng/vdo-releases/aluminum/src/c++/vdo/base/volumeGeometry.c#3 $
* $Id: //eng/vdo-releases/aluminum/src/c++/vdo/base/volumeGeometry.c#4 $
*/

#include "volumeGeometry.h"
Expand Down Expand Up @@ -61,6 +61,9 @@ static const Header *CURRENT_GEOMETRY_BLOCK_HEADER

static const char MAGIC_NUMBER[MAGIC_NUMBER_SIZE + 1] = "dmvdo001";

static const ReleaseVersionNumber COMPATIBLE_RELEASE_VERSIONS[] = {
MAGNESIUM_RELEASE_VERSION_NUMBER,
};

/**
* Determine whether the supplied release version can be understood by
Expand All @@ -72,9 +75,17 @@ static const char MAGIC_NUMBER[MAGIC_NUMBER_SIZE + 1] = "dmvdo001";
**/
static inline bool isLoadableReleaseVersion(ReleaseVersionNumber version)
{
return ((version == CURRENT_RELEASE_VERSION_NUMBER)
|| (version == ALUMINUM_RELEASE_VERSION_NUMBER)
|| (version == MAGNESIUM_RELEASE_VERSION_NUMBER));
if (version == CURRENT_RELEASE_VERSION_NUMBER) {
return true;
}

for (unsigned int i = 0; i < COUNT_OF(COMPATIBLE_RELEASE_VERSIONS); i++) {
if (version == COMPATIBLE_RELEASE_VERSIONS[i]) {
return true;
}
}

return false;
}

/**********************************************************************/
Expand Down
2 changes: 1 addition & 1 deletion utils/vdo/user/Makefile
Original file line number Diff line number Diff line change
Expand Up @@ -19,7 +19,7 @@

# $Id: //eng/vdo-releases/aluminum/src/packaging/src-dist/user/utils/vdo/user/Makefile#2 $

VDO_VERSION = 6.2.0.32
VDO_VERSION = 6.2.0.35

UDS_DIR = ../../uds
VDO_BASE_DIR = ../base
Expand Down
4 changes: 2 additions & 2 deletions utils/vdo/user/parseUtils.c
Original file line number Diff line number Diff line change
Expand Up @@ -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/parseUtils.c#1 $
* $Id: //eng/vdo-releases/aluminum/src/c++/vdo/user/parseUtils.c#2 $
*/

#include "parseUtils.h"
Expand Down Expand Up @@ -155,7 +155,7 @@ int parseIndexConfig(UdsConfigStrings *configStrings,
}

if (configStrings->sparse != NULL) {
config.sparse = (strcmp(configStrings->sparse, "0") == 0);
config.sparse = (strcmp(configStrings->sparse, "0") != 0);
}

*configPtr = config;
Expand Down
20 changes: 8 additions & 12 deletions vdo.spec
Original file line number Diff line number Diff line change
Expand Up @@ -4,7 +4,7 @@
#
Summary: Management tools for Virtual Data Optimizer
Name: vdo
Version: 6.2.0.32
Version: 6.2.0.35
Release: %{spec_release}
License: GPLv2
Source: %{name}-%{version}.tgz
Expand Down Expand Up @@ -195,15 +195,11 @@ make install DESTDIR=$RPM_BUILD_ROOT INSTALLOWNER= bindir=%{_bindir} \


%changelog
* Tue Apr 24 2018 - J. corwin Coburn <corwin@redhat.com> - 6.2.0.32-1
* Fri Apr 27 2018 - J. corwin Coburn <corwin@redhat.com> - 6.2.0.35-1
Note: This is a pre-release version, future versions of VDO may not support
VDO devices created with this version.
- Add a library, libuser.a, to provide easy access to VDO user space code
for other projects.
- Fixed a bug in vdo script when /dev/disk/by-id does not exist.
- Fixed an internationalization bug in the vdo script's --indexMemory
option.
- Changed vdo script to not accept --vdoSlabSize=0 as a way of specifying
the default since it was confusing. The default can be obtained by merely
omitting the parameter entirely.

VDO devices created with this version.
- Added validation that the release version numbers in the geometry and
super block match on load.
- Fixed bug where VDO would always be created with a dense index even when
a sparse index was requested.
- Fixed compilation problems on newer versions of GCC.

0 comments on commit aae1e66

Please # to comment.