Blame device-mapper-persistent-data-0.2.1-man-pages-new-thin_metadata_size-and-fixes.patch

Heinz Mauelshagen afcf52a
diff --git a/Makefile.in b/Makefile.in
Heinz Mauelshagen afcf52a
index 1e7bd54..b44cbd7 100644
Heinz Mauelshagen afcf52a
--- a/Makefile.in
Heinz Mauelshagen afcf52a
+++ b/Makefile.in
Heinz Mauelshagen afcf52a
@@ -264,7 +264,10 @@ install: $(PROGRAMS)
Heinz Mauelshagen afcf52a
 	$(INSTALL_DIR) $(MANPATH)/man8
Heinz Mauelshagen afcf52a
 	$(INSTALL_DATA) man8/thin_check.8 $(MANPATH)/man8
Heinz Mauelshagen afcf52a
 	$(INSTALL_DATA) man8/thin_dump.8 $(MANPATH)/man8
Heinz Mauelshagen afcf52a
+	$(INSTALL_DATA) man8/thin_repair.8 $(MANPATH)/man8
Heinz Mauelshagen afcf52a
 	$(INSTALL_DATA) man8/thin_restore.8 $(MANPATH)/man8
Heinz Mauelshagen afcf52a
+	$(INSTALL_DATA) man8/thin_rmap.8 $(MANPATH)/man8
Heinz Mauelshagen afcf52a
+	$(INSTALL_DATA) man8/thin_metadata_size.8 $(MANPATH)/man8
Heinz Mauelshagen afcf52a
 
Heinz Mauelshagen afcf52a
 .PHONY: install
Heinz Mauelshagen afcf52a
 
Heinz Mauelshagen afcf52a
diff --git a/man8/thin_check.8 b/man8/thin_check.8
Heinz Mauelshagen afcf52a
index f9606e0..1489078 100644
Heinz Mauelshagen afcf52a
--- a/man8/thin_check.8
Heinz Mauelshagen afcf52a
+++ b/man8/thin_check.8
Heinz Mauelshagen afcf52a
@@ -55,7 +55,10 @@ returns an exit code of 0 for success or 1 for error.
Heinz Mauelshagen afcf52a
 
Heinz Mauelshagen afcf52a
 .SH SEE ALSO
Heinz Mauelshagen afcf52a
 .B thin_dump(8)
Heinz Mauelshagen afcf52a
+.B thin_repair(8)
Heinz Mauelshagen afcf52a
 .B thin_restore(8)
Heinz Mauelshagen afcf52a
+.B thin_rmap(8)
Heinz Mauelshagen afcf52a
+.B thin_metadata_size(8)
Heinz Mauelshagen afcf52a
 
Heinz Mauelshagen afcf52a
 .SH AUTHOR
Heinz Mauelshagen afcf52a
 Joe Thornber <ejt@redhat.com>
Heinz Mauelshagen afcf52a
diff --git a/man8/thin_dump.8 b/man8/thin_dump.8
Heinz Mauelshagen afcf52a
index 697df83..e60a6e5 100644
Heinz Mauelshagen afcf52a
--- a/man8/thin_dump.8
Heinz Mauelshagen afcf52a
+++ b/man8/thin_dump.8
Heinz Mauelshagen afcf52a
@@ -9,7 +9,8 @@ thin_dump \- dump thin provisioning metadata from device or file to standard out
Heinz Mauelshagen afcf52a
 
Heinz Mauelshagen afcf52a
 .SH DESCRIPTION
Heinz Mauelshagen afcf52a
 .B thin_dump
Heinz Mauelshagen afcf52a
-dumps thin provisioning metadata created by the device-mapper
Heinz Mauelshagen afcf52a
+dumps binary thin provisioning metadata (optionally from alternate block;
Heinz Mauelshagen afcf52a
+see option \-\-metadata-snap) created by the device-mapper
Heinz Mauelshagen afcf52a
 thin provisioning target on a device or file to standard output for
