Merge branch 'master' of github.com:jthornber/thin-provisioning-tools
This commit is contained in:
commit
15627ecd69
@ -299,6 +299,10 @@ distclean: clean
|
|||||||
|
|
||||||
install: $(PROGRAMS)
|
install: $(PROGRAMS)
|
||||||
$(INSTALL_DIR) $(BINDIR)
|
$(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_check $(BINDIR)
|
||||||
$(INSTALL_PROGRAM) thin_dump $(BINDIR)
|
$(INSTALL_PROGRAM) thin_dump $(BINDIR)
|
||||||
$(INSTALL_PROGRAM) thin_repair $(BINDIR)
|
$(INSTALL_PROGRAM) thin_repair $(BINDIR)
|
||||||
@ -306,6 +310,10 @@ install: $(PROGRAMS)
|
|||||||
$(INSTALL_PROGRAM) thin_rmap $(BINDIR)
|
$(INSTALL_PROGRAM) thin_rmap $(BINDIR)
|
||||||
$(INSTALL_PROGRAM) thin_metadata_size $(BINDIR)
|
$(INSTALL_PROGRAM) thin_metadata_size $(BINDIR)
|
||||||
$(INSTALL_DIR) $(MANPATH)/man8
|
$(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_check.8 $(MANPATH)/man8
|
||||||
$(INSTALL_DATA) man8/thin_dump.8 $(MANPATH)/man8
|
$(INSTALL_DATA) man8/thin_dump.8 $(MANPATH)/man8
|
||||||
$(INSTALL_DATA) man8/thin_repair.8 $(MANPATH)/man8
|
$(INSTALL_DATA) man8/thin_repair.8 $(MANPATH)/man8
|
||||||
|
62
man8/cache_check.8
Normal file
62
man8/cache_check.8
Normal file
@ -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>
|
59
man8/cache_dump.8
Normal file
59
man8/cache_dump.8
Normal file
@ -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>
|
61
man8/cache_repair.8
Normal file
61
man8/cache_repair.8
Normal file
@ -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>
|
64
man8/cache_restore.8
Normal file
64
man8/cache_restore.8
Normal file
@ -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>
|
@ -41,7 +41,7 @@ namespace persistent_data {
|
|||||||
// guarantees.
|
// guarantees.
|
||||||
//
|
//
|
||||||
// Alignment must be a power of two.
|
// Alignment must be a power of two.
|
||||||
template <uint32_t Size = DEFAULT_BUFFER_SIZE, uint32_t Alignment = 512>
|
template <uint32_t Size = DEFAULT_BUFFER_SIZE, uint32_t Alignment = 4096>
|
||||||
class buffer : private boost::noncopyable {
|
class buffer : private boost::noncopyable {
|
||||||
public:
|
public:
|
||||||
BOOST_STATIC_ASSERT((Alignment > 1) & !(Alignment & (Alignment - 1)));
|
BOOST_STATIC_ASSERT((Alignment > 1) & !(Alignment & (Alignment - 1)));
|
||||||
|
@ -21,6 +21,7 @@
|
|||||||
#include "persistent-data/space-maps/recursive.h"
|
#include "persistent-data/space-maps/recursive.h"
|
||||||
#include "persistent-data/space-maps/careful_alloc.h"
|
#include "persistent-data/space-maps/careful_alloc.h"
|
||||||
|
|
||||||
|
#include "persistent-data/data-structures/btree_checker.h"
|
||||||
#include "persistent-data/checksum.h"
|
#include "persistent-data/checksum.h"
|
||||||
#include "persistent-data/endian_utils.h"
|
#include "persistent-data/endian_utils.h"
|
||||||
#include "persistent-data/math_utils.h"
|
#include "persistent-data/math_utils.h"
|
||||||
|
@ -19,8 +19,7 @@
|
|||||||
#ifndef SPACE_MAP_DISK_H
|
#ifndef SPACE_MAP_DISK_H
|
||||||
#define SPACE_MAP_DISK_H
|
#define SPACE_MAP_DISK_H
|
||||||
|
|
||||||
// FIXME: why is btree_checker needed?
|
#include "persistent-data/transaction_manager.h"
|
||||||
#include "persistent-data/data-structures/btree_checker.h"
|
|
||||||
#include "persistent-data/space_map.h"
|
#include "persistent-data/space_map.h"
|
||||||
|
|
||||||
//----------------------------------------------------------------
|
//----------------------------------------------------------------
|
||||||
|
@ -17,10 +17,9 @@
|
|||||||
// <http://www.gnu.org/licenses/>.
|
// <http://www.gnu.org/licenses/>.
|
||||||
|
|
||||||
#include "gmock/gmock.h"
|
#include "gmock/gmock.h"
|
||||||
#include "persistent-data/space-maps/disk.h"
|
#include "persistent-data/endian_utils.h"
|
||||||
|
|
||||||
using namespace base;
|
using namespace base;
|
||||||
using namespace persistent_data;
|
|
||||||
using namespace std;
|
using namespace std;
|
||||||
using namespace testing;
|
using namespace testing;
|
||||||
|
|
||||||
|
Loading…
Reference in New Issue
Block a user