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_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: $(PROGRAMS)
|
||||
$(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
|
||||
|
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.
|
||||
//
|
||||
// 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 {
|
||||
public:
|
||||
BOOST_STATIC_ASSERT((Alignment > 1) & !(Alignment & (Alignment - 1)));
|
||||
|
@ -21,6 +21,7 @@
|
||||
#include "persistent-data/space-maps/recursive.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/endian_utils.h"
|
||||
#include "persistent-data/math_utils.h"
|
||||
|
@ -19,8 +19,7 @@
|
||||
#ifndef SPACE_MAP_DISK_H
|
||||
#define SPACE_MAP_DISK_H
|
||||
|
||||
// FIXME: why is btree_checker needed?
|
||||
#include "persistent-data/data-structures/btree_checker.h"
|
||||
#include "persistent-data/transaction_manager.h"
|
||||
#include "persistent-data/space_map.h"
|
||||
|
||||
//----------------------------------------------------------------
|
||||
|
@ -17,10 +17,9 @@
|
||||
// <http://www.gnu.org/licenses/>.
|
||||
|
||||
#include "gmock/gmock.h"
|
||||
#include "persistent-data/space-maps/disk.h"
|
||||
#include "persistent-data/endian_utils.h"
|
||||
|
||||
using namespace base;
|
||||
using namespace persistent_data;
|
||||
using namespace std;
|
||||
using namespace testing;
|
||||
|
||||
|
Loading…
Reference in New Issue
Block a user