diff --git a/.device-mapper-persistent-data.metadata b/.device-mapper-persistent-data.metadata index 101750b..2782253 100644 --- a/.device-mapper-persistent-data.metadata +++ b/.device-mapper-persistent-data.metadata @@ -1 +1 @@ -dc8e71921f4cc19ed66e83fb6c6ac3e6c154fa54 SOURCES/thin-provisioning-tools-v0.4.1.tar.bz2 +7391d11b8f97043ed0e7c19693722535a5dbea5b SOURCES/thin-provisioning-tools-0.5.5.tar.gz diff --git a/.gitignore b/.gitignore index 38cc4a9..35e22e2 100644 --- a/.gitignore +++ b/.gitignore @@ -1 +1 @@ -SOURCES/thin-provisioning-tools-v0.4.1.tar.bz2 +SOURCES/thin-provisioning-tools-0.5.5.tar.gz diff --git a/SOURCES/device-mapper-persistent-avoid-strip.patch b/SOURCES/device-mapper-persistent-avoid-strip.patch new file mode 100644 index 0000000..f7babda --- /dev/null +++ b/SOURCES/device-mapper-persistent-avoid-strip.patch @@ -0,0 +1,11 @@ +--- a/Makefile.in 2014-11-12 18:46:30.282251378 +0100 ++++ b/Makefile.in 2014-11-12 18:46:56.108608255 +0100 +@@ -108,7 +108,7 @@ + vpath %.cc $(TOP_DIR) + + INSTALL_DIR = $(INSTALL) -m 755 -d +-INSTALL_PROGRAM = $(INSTALL) -m 755 -s ++INSTALL_PROGRAM = $(INSTALL) -m 755 + INSTALL_DATA = $(INSTALL) -p -m 644 + + ifeq ("@TESTING@", "yes") diff --git a/SOURCES/device-mapper-persistent-data-0.4.1-avoid-strip.patch b/SOURCES/device-mapper-persistent-data-0.4.1-avoid-strip.patch deleted file mode 100644 index f7babda..0000000 --- a/SOURCES/device-mapper-persistent-data-0.4.1-avoid-strip.patch +++ /dev/null @@ -1,11 +0,0 @@ ---- a/Makefile.in 2014-11-12 18:46:30.282251378 +0100 -+++ b/Makefile.in 2014-11-12 18:46:56.108608255 +0100 -@@ -108,7 +108,7 @@ - vpath %.cc $(TOP_DIR) - - INSTALL_DIR = $(INSTALL) -m 755 -d --INSTALL_PROGRAM = $(INSTALL) -m 755 -s -+INSTALL_PROGRAM = $(INSTALL) -m 755 - INSTALL_DATA = $(INSTALL) -p -m 644 - - ifeq ("@TESTING@", "yes") diff --git a/SOURCES/device-mapper-persistent-data-0.4.1-bz1085620.patch b/SOURCES/device-mapper-persistent-data-0.4.1-bz1085620.patch deleted file mode 100644 index 6fa4163..0000000 --- a/SOURCES/device-mapper-persistent-data-0.4.1-bz1085620.patch +++ /dev/null @@ -1,15 +0,0 @@ ---- thin-provisioning-tools-0.4.1/man8/thin_check.8.orig 2014-10-28 14:19:02.800420873 +0100 -+++ thin-provisioning-tools-0.4.1/man8/thin_check.8 2014-10-28 14:19:47.335924554 +0100 -@@ -25,6 +25,12 @@ - .IP "\fB\-V, \-\-version\fP" - Output version information and exit. - -+.IP "\fB\-\-clear\-needs\-check\-flag\fP" -+Clear the needs-check-flag in case the check of the thin pool metadata succeeded. -+If the metadata check failed, the flag is not cleared and a thin_repair run is -+needed to fix any issues. -+After thin_repair succeeded, you may run thin_check again. -+ - .IP "\fB\-\-super\-block\-only\fP" - Only check the superblock is present. - diff --git a/SOURCES/device-mapper-persistent-data-0.4.1-missing-man-pages.patch b/SOURCES/device-mapper-persistent-data-0.4.1-missing-man-pages.patch deleted file mode 100644 index ac2e687..0000000 --- a/SOURCES/device-mapper-persistent-data-0.4.1-missing-man-pages.patch +++ /dev/null @@ -1,116 +0,0 @@ ---- thin-provisioning-tools-0.4.1/man8/era_restore.8.orig 2014-10-28 14:24:43.356272471 +0100 -+++ thin-provisioning-tools-0.4.1/man8/era_restore.8 2014-10-28 14:28:56.358133852 +0100 -@@ -0,0 +1,63 @@ -+.TH ERA_RESTORE 8 "Thin Provisioning Tools" "Red Hat, Inc." \" -*- nroff -*- -+.SH NAME -+era_restore \- restore era metadata file to device or file -+ -+.SH SYNOPSIS -+.B era_restore -+.RB [ options ] -+.RB -i -+.I {device|file} -+.RB -o -+.I {device|file} -+ -+.SH DESCRIPTION -+.B era_restore -+restores binary era metadata created by the -+respective device-mapper target dumped into an XML formatted (see -+.BR era_dump(8) ) -+.I file -+, which optionally can be preprocessed before the restore to another -+.I device -+or -+.I file. -+If restored to a metadata -+.I device -+, the metadata can be processed by the device-mapper target. -+ -+.IP "\fB\-q, \-\-quiet\fP" -+Suppress output messages, return only exit code. -+ -+.IP "\fB\-i, \-\-input\fP \fI{device|file}\fP" -+Input file or device with metadata. -+ -+.IP "\fB\-o, \-\-output\fP \fI{device|file}\fP" -+Output file or device. -+ -+.IP "\fB\-h, \-\-help\fP" -+Print help and exit. -+ -+.IP "\fB\-V, \-\-version\fP" -+Output version information and exit. -+ -+.SH EXAMPLE -+Restores the XML formatted era metadata on file -+.B metadata -+to logical volume /dev/vg/metadata for further processing by the -+respective device-mapper target: -+.sp -+.B era_restore -i metadata -o /dev/vg/metadata -+ -+.SH DIAGNOSTICS -+.B era_restore -+returns an exit code of 0 for success or 1 for error. -+ -+.SH SEE ALSO -+.B era_check(8) -+.B era_dump(8) -+.B era_invaidate(8) -+.B era_restore(8) -+ -+.SH AUTHOR -+Joe Thornber -+.br -+Heinz Mauelshagen ---- thin-provisioning-tools-0.4.1/man8/cache_metadata_size.8.orig 2014-10-28 14:31:49.116087709 +0100 -+++ thin-provisioning-tools-0.4.1/man8/cache_metadata_size.8 2014-10-28 14:50:29.337238755 +0100 -@@ -0,0 +1,47 @@ -+.TH CACHE_METADATA_SIZE 8 "Thin Provisioning Tools" "Red Hat, Inc." \" -*- nroff -*- -+.SH NAME -+cache_metadata_size \- cache metadata device/file size calculator. -+ -+.SH SYNOPSIS -+.B cache_metadata_size -+.RB [ options ] -+ -+.SH DESCRIPTION -+.B cache_metadata_size -+calculates the size of the cache metadata based on the block size -+of the cache device and the cache block size. -+All relates to the size of the fast device (eg, SSD), rather -+than the whole cached (i.e. origin) device. -+ -+.IP "\fB\\-\-block\-size \fP -+Block size of cache in units of sectors. -+ -+.IP "\fB\\-\-device\-size \fP -+Device size of the cache device in units of sectors. -+ -+.IP "\fB\\-\-nr\-blocks \fP -+Capacity of the cache in number of blocks. -+ -+.IP "\fB\-h, \-\-help\fP" -+Print help and exit. -+ -+.IP "\fB\-V, \-\-version\fP" -+Output version information and exit. -+ -+.SH EXAMPLES -+Calculates the cache metadata device size for block size 256 sectors.and device size of 2GiB -+.sp -+.B cache_metadata_size --block-size 256 --device-size $((2*1024*1024)) -+ -+.SH DIAGNOSTICS -+.B cache_metadata_size -+returns an exit code of 0 for success or 1 for error. -+ -+.SH SEE ALSO -+.B cache_check(8) -+.B cache_dump(8) -+.B cache_repair(8) -+.B cache_restore(8) -+ -+.SH AUTHOR -+Heinz Mauelshagen diff --git a/SOURCES/device-mapper-persistent-data-add-era_restore-and-cache_metadata_size-man-pages.patch b/SOURCES/device-mapper-persistent-data-add-era_restore-and-cache_metadata_size-man-pages.patch new file mode 100644 index 0000000..ac2e687 --- /dev/null +++ b/SOURCES/device-mapper-persistent-data-add-era_restore-and-cache_metadata_size-man-pages.patch @@ -0,0 +1,116 @@ +--- thin-provisioning-tools-0.4.1/man8/era_restore.8.orig 2014-10-28 14:24:43.356272471 +0100 ++++ thin-provisioning-tools-0.4.1/man8/era_restore.8 2014-10-28 14:28:56.358133852 +0100 +@@ -0,0 +1,63 @@ ++.TH ERA_RESTORE 8 "Thin Provisioning Tools" "Red Hat, Inc." \" -*- nroff -*- ++.SH NAME ++era_restore \- restore era metadata file to device or file ++ ++.SH SYNOPSIS ++.B era_restore ++.RB [ options ] ++.RB -i ++.I {device|file} ++.RB -o ++.I {device|file} ++ ++.SH DESCRIPTION ++.B era_restore ++restores binary era metadata created by the ++respective device-mapper target dumped into an XML formatted (see ++.BR era_dump(8) ) ++.I file ++, which optionally can be preprocessed before the restore to another ++.I device ++or ++.I file. ++If restored to a metadata ++.I device ++, the metadata can be processed by the device-mapper target. ++ ++.IP "\fB\-q, \-\-quiet\fP" ++Suppress output messages, return only exit code. ++ ++.IP "\fB\-i, \-\-input\fP \fI{device|file}\fP" ++Input file or device with metadata. ++ ++.IP "\fB\-o, \-\-output\fP \fI{device|file}\fP" ++Output file or device. ++ ++.IP "\fB\-h, \-\-help\fP" ++Print help and exit. ++ ++.IP "\fB\-V, \-\-version\fP" ++Output version information and exit. ++ ++.SH EXAMPLE ++Restores the XML formatted era metadata on file ++.B metadata ++to logical volume /dev/vg/metadata for further processing by the ++respective device-mapper target: ++.sp ++.B era_restore -i metadata -o /dev/vg/metadata ++ ++.SH DIAGNOSTICS ++.B era_restore ++returns an exit code of 0 for success or 1 for error. ++ ++.SH SEE ALSO ++.B era_check(8) ++.B era_dump(8) ++.B era_invaidate(8) ++.B era_restore(8) ++ ++.SH AUTHOR ++Joe Thornber ++.br ++Heinz Mauelshagen +--- thin-provisioning-tools-0.4.1/man8/cache_metadata_size.8.orig 2014-10-28 14:31:49.116087709 +0100 ++++ thin-provisioning-tools-0.4.1/man8/cache_metadata_size.8 2014-10-28 14:50:29.337238755 +0100 +@@ -0,0 +1,47 @@ ++.TH CACHE_METADATA_SIZE 8 "Thin Provisioning Tools" "Red Hat, Inc." \" -*- nroff -*- ++.SH NAME ++cache_metadata_size \- cache metadata device/file size calculator. ++ ++.SH SYNOPSIS ++.B cache_metadata_size ++.RB [ options ] ++ ++.SH DESCRIPTION ++.B cache_metadata_size ++calculates the size of the cache metadata based on the block size ++of the cache device and the cache block size. ++All relates to the size of the fast device (eg, SSD), rather ++than the whole cached (i.e. origin) device. ++ ++.IP "\fB\\-\-block\-size \fP ++Block size of cache in units of sectors. ++ ++.IP "\fB\\-\-device\-size \fP ++Device size of the cache device in units of sectors. ++ ++.IP "\fB\\-\-nr\-blocks \fP ++Capacity of the cache in number of blocks. ++ ++.IP "\fB\-h, \-\-help\fP" ++Print help and exit. ++ ++.IP "\fB\-V, \-\-version\fP" ++Output version information and exit. ++ ++.SH EXAMPLES ++Calculates the cache metadata device size for block size 256 sectors.and device size of 2GiB ++.sp ++.B cache_metadata_size --block-size 256 --device-size $((2*1024*1024)) ++ ++.SH DIAGNOSTICS ++.B cache_metadata_size ++returns an exit code of 0 for success or 1 for error. ++ ++.SH SEE ALSO ++.B cache_check(8) ++.B cache_dump(8) ++.B cache_repair(8) ++.B cache_restore(8) ++ ++.SH AUTHOR ++Heinz Mauelshagen diff --git a/SOURCES/device-mapper-persistent-data-document-clear-needs-check-flag.patch b/SOURCES/device-mapper-persistent-data-document-clear-needs-check-flag.patch new file mode 100644 index 0000000..6fa4163 --- /dev/null +++ b/SOURCES/device-mapper-persistent-data-document-clear-needs-check-flag.patch @@ -0,0 +1,15 @@ +--- thin-provisioning-tools-0.4.1/man8/thin_check.8.orig 2014-10-28 14:19:02.800420873 +0100 ++++ thin-provisioning-tools-0.4.1/man8/thin_check.8 2014-10-28 14:19:47.335924554 +0100 +@@ -25,6 +25,12 @@ + .IP "\fB\-V, \-\-version\fP" + Output version information and exit. + ++.IP "\fB\-\-clear\-needs\-check\-flag\fP" ++Clear the needs-check-flag in case the check of the thin pool metadata succeeded. ++If the metadata check failed, the flag is not cleared and a thin_repair run is ++needed to fix any issues. ++After thin_repair succeeded, you may run thin_check again. ++ + .IP "\fB\-\-super\-block\-only\fP" + Only check the superblock is present. + diff --git a/SPECS/device-mapper-persistent-data.spec b/SPECS/device-mapper-persistent-data.spec index 6abf33d..9a25f93 100644 --- a/SPECS/device-mapper-persistent-data.spec +++ b/SPECS/device-mapper-persistent-data.spec @@ -1,18 +1,18 @@ # -# Copyright (C) 2011-2014 Red Hat, Inc +# Copyright (C) 2011-2015 Red Hat, Inc # Summary: Device-mapper Persistent Data Tools Name: device-mapper-persistent-data -Version: 0.4.1 -Release: 2%{?dist} +Version: 0.5.5 +Release: 1%{?dist} License: GPLv3+ Group: System Environment/Base URL: https://github.com/jthornber/thin-provisioning-tools -Source0: https://github.com/jthornber/thin-provisioning-tools/archive/thin-provisioning-tools-v%{version}.tar.bz2 +Source0: https://github.com/jthornber/thin-provisioning-tools/archive/thin-provisioning-tools-%{version}.tar.gz # Source1: https://github.com/jthornber/thin-provisioning-tools/archive/v%{version}.tar.gz -Patch0: device-mapper-persistent-data-0.4.1-bz1085620.patch -Patch1: device-mapper-persistent-data-0.4.1-missing-man-pages.patch -Patch2: device-mapper-persistent-data-0.4.1-avoid-strip.patch +Patch0: device-mapper-persistent-data-document-clear-needs-check-flag.patch +Patch1: device-mapper-persistent-data-add-era_restore-and-cache_metadata_size-man-pages.patch +Patch2: device-mapper-persistent-avoid-strip.patch BuildRequires: autoconf, expat-devel, libaio-devel, libstdc++-devel, boost-devel Requires: expat @@ -27,9 +27,9 @@ snapshot eras %prep %setup -q -n thin-provisioning-tools-%{version} -%patch0 -p1 -%patch1 -p1 -%patch2 -p1 +%patch0 -p1 -b .clear_needs_check_flag +%patch1 -p1 -b .man_pages +%patch2 -p1 -b .avoid_strip echo %{version}-%{release} > VERSION %build @@ -52,11 +52,13 @@ make DESTDIR=%{buildroot} MANDIR=%{_mandir} install %{_mandir}/man8/era_dump.8.gz %{_mandir}/man8/era_invalidate.8.gz %{_mandir}/man8/thin_check.8.gz +%{_mandir}/man8/thin_delta.8.gz %{_mandir}/man8/thin_dump.8.gz %{_mandir}/man8/thin_metadata_size.8.gz %{_mandir}/man8/thin_restore.8.gz %{_mandir}/man8/thin_repair.8.gz %{_mandir}/man8/thin_rmap.8.gz +%{_mandir}/man8/thin_trim.8.gz %{_sbindir}/pdata_tools %{_sbindir}/cache_check %{_sbindir}/cache_dump @@ -68,13 +70,43 @@ make DESTDIR=%{buildroot} MANDIR=%{_mandir} install %{_sbindir}/era_restore %{_sbindir}/era_invalidate %{_sbindir}/thin_check +%{_sbindir}/thin_delta %{_sbindir}/thin_dump %{_sbindir}/thin_metadata_size %{_sbindir}/thin_restore %{_sbindir}/thin_repair %{_sbindir}/thin_rmap +%{_sbindir}/thin_trim %changelog +* Thu Aug 13 2015 Peter Rajnoha - 0.5.5-1 +- Support thin_delta's --metadata_snap option without specifying snap location. +- Update man pages to make it clearer that tools shoulnd't be run on live metadata. +- Fix bugs in the metadata reference counting for thin_check. + +* Fri Jul 17 2015 Peter Rajnoha - 0.5.4-1 +- Fix cache_check with --clear-needs-check-flag option to + make sure metadata device is not open already by the tool + when open with O_EXCL mode is requested. + +* Tue Jul 07 2015 Peter Rajnoha - 0.5.3-1 +- Tools now open the metadata device in O_EXCL mode to stop + running the tools on active metadata. +- Update to latest upstream release. + +* Fri Jul 03 2015 Peter Rajnoha - 0.5.2-1 +- Fix bug in damage reporting in thin_dump and thin_check. +- Update to latest upstream release. + +* Thu Jun 25 2015 Peter Rajnoha - 0.5.1-1 +- Add space map checking for thin_check. +- Add --clear-needs-check option for cache_check. +- Update to latest upstream release. + +* Mon Jun 08 2015 Peter Rajnoha - 0.4.2-1 +- New thin_delta and thin_trim commands. +- Update to latest upstream release. + * Wed Nov 12 2014 Heinz Mauelshagen - 0.4.1-2 - Resolves: #1083394 - Resolves: #1085620 @@ -87,7 +119,7 @@ make DESTDIR=%{buildroot} MANDIR=%{_mandir} install * Wed Apr 2 2014 Heinz Mauelshagen - 0.3.2-1 - Resolves: #1081546 -* Thu Mar 28 2014 Heinz Mauelshagen - 0.3.0-1 +* Fri Mar 28 2014 Heinz Mauelshagen - 0.3.0-1 - Resolves: #1081546 * Fri Feb 28 2014 Heinz Mauelshagen - 0.2.8-5