Compare commits

...

8 Commits
rawhide ... f20

Author SHA1 Message Date
Heinz Mauelshagen e7fc6193ad Resolves: bz#1159466 2014-11-12 19:00:33 +01:00
Heinz Mauelshagen d364a61582 New upstream version 0.4.1 adding tools and enhancing performance 2014-10-28 21:22:51 +01:00
Heinz Mauelshagen a8c90500eb New upstream version 0.3.2 2014-05-28 12:33:28 +02:00
Heinz Mauelshagen 2b7f953cfe add missing files to Makefile.in to install 2013-10-18 17:27:28 +02:00
Heinz Mauelshagen 7792dc3f31 sources 2013-10-18 16:37:14 +02:00
Heinz Mauelshagen dcf73298b0 Patch for missing cache tools manual pages 2013-10-18 16:36:40 +02:00
Heinz Mauelshagen d236306fdc New upstream version 0.2.8 introducing cache_{check,dump,repair,restore} 2013-10-18 16:21:03 +02:00
Heinz Mauelshagen 591578b707 New upstream version 0.2.7 2013-09-17 16:25:37 +02:00
8 changed files with 490 additions and 10 deletions

1
.gitignore vendored
View File

@ -2,3 +2,4 @@
/thin-provisioning-tools-v0.2.1.tar.bz2
/thin-provisioning-tools-v0.2.2.tar.bz2
/thin-provisioning-tools-v0.2.3.tar.bz2
/thin-provisioning-tools-v0.2.7.tar.bz2

View File

@ -0,0 +1,24 @@
--- thin-provisioning-tools-0.2.8/Makefile.in.orig 2013-10-18 17:11:34.320772851 +0200
+++ thin-provisioning-tools-0.2.8/Makefile.in 2013-10-18 17:11:09.938219484 +0200
@@ -299,6 +299,10 @@
install: $(PROGRAMS)
$(INSTALL_DIR) $(BINDIR)
+ $(INSTALL_PROGRAM) cache_check $(BINDIR)
+ $(INSTALL_PROGRAM) cache_dump $(BINDIR)
+ $(INSTALL_PROGRAM) cache_repair $(BINDIR)
+ $(INSTALL_PROGRAM) cache_restore $(BINDIR)
$(INSTALL_PROGRAM) thin_check $(BINDIR)
$(INSTALL_PROGRAM) thin_dump $(BINDIR)
$(INSTALL_PROGRAM) thin_repair $(BINDIR)
@@ -306,6 +310,10 @@
$(INSTALL_PROGRAM) thin_rmap $(BINDIR)
$(INSTALL_PROGRAM) thin_metadata_size $(BINDIR)
$(INSTALL_DIR) $(MANPATH)/man8
+ $(INSTALL_DATA) man8/cache_check.8 $(MANPATH)/man8
+ $(INSTALL_DATA) man8/cache_dump.8 $(MANPATH)/man8
+ $(INSTALL_DATA) man8/cache_repair.8 $(MANPATH)/man8
+ $(INSTALL_DATA) man8/cache_restore.8 $(MANPATH)/man8
$(INSTALL_DATA) man8/thin_check.8 $(MANPATH)/man8
$(INSTALL_DATA) man8/thin_dump.8 $(MANPATH)/man8
$(INSTALL_DATA) man8/thin_repair.8 $(MANPATH)/man8

View File

