Fix MDA offset/size overflow while using lvmetad and some spec file changes.

This commit is contained in:
Peter Rajnoha 2013-08-06 15:42:34 +02:00
parent f7491bafbb
commit 85d48a02f9
2 changed files with 41 additions and 2 deletions

View File

@ -0,0 +1,35 @@
WHATS_NEW | 4 ++++
lib/format_text/format-text.c | 4 ++--
2 files changed, 6 insertions(+), 2 deletions(-)
diff --git a/WHATS_NEW b/WHATS_NEW
index 039ddec..f2f5ba4 100644
--- a/WHATS_NEW
+++ b/WHATS_NEW
@@ -1,3 +1,7 @@
+Version 2.02.100 -
+================================
+ Fix metadata area offset/size overflow if it's >= 4g and while using lvmetad.
+
Version 2.02.99 - 24th July 2013
================================
Do not zero init 4KB of thin snapshot for non-zeroing thin pool (2.02.94).
diff --git a/lib/format_text/format-text.c b/lib/format_text/format-text.c
index b210603..950e0d5 100644
--- a/lib/format_text/format-text.c
+++ b/lib/format_text/format-text.c
@@ -1688,12 +1688,12 @@ static int _mda_import_text_raw(struct lvmcache_info *info, const struct dm_conf
cn = cn->child;
device = lvmcache_device(info);
- size = dm_config_find_int(cn, "size", 0);
+ size = dm_config_find_int64(cn, "size", 0);
if (!device || !size)
return 0;
- offset = dm_config_find_int(cn, "start", 0);
+ offset = dm_config_find_int64(cn, "start", 0);
ignore = dm_config_find_int(cn, "ignore", 0);
lvmcache_add_mda(info, device, offset, size, ignore);

View File

@ -12,7 +12,7 @@
%define corosync_version 1.99.9-1
%define dlm_version 3.99.1-1
%define libselinux_version 1.30.19-4
%define persistent_data_version 0.1.4
%define persistent_data_version 0.2.3-1
%if 0%{?rhel}
%ifnarch i686 x86_64
@ -44,6 +44,7 @@ URL: http://sources.redhat.com/lvm2
Source0: ftp://sources.redhat.com/pub/lvm2/LVM2.%{version}.tgz
Patch0: lvm2-set-default-preferred_names.patch
Patch1: lvm2-enable-lvmetad-by-default.patch
Patch2: lvm2-2_02_100-fix-mda-offset-size-overflow-4g-with-lvmetad.patch
BuildRequires: libselinux-devel >= %{libselinux_version}, libsepol-devel
BuildRequires: ncurses-devel
@ -80,6 +81,7 @@ or more physical volumes and creating one or more logical volumes
%setup -q -n LVM2.%{version}
%patch0 -p1 -b .preferred_names
%patch1 -p1 -b .enable_lvmetad
%patch2 -p1 -b .lvmetad_mda_overflow
%build
%define _default_pid_dir /run
@ -575,7 +577,9 @@ the device-mapper event library.
%{_libdir}/pkgconfig/devmapper-event.pc
%changelog
* Tue Jul 30 2013 Peter Rajnoha <prajnoha@redhat.com> - 2.02.99-2
* Tue Aug 06 2013 Peter Rajnoha <prajnoha@redhat.com> - 2.02.99-2
- Fix metadata area offset/size overflow if it's >= 4g and while using lvmetad.
- Require the newest device-mapper-persistent-data-0.2.3-1.
- Fix spec file's util-linux version definition for proper expansion when used.
* Thu Jul 25 2013 Peter Rajnoha <prajnoha@redhat.com> - 2.02.99-1