Heinz Mauelshagen afcf52a
 analysis or postprocessing in either XML or human readable format.
Heinz Mauelshagen afcf52a
 XML formated metadata can be fed into thin_restore (see
Heinz Mauelshagen afcf52a
@@ -22,6 +23,10 @@ Print output in XML or human readable format.
Heinz Mauelshagen afcf52a
 
Heinz Mauelshagen afcf52a
 .IP "\fB\-r, \-\-repair\fP".
Heinz Mauelshagen afcf52a
 
Heinz Mauelshagen afcf52a
+.IP "\fB\-m, \-\-metadata_snap\fP block#".
Heinz Mauelshagen afcf52a
+Dump metadata snapshot created by device-mapper thin provisioning target at block#
Heinz Mauelshagen afcf52a
+
Heinz Mauelshagen afcf52a
+
Heinz Mauelshagen afcf52a
 .IP "\fB\-h, \-\-help\fP".
Heinz Mauelshagen afcf52a
 Print help and exit.
Heinz Mauelshagen afcf52a
 
Heinz Mauelshagen afcf52a
@@ -45,8 +50,10 @@ returns an exit code of 0 for success or 1 for error.
Heinz Mauelshagen afcf52a
 
Heinz Mauelshagen afcf52a
 .SH SEE ALSO
Heinz Mauelshagen afcf52a
 .B thin_check(8)
Heinz Mauelshagen afcf52a
+.B thin_repair(8)
Heinz Mauelshagen afcf52a
 .B thin_restore(8)
Heinz Mauelshagen afcf52a
-
Heinz Mauelshagen afcf52a
+.B thin_rmap(8)
Heinz Mauelshagen afcf52a
+.B thin_metadata_size(8)
Heinz Mauelshagen afcf52a
 .SH AUTHOR
Heinz Mauelshagen afcf52a
 Joe Thornber <ejt@redhat.com>
Heinz Mauelshagen afcf52a
 .br
Heinz Mauelshagen afcf52a
diff --git a/man8/thin_metadata_size.8 b/man8/thin_metadata_size.8
Heinz Mauelshagen afcf52a
new file mode 100644
Heinz Mauelshagen afcf52a
index 0000000..33b36b3
Heinz Mauelshagen afcf52a
--- /dev/null
Heinz Mauelshagen afcf52a
+++ b/man8/thin_metadata_size.8
Heinz Mauelshagen afcf52a
@@ -0,0 +1,77 @@
Heinz Mauelshagen afcf52a
+.TH THIN_METADATA_SIZE 8 "Thin Provisioning Tools" "Red Hat, Inc." \" -*- nroff -*-
Heinz Mauelshagen afcf52a
+.SH NAME
Heinz Mauelshagen afcf52a
+thin_metadata_size \- thin provisioning metadata file/device size calculator.
Heinz Mauelshagen afcf52a
+
Heinz Mauelshagen afcf52a
+.SH SYNOPSIS
Heinz Mauelshagen afcf52a
+.B thin_metadata_size
Heinz Mauelshagen afcf52a
+.RB [ options ]
Heinz Mauelshagen afcf52a
+
Heinz Mauelshagen afcf52a
+.SH DESCRIPTION
Heinz Mauelshagen afcf52a
+.B thin_metadata_size
Heinz Mauelshagen afcf52a
+calculates the size of the thin provisioning metadata based on the block size
Heinz Mauelshagen afcf52a
+of the thin provisioned devices, the size of the thin provisioning pool and
Heinz Mauelshagen afcf52a
+the maximum number of all thin prisioned devices and snapshots. Size/number
Heinz Mauelshagen afcf52a
+option arguments can be followed by unit specifiers in short one character
Heinz Mauelshagen afcf52a
+and long form (eg. -b1m or -b1megabytes).
Heinz Mauelshagen afcf52a
+
Heinz Mauelshagen afcf52a
+.IP "\fB\-b, \-\-block-size\fP \fIBLOCKSIZE[bskKmMgGtTpPeEzZyY]\fP"
Heinz Mauelshagen afcf52a
+Block size of thin provisioned devices in units of bytes,sectors,kilobytes,kibibytes,... respectively.
Heinz Mauelshagen afcf52a
+Default is in sectors without a block size unit specifier.
Heinz Mauelshagen afcf52a
+
Heinz Mauelshagen afcf52a
+.IP "\fB\-s, \-\-pool-size\fP \fIPOOLSIZE[bskKmMgGtTpPeEzZyY]\fP"
Heinz Mauelshagen afcf52a
+Thin provisioning pool size in units of bytes,sectors,kilobytes,kibibytes,... respectively.
Heinz Mauelshagen afcf52a
+Default is in sectors without a pool size unit specifier.
Heinz Mauelshagen afcf52a
+
Heinz Mauelshagen afcf52a
+.IP "\fB\-m, \-\-max-thins\fP \fI#[bskKmMgGtTpPeEzZyY]\fP"
Heinz Mauelshagen afcf52a
+Maximum sum of all thin provisioned devices and snapshots.
Heinz Mauelshagen afcf52a
+Unit identifier supported to allow for convenient entry of large quantities, eg. 1000000 = 1M.
Heinz Mauelshagen afcf52a
+Default is absolut quantity without a number unit specifier.
Heinz Mauelshagen afcf52a
+
Heinz Mauelshagen afcf52a
+.IP "\fB\-u, \-\-unit\fP \fI{bskKmMgGtTpPeEzZyY}\fP"
Heinz Mauelshagen afcf52a
+Output unit specifier in units of bytes,sectors,kilobytes,kibibytes,... respectively.
Heinz Mauelshagen afcf52a
+Default is in sectors without an output unit specifier.
Heinz Mauelshagen afcf52a
+
Heinz Mauelshagen afcf52a
+.IP "\fB\-n, \-\-numeric-only [short|long]\fP"
Heinz Mauelshagen afcf52a
+Limit output to just the size number with the optional unit specifier character/string.
Heinz Mauelshagen afcf52a
+
Heinz Mauelshagen afcf52a
+.IP "\fB\-h, \-\-help\fP"
Heinz Mauelshagen afcf52a
+Print help and exit.
Heinz Mauelshagen afcf52a
+
Heinz Mauelshagen afcf52a
+.IP "\fB\-V, \-\-version\fP"
Heinz Mauelshagen afcf52a
+Output version information and exit.
Heinz Mauelshagen afcf52a
+
Heinz Mauelshagen afcf52a
+.SH EXAMPLES
Heinz Mauelshagen afcf52a
+Calculates the thin privisioning metadata device size for block size 64 kilobytes,
Heinz Mauelshagen afcf52a
+pool size 1 terabytes and maximum number of thin provisioned devices and snapshots of 1000
Heinz Mauelshagen afcf52a
+in units of sectors with long output:
Heinz Mauelshagen afcf52a
+.sp
Heinz Mauelshagen afcf52a
+.B thin_metadata_size -b64k -s1t -m1000
Heinz Mauelshagen afcf52a
+
Heinz Mauelshagen afcf52a
+Or (using the long options instead) for block size 1 gigabyte, pool size 1 petabytes and maximum number of thin provisioned devices
Heinz Mauelshagen afcf52a
+and snapshots of 1 million with numeric only output in units of gigabytes:
Heinz Mauelshagen afcf52a
+.sp
Heinz Mauelshagen afcf52a
+.B thin_metadata_size --block-size=1g --pool-size=1p --max-thins=1M --unit=g --numeric-only
Heinz Mauelshagen afcf52a
+
Heinz Mauelshagen afcf52a
+Same as before (1g,1p,1M,numeric-only) but with unit specifier character appended:
Heinz Mauelshagen afcf52a
+.sp
Heinz Mauelshagen afcf52a
+.B thin_metadata_size --block-size=1giga --pool-size=1petabytes --max-thins=1mebi --unit=g --numeric-only=short
Heinz Mauelshagen afcf52a
+
Heinz Mauelshagen afcf52a
+Or with unit specifier string appended:
Heinz Mauelshagen afcf52a
+.sp
Heinz Mauelshagen afcf52a
+.B thin_metadata_size --block-size=1giga --pool-size=1petabytes --max-thins=1mebi --unit=g -nlong
Heinz Mauelshagen afcf52a
+
Heinz Mauelshagen afcf52a
+.SH DIAGNOSTICS
Heinz Mauelshagen afcf52a
+.B thin_metadata_size
Heinz Mauelshagen afcf52a
+returns an exit code of 0 for success or 1 for error.
Heinz Mauelshagen afcf52a
+
Heinz Mauelshagen afcf52a
+.SH SEE ALSO
Heinz Mauelshagen afcf52a
+.B thin_dump(8)
Heinz Mauelshagen afcf52a
+.B thin_check(8)
Heinz Mauelshagen afcf52a
+.B thin_repair(8)
Heinz Mauelshagen afcf52a
+.B thin_restore(8)
Heinz Mauelshagen afcf52a
+.B thin_rmap(8)
Heinz Mauelshagen afcf52a
+
Heinz Mauelshagen afcf52a
+.SH AUTHOR
Heinz Mauelshagen afcf52a
+Joe Thornber <ejt@redhat.com>
Heinz Mauelshagen afcf52a
+.br
Heinz Mauelshagen afcf52a
+Heinz Mauelshagen <HeinzM@RedHat.com>
Heinz Mauelshagen afcf52a
diff --git a/man8/thin_repair.8 b/man8/thin_repair.8
Heinz Mauelshagen afcf52a
new file mode 100644
Heinz Mauelshagen afcf52a
index 0000000..69cddea
Heinz Mauelshagen afcf52a
--- /dev/null
Heinz Mauelshagen afcf52a
+++ b/man8/thin_repair.8
Heinz Mauelshagen afcf52a
@@ -0,0 +1,54 @@
Heinz Mauelshagen afcf52a
+.TH THIN_REPAIR 8 "Thin Provisioning Tools" "Red Hat, Inc." \" -*- nroff -*-
Heinz Mauelshagen afcf52a
+.SH NAME
Heinz Mauelshagen afcf52a
+thin_repair \- repair thin provisioning binary metadata from device/file to device/file
Heinz Mauelshagen afcf52a
+
Heinz Mauelshagen afcf52a
+.SH SYNOPSIS
Heinz Mauelshagen afcf52a
+.B thin_repair
Heinz Mauelshagen afcf52a
+.RB [ options ]
Heinz Mauelshagen afcf52a
+.RB -i
Heinz Mauelshagen afcf52a
+.I {device|file}
Heinz Mauelshagen afcf52a
+.RB -o
Heinz Mauelshagen afcf52a
+.I {device|file}
Heinz Mauelshagen afcf52a
+
Heinz Mauelshagen afcf52a
+.SH DESCRIPTION
Heinz Mauelshagen afcf52a
+.B thin_repair
Heinz Mauelshagen afcf52a
+repairs binary thin provisioning metadata created by the
Heinz Mauelshagen afcf52a
+respective device-mapper target processing to another device or file.
Heinz Mauelshagen afcf52a
+If repaired to a metadata device, the metadata can be processed
Heinz Mauelshagen afcf52a
+by the device-mapper target.
Heinz Mauelshagen afcf52a
+
Heinz Mauelshagen afcf52a
+.IP "\fB\-i, \-\-input\fP \fI{device|file}\fP"
Heinz Mauelshagen afcf52a
+Input file or device with binary metadata.
Heinz Mauelshagen afcf52a
+
Heinz Mauelshagen afcf52a
+.IP "\fB\-o, \-\-output\fP \fI{device|file}\fP"
Heinz Mauelshagen afcf52a
+Output file or device for repaired binary metadata.
Heinz Mauelshagen afcf52a
+
Heinz Mauelshagen afcf52a
+.IP "\fB\-h, \-\-help\fP"
Heinz Mauelshagen afcf52a
+Print help and exit.
Heinz Mauelshagen afcf52a
+
Heinz Mauelshagen afcf52a
+.IP "\fB\-V, \-\-version\fP"
Heinz Mauelshagen afcf52a
+Output version information and exit.
Heinz Mauelshagen afcf52a
+
Heinz Mauelshagen afcf52a
+.SH EXAMPLE
Heinz Mauelshagen afcf52a
+Repairs the binary thin provisioning metadata on file
Heinz Mauelshagen afcf52a
+.B metadata
Heinz Mauelshagen afcf52a
+to logical volume /dev/vg/metadata for further processing by the
Heinz Mauelshagen afcf52a
+respective device-mapper target:
Heinz Mauelshagen afcf52a
+.sp
Heinz Mauelshagen afcf52a
+.B thin_repair -i metadata -o /dev/vg/metadata
Heinz Mauelshagen afcf52a
+
Heinz Mauelshagen afcf52a
+.SH DIAGNOSTICS
Heinz Mauelshagen afcf52a
+.B thin_repair
Heinz Mauelshagen afcf52a
+returns an exit code of 0 for success or 1 for error.
Heinz Mauelshagen afcf52a
+
Heinz Mauelshagen afcf52a
+.SH SEE ALSO
Heinz Mauelshagen afcf52a
+.B thin_dump(8)
Heinz Mauelshagen afcf52a
+.B thin_check(8)
Heinz Mauelshagen afcf52a
+.B thin_restore(8)
Heinz Mauelshagen afcf52a
+.B thin_rmap(8)
Heinz Mauelshagen afcf52a
+.B thin_metadata_size(8)
Heinz Mauelshagen afcf52a
+
Heinz Mauelshagen afcf52a
+.SH AUTHOR
Heinz Mauelshagen afcf52a
+Joe Thornber <ejt@redhat.com>
Heinz Mauelshagen afcf52a
+.br
Heinz Mauelshagen afcf52a
+Heinz Mauelshagen <HeinzM@RedHat.com>
Heinz Mauelshagen afcf52a
diff --git a/man8/thin_restore.8 b/man8/thin_restore.8
Heinz Mauelshagen afcf52a
index b4a07aa..8ab2976 100644
Heinz Mauelshagen afcf52a
--- a/man8/thin_restore.8
Heinz Mauelshagen afcf52a
+++ b/man8/thin_restore.8
Heinz Mauelshagen afcf52a
@@ -40,12 +40,15 @@ respective device-mapper target:
Heinz Mauelshagen afcf52a
 .B thin_restore -i metadata -o /dev/vg/metadata
Heinz Mauelshagen afcf52a
 
Heinz Mauelshagen afcf52a
 .SH DIAGNOSTICS
Heinz Mauelshagen afcf52a
-.B thin_dump
Heinz Mauelshagen afcf52a
+.B thin_restore
Heinz Mauelshagen afcf52a
 returns an exit code of 0 for success or 1 for error.
Heinz Mauelshagen afcf52a
 
Heinz Mauelshagen afcf52a
 .SH SEE ALSO
Heinz Mauelshagen afcf52a
 .B thin_dump(8)
Heinz Mauelshagen afcf52a
 .B thin_check(8)
Heinz Mauelshagen afcf52a
+.B thin_repair(8)
Heinz Mauelshagen afcf52a
+.B thin_rmap(8)
Heinz Mauelshagen afcf52a
+.B thin_metadata_size(8)
Heinz Mauelshagen afcf52a
 
Heinz Mauelshagen afcf52a
 .SH AUTHOR
Heinz Mauelshagen afcf52a
 Joe Thornber <ejt@redhat.com>
Heinz Mauelshagen afcf52a
diff --git a/man8/thin_rmap.8 b/man8/thin_rmap.8
Heinz Mauelshagen afcf52a
new file mode 100644
Heinz Mauelshagen afcf52a
index 0000000..d68defb
Heinz Mauelshagen afcf52a
--- /dev/null
Heinz Mauelshagen afcf52a
+++ b/man8/thin_rmap.8
Heinz Mauelshagen afcf52a
@@ -0,0 +1,44 @@
Heinz Mauelshagen afcf52a
+.TH THIN_DUMP 8 "Thin Provisioning Tools" "Red Hat, Inc." \" -*- nroff -*-
Heinz Mauelshagen afcf52a
+.SH NAME
Heinz Mauelshagen afcf52a
+thin_rmap \- output reverse map of a thin provisioned region of blocks
Heinz Mauelshagen afcf52a
+
Heinz Mauelshagen afcf52a
+.SH SYNOPSIS
Heinz Mauelshagen afcf52a
+.B thin_rmap
Heinz Mauelshagen afcf52a
+.RB [options]
Heinz Mauelshagen afcf52a
+.I {metadata device|file}
Heinz Mauelshagen afcf52a
+
Heinz Mauelshagen afcf52a
+.SH DESCRIPTION
Heinz Mauelshagen afcf52a
+.B thin_rmap
Heinz Mauelshagen afcf52a
+outputs the reverse mapping for a region of thin provisioned pool blocks
Heinz Mauelshagen afcf52a
+to the respective thin provisioned devices.
Heinz Mauelshagen afcf52a
+
Heinz Mauelshagen afcf52a
+.IP "\fB\\-\-region\fP \fI<block range>\fP".
Heinz Mauelshagen afcf52a
+output reverse map
Heinz Mauelshagen afcf52a
+
Heinz Mauelshagen afcf52a
+.IP "\fB\-h, \-\-help\fP".
Heinz Mauelshagen afcf52a
+Print help and exit.
Heinz Mauelshagen afcf52a
+
Heinz Mauelshagen afcf52a
+.IP "\fB\-V, \-\-version\fP".
Heinz Mauelshagen afcf52a
+Output version information and exit.
Heinz Mauelshagen afcf52a
+
Heinz Mauelshagen afcf52a
+.SH EXAMPLES
Heinz Mauelshagen afcf52a
+output reverse map for pool blocks 5..45 (denotes blocks 5 to 44 inclusive, but not block 45)
Heinz Mauelshagen afcf52a
+
Heinz Mauelshagen afcf52a
+.sp
Heinz Mauelshagen afcf52a
+.B thin_rmap -r 5..45 /dev/vg/pool
Heinz Mauelshagen afcf52a
+
Heinz Mauelshagen afcf52a
+.SH DIAGNOSTICS
Heinz Mauelshagen afcf52a
+.B thin_rmap
Heinz Mauelshagen afcf52a
+returns an exit code of 0 for success or 1 for error.
Heinz Mauelshagen afcf52a
+
Heinz Mauelshagen afcf52a
+.SH SEE ALSO
Heinz Mauelshagen afcf52a
+.B thin_check(8)
Heinz Mauelshagen afcf52a
+.B thin_dump(8)
Heinz Mauelshagen afcf52a
+.B thin_repair(8)
Heinz Mauelshagen afcf52a
+.B thin_restore(8)
Heinz Mauelshagen afcf52a
+.B thin_metadata_size(8)
Heinz Mauelshagen afcf52a
+
Heinz Mauelshagen afcf52a
+.SH AUTHOR
Heinz Mauelshagen afcf52a
+Joe Thornber <ejt@redhat.com>
Heinz Mauelshagen afcf52a
+.br
Heinz Mauelshagen afcf52a
+Heinz Mauelshagen <HeinzM@RedHat.com>