@ -0,0 +1,270 @@
diff --git a/man8/cache_check.8 b/man8/cache_check.8
new file mode 100644
index 0000000..5cc7dff
--- /dev/null
+++ b/man8/cache_check.8
@@ -0,0 +1,62 @@
+.TH CACHE_CHECK 8 "Thin Provisioning Tools" "Red Hat, Inc." \" -*- nroff -*-
+.SH NAME
+cache_check \- repair cache metadata on device or file
+
+.SH SYNOPSIS
+.B cache_check
+.RB [ options ]
+.I {device|file}
+
+.SH DESCRIPTION
+.B cache_check
+checks cache metadata created by
+the device-mapper cache target on a
+.I device
+or
+.I file.
+
+.SH OPTIONS
+.IP "\fB\-q, \-\-quiet\fP"
+Suppress output messages, return only exit code.
+
+.IP "\fB\-h, \-\-help\fP"
+Print help and exit.
+
+.IP "\fB\-V, \-\-version\fP"
+Output version information and exit.
+
+.IP "\fB\-\-super\-block\-only\fP"
+Only check the superblock is present.
+
+.IP "\fB\-\-skip-mappings\fP"
+Skip checking of the block mappings which make up the bulk of the
+metadata.
+
+.IP "\fB\-\-skip-hints\fP"
+Skip checking of the policy hint values metadata.
+
+.IP "\fB\-\-skip-discards\fP"
+Skip checking of the discard bits in the metadata.
+
+.SH EXAMPLE
+Analyses and repairs cache metadata on logical volume
+/dev/vg/metadata:
+.sp
+.B cache_check /dev/vg/metadata
+
+The device may not be actively used by the target
+when running.
+
+.SH DIAGNOSTICS
+.B cache_check
+returns an exit code of 0 for success or 1 for error.
+
+.SH SEE ALSO
+.B cache_dump(8)
+.B cache_repair(8)
+.B cache_restore(8)
+
+.SH AUTHOR
+Joe Thornber <ejt@redhat.com>
+.br
+Heinz Mauelshagen <HeinzM@RedHat.com>
diff --git a/man8/cache_dump.8 b/man8/cache_dump.8
new file mode 100644
index 0000000..a0c2924
--- /dev/null
+++ b/man8/cache_dump.8
@@ -0,0 +1,59 @@
+.TH CACHE_DUMP 8 "Thin Provisioning Tools" "Red Hat, Inc." \" -*- nroff -*-
+.SH NAME
+cache_dump \- dump cache metadata from device or file to standard output
+
+.SH SYNOPSIS
+.B cache_dump
+.RB [options]
+.I {device|file}
+
+.SH DESCRIPTION
+.B cache_dump
+dumps binary cache metadata created by
+the device-mapper cache target on a
+.I device
+or
+.I file
+to standard output for
+analysis or postprocessing in XML format.
+XML formated metadata can be fed into cache_restore (see
+.BR cache_restore(8) )
+in order to put it back onto a metadata
+.I device
+(to process by the device-mapper target) or
+.I file.
+
+.IP "\fB\-r, \-\-repair\fP".
+Repair the metadata whilst dumping it.
+
+.IP "\fB\-h, \-\-help\fP".
+Print help and exit.
+
+.IP "\fB\-V, \-\-version\fP".
+Output version information and exit.
+
+.SH EXAMPLES
+Dumps the cache metadata on logical volume /dev/vg/metadata
+to standard output in XML format:
+.sp
+.B cache_dump /dev/vg/metadata
+
+.SH EXAMPLES
+Dumps the cache metadata on logical volume /dev/vg/metadata
+whilst repairing it to standard output in XML format:
+.sp
+.B cache_dump --repair /dev/vg/metadata
+
+.SH DIAGNOSTICS
+.B cache_dump
+returns an exit code of 0 for success or 1 for error.
+
+.SH SEE ALSO
+.B cache_check(8)
+.B cache_repair(8)
+.B cache_restore(8)
+
+.SH AUTHOR
+Joe Thornber <ejt@redhat.com>
+.br
+Heinz Mauelshagen <HeinzM@RedHat.com>
diff --git a/man8/cache_repair.8 b/man8/cache_repair.8
new file mode 100644
index 0000000..ef04a7f
--- /dev/null
+++ b/man8/cache_repair.8
@@ -0,0 +1,61 @@
+.TH CACHE_REPAIR 8 "Thin Provisioning Tools" "Red Hat, Inc." \" -*- nroff -*-
+.SH NAME
+cache_repair \- repair cache binary metadata from device/file to device/file
+
+.SH SYNOPSIS
+.B cache_repair
+.RB [ options ]
+.RB -i
+.I {device|file}
+.RB -o
+.I {device|file}
+
+.SH DESCRIPTION
+.B cache_repair
+reads binary cache metadata created by the
+respective device-mapper target from one
+.I device
+or
+.I file
+, repairs it and writes it to another
+.I device
+or
+.I file.
+If written to a metadata
+.I device
+, the metadata can be processed
+by the device-mapper target.
+
+.IP "\fB\-i, \-\-input\fP \fI{device|file}\fP"
+Input file or device with binary metadata.
+
+.IP "\fB\-o, \-\-output\fP \fI{device|file}\fP"
+Output file or device for repaired binary metadata.
+
+.IP "\fB\-h, \-\-help\fP"
+Print help and exit.
+
+.IP "\fB\-V, \-\-version\fP"
+Output version information and exit.
+
+.SH EXAMPLE
+Reads the binary cache metadata from file
+.B metadata
+, repairs it and writes it to logical volume /dev/vg/metadata
+for further processing by the respective device-mapper target:
+.sp
+.B cache_repair -i metadata -o /dev/vg/metadata
+
+.SH DIAGNOSTICS
+.B cache_repair
+returns an exit code of 0 for success or 1 for error.
+
+.SH SEE ALSO
+.B cache_dump(8)
+.B cache_check(8)
+.B cache_restore(8)
+
+.SH AUTHOR
+Joe Thornber <ejt@redhat.com>
+.br
+Heinz Mauelshagen <HeinzM@RedHat.com>
diff --git a/man8/cache_restore.8 b/man8/cache_restore.8
new file mode 100644
index 0000000..5f9fdca
--- /dev/null
+++ b/man8/cache_restore.8
@@ -0,0 +1,64 @@
+.TH CACHE_RESTORE 8 "Thin Provisioning Tools" "Red Hat, Inc." \" -*- nroff -*-
+.SH NAME
+cache_restore \- restore cache metadata file to device or file
+
+.SH SYNOPSIS
+.B cache_restore
+.RB [ options ]
+.RB -i
+.I {device|file}
+.RB -o
+.I {device|file}
+
+.SH DESCRIPTION
+.B cache_restore
+restores cache metadata created by the respective
+device-mapper target dumped into an XML formatted (see
+.BR cache_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\-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{\-\-debug-override-metadata-version}\fP \fI<integer>\fP"
+ONLY FOR DEBUGGING PURPOSES:
+.br
+override the version stored in the metadata.
+
+.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 cache metadata on file
+.B metadata
+to logical volume /dev/vg/metadata for further processing by the
+respective device-mapper target:
+.sp
+.B cache_restore -i metadata -o /dev/vg/metadata
+
+.SH DIAGNOSTICS
+.B cache_restore
+returns an exit code of 0 for success or 1 for error.
+
+.SH SEE ALSO
+.B cache_dump(8)
+.B cache_check(8)
+.B cache_repair(8)
+
+.SH AUTHOR
+Joe Thornber <ejt@redhat.com>
+.br
+Heinz Mauelshagen <HeinzM@RedHat.com>

View File

@ -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")

View File

@ -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.

View File

@ -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 <ejt@redhat.com>
+.br
+Heinz Mauelshagen <HeinzM@RedHat.com>
--- 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 <sectors>\fP
+Block size of cache in units of sectors.
+
+.IP "\fB\\-\-device\-size <sectors>\fP
+Device size of the cache device in units of sectors.
+
+.IP "\fB\\-\-nr\-blocks <natural>\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 <HeinzM@RedHat.com>

View File

@ -1,24 +1,34 @@
#
# Copyright (C) 2011-2013 Red Hat, Inc
# Copyright (C) 2011-2014 Red Hat, Inc
#
Summary: Device-mapper thin provisioning tools
Summary: Device-mapper Persistent Data Tools
Name: device-mapper-persistent-data
Version: 0.2.3
Release: 1%{?dist}
Version: 0.4.1
Release: 2%{?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
# Source1: https://github.com/jthornber/thin-provisioning-tools/archive/v%{version}.tar.gz
BuildRequires: autoconf, expat-devel, libstdc++-devel, boost-devel
BuildRequires: autoconf, expat-devel, libaio-devel, libstdc++-devel, boost-devel
Requires: expat
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
%description
thin-provisioning-tools contains check,dump,restore,repair,rmap and metadata_size
tools to manage device-mapper thin provisioning target metadata devices.
thin-provisioning-tools contains check,dump,restore,repair,rmap
and metadata_size tools to manage device-mapper thin provisioning
target metadata devices; cache check,dump,metadata_size,restore
and repair tools to manage device-mapper cache metadata devices
are included and era check, dump, restore and invalidate to manage
snapshot eras
%prep
%setup -q -n thin-provisioning-tools-%{version}
%patch0 -p1
%patch1 -p1
%patch2 -p1
echo %{version}-%{release} > VERSION
%build
@ -33,20 +43,53 @@ make DESTDIR=%{buildroot} MANDIR=%{_mandir} install
%files
%doc COPYING README.md
%{_mandir}/man8/cache_check.8.gz
%{_mandir}/man8/cache_dump.8.gz
%{_mandir}/man8/cache_restore.8.gz
%{_mandir}/man8/cache_repair.8.gz
%{_mandir}/man8/era_check.8.gz
%{_mandir}/man8/era_dump.8.gz
%{_mandir}/man8/era_invalidate.8.gz
%{_mandir}/man8/thin_check.8.gz
%{_mandir}/man8/thin_dump.8.gz
%{_mandir}/man8/thin_metadata_size.8.gz
%{_mandir}/man8/thin_repair.8.gz
%{_mandir}/man8/thin_restore.8.gz
%{_mandir}/man8/thin_repair.8.gz
%{_mandir}/man8/thin_rmap.8.gz
%{_sbindir}/pdata_tools
%{_sbindir}/cache_check
%{_sbindir}/cache_dump
%{_sbindir}/cache_metadata_size
%{_sbindir}/cache_restore
%{_sbindir}/cache_repair
%{_sbindir}/era_check
%{_sbindir}/era_dump
%{_sbindir}/era_restore
%{_sbindir}/era_invalidate
%{_sbindir}/thin_check
%{_sbindir}/thin_dump
%{_sbindir}/thin_metadata_size
%{_sbindir}/thin_repair
%{_sbindir}/thin_restore
%{_sbindir}/thin_repair
%{_sbindir}/thin_rmap
%changelog
* Wed Nov 12 2014 Heinz Mauelshagen <heinzm@redhat.com> - 0.4.1-2
- Resolves: bz#1159466
* Tue Oct 28 2014 Heinz Mauelshagen <heinzm@redhat.com> - 0.4.1-1
- New upstream version
- Manual header additions/fixes
* Wed May 28 2014 Heinz Mauelshagen <heinzm@redhat.com> - 0.3.2-1
- New upstream version 0.3.2 introducing era_{check,dump,invalidate}
* Fri Oct 18 2013 Heinz Mauelshagen <heinzm@redhat.com> - 0.2.8-1
- New upstream version 0.2.8 introducing cache_{check,dump,repair,restore}
* Tue Sep 17 2013 Heinz Mauelshagen <heinzm@redhat.com> - 0.2.7-1
- New upstream version 0.2.7
* Wed Jul 31 2013 Heinz Mauelshagen <heinzm@redhat.com> - 0.2.3-1
- New upstream version

View File

@ -1 +1 @@
3ed92934d518c69ab724cc6e165a5706 thin-provisioning-tools-v0.2.3.tar.bz2
a1d5ac4bd865360dff6ac20ec00573cc thin-provisioning-tools-v0.4.1.tar.bz2