import device-mapper-persistent-data-0.8.5-3.el8
This commit is contained in:
commit
3e20ed058f
1
.device-mapper-persistent-data.metadata
Normal file
1
.device-mapper-persistent-data.metadata
Normal file
@ -0,0 +1 @@
|
||||
250ac419422b2eb36a3de4af44d8d0a99aad8e69 SOURCES/v0.8.5.tar.gz
|
1
.gitignore
vendored
Normal file
1
.gitignore
vendored
Normal file
@ -0,0 +1 @@
|
||||
SOURCES/v0.8.5.tar.gz
|
15
SOURCES/device-mapper-persistent-data-avoid-strip.patch
Normal file
15
SOURCES/device-mapper-persistent-data-avoid-strip.patch
Normal file
@ -0,0 +1,15 @@
|
||||
Makefile.in | 1 -
|
||||
1 file changed, 1 deletion(-)
|
||||
|
||||
diff --git a/Makefile.in b/Makefile.in
|
||||
index 0aa9401..0f4f7cb 100644
|
||||
--- a/Makefile.in
|
||||
+++ b/Makefile.in
|
||||
@@ -262,7 +262,6 @@ MANPAGES:=$(patsubst %,man8/%.8,$(TOOLS))
|
||||
install: bin/pdata_tools $(MANPAGES)
|
||||
$(INSTALL_DIR) $(BINDIR)
|
||||
$(INSTALL_PROGRAM) bin/pdata_tools $(BINDIR)
|
||||
- $(STRIP) $(BINDIR)/pdata_tools
|
||||
ln -s -f pdata_tools $(BINDIR)/cache_check
|
||||
ln -s -f pdata_tools $(BINDIR)/cache_dump
|
||||
ln -s -f pdata_tools $(BINDIR)/cache_metadata_size
|
@ -0,0 +1,17 @@
|
||||
man8/thin_trim.txt | 3 ---
|
||||
1 file changed, 3 deletions(-)
|
||||
|
||||
diff --git a/man8/thin_trim.txt b/man8/thin_trim.txt
|
||||
index 1d24a06..e19d8bd 100644
|
||||
--- a/man8/thin_trim.txt
|
||||
+++ b/man8/thin_trim.txt
|
||||
@@ -12,9 +12,6 @@ DESCRIPTION
|
||||
OPTIONS
|
||||
-h, --help Print help and exit.
|
||||
-V, --version Print version information and exit.
|
||||
- --pool-inactive Indicates you are aware the pool should be inactive.
|
||||
-
|
||||
- Suppresses a warning message and prompt.
|
||||
|
||||
SEE ALSO
|
||||
thin_dump(8), thin_repair(8), thin_restore(8), thin_rmap(8), thin_metadata_size(8)
|
77
SOURCES/dmpd-tests-lib-bcache-rename-raise-raise_.patch
Normal file
77
SOURCES/dmpd-tests-lib-bcache-rename-raise-raise_.patch
Normal file
@ -0,0 +1,77 @@
|
||||
ft-lib/bcache.c | 16 ++++++++--------
|
||||
1 file changed, 8 insertions(+), 8 deletions(-)
|
||||
|
||||
diff --git a/ft-lib/bcache.c b/ft-lib/bcache.c
|
||||
index 0dca503..ee5b6c5 100644
|
||||
--- a/ft-lib/bcache.c
|
||||
+++ b/ft-lib/bcache.c
|
||||
@@ -31,7 +31,7 @@ static void warn(const char *fmt, ...)
|
||||
}
|
||||
|
||||
// FIXME: raise a condition somehow?
|
||||
-static void raise(const char *fmt, ...)
|
||||
+static void raise_(const char *fmt, ...)
|
||||
{
|
||||
va_list ap;
|
||||
|
||||
@@ -51,7 +51,7 @@ static inline struct list_head *list_pop(struct list_head *head)
|
||||
struct list_head *l;
|
||||
|
||||
if (head->next == head)
|
||||
- raise("list is empty\n");
|
||||
+ raise_("list is empty\n");
|
||||
|
||||
l = head->next;
|
||||
list_del(l);
|
||||
@@ -98,7 +98,7 @@ static struct cb_set *cb_set_create(unsigned nr)
|
||||
static void cb_set_destroy(struct cb_set *cbs)
|
||||
{
|
||||
if (!list_empty(&cbs->allocated))
|
||||
- raise("async io still in flight");
|
||||
+ raise_("async io still in flight");
|
||||
|
||||
free(cbs->vec);
|
||||
free(cbs);
|
||||
@@ -713,13 +713,13 @@ struct bcache *bcache_simple(const char *path, unsigned nr_cache_blocks)
|
||||
uint64_t s;
|
||||
|
||||
if (fd < 0) {
|
||||
- raise("couldn't open cache file");
|
||||
+ raise_("couldn't open cache file");
|
||||
return NULL;
|
||||
}
|
||||
|
||||
r = fstat(fd, &info);
|
||||
if (r < 0) {
|
||||
- raise("couldn't stat cache file");
|
||||
+ raise_("couldn't stat cache file");
|
||||
return NULL;
|
||||
}
|
||||
|
||||
@@ -751,7 +751,7 @@ void bcache_destroy(struct bcache *cache)
|
||||
static void check_index(struct bcache *cache, block_address index)
|
||||
{
|
||||
if (index >= cache->nr_data_blocks)
|
||||
- raise("block out of bounds (%llu >= %llu)",
|
||||
+ raise_("block out of bounds (%llu >= %llu)",
|
||||
(unsigned long long) index,
|
||||
(unsigned long long) cache->nr_data_blocks);
|
||||
}
|
||||
@@ -802,7 +802,7 @@ static struct block *lookup_or_read_block(struct bcache *cache,
|
||||
// FIXME: this is insufficient. We need to also catch a read
|
||||
// lock of a write locked block. Ref count needs to distinguish.
|
||||
if (b->ref_count && (flags & (GF_DIRTY | GF_ZERO)))
|
||||
- raise("concurrent write lock attempt");
|
||||
+ raise_("concurrent write lock attempt");
|
||||
|
||||
if (test_flags(b, BF_IO_PENDING)) {
|
||||
miss(cache, flags);
|
||||
@@ -858,7 +858,7 @@ struct block *get_block(struct bcache *cache, block_address index, unsigned flag
|
||||
return b;
|
||||
}
|
||||
|
||||
- raise("couldn't get block");
|
||||
+ raise_("couldn't get block");
|
||||
return NULL;
|
||||
}
|
||||
|
@ -0,0 +1,298 @@
|
||||
base/file_utils.cc | 4 ++--
|
||||
base/file_utils.h | 2 +-
|
||||
caching/cache_repair.cc | 8 +++++++-
|
||||
functional-tests/cache-functional-tests.scm | 32 ++++++++++++++++++++++++++---
|
||||
functional-tests/era-functional-tests.scm | 4 ++--
|
||||
functional-tests/functional-tests.scm | 4 ++--
|
||||
functional-tests/thin-functional-tests.scm | 27 ++++++++++++++++++++++--
|
||||
thin-provisioning/thin_repair.cc | 8 +++++++-
|
||||
8 files changed, 75 insertions(+), 14 deletions(-)
|
||||
|
||||
diff --git a/base/file_utils.cc b/base/file_utils.cc
|
||||
index ba8957c..7883cfe 100644
|
||||
--- a/base/file_utils.cc
|
||||
+++ b/base/file_utils.cc
|
||||
@@ -66,13 +66,13 @@ file_utils::file_exists(string const &path) {
|
||||
}
|
||||
|
||||
void
|
||||
-file_utils::check_file_exists(string const &file) {
|
||||
+file_utils::check_file_exists(string const &file, bool must_be_regular_file) {
|
||||
struct stat info;
|
||||
int r = ::stat(file.c_str(), &info);
|
||||
if (r)
|
||||
throw runtime_error("Couldn't stat file");
|
||||
|
||||
- if (!S_ISREG(info.st_mode))
|
||||
+ if (must_be_regular_file && !S_ISREG(info.st_mode))
|
||||
throw runtime_error("Not a regular file");
|
||||
}
|
||||
|
||||
diff --git a/base/file_utils.h b/base/file_utils.h
|
||||
index 2ee20ab..3edcc9e 100644
|
||||
--- a/base/file_utils.h
|
||||
+++ b/base/file_utils.h
|
||||
@@ -10,7 +10,7 @@
|
||||
namespace file_utils {
|
||||
int open_file(std::string const &path, int flags);
|
||||
bool file_exists(std::string const &path);
|
||||
- void check_file_exists(std::string const &file);
|
||||
+ void check_file_exists(std::string const &file, bool must_be_regular_file = true);
|
||||
int create_block_file(std::string const &path, off_t file_size);
|
||||
int open_block_file(std::string const &path, off_t min_size, bool writeable, bool excl = true);
|
||||
uint64_t get_file_length(std::string const &file);
|
||||
diff --git a/caching/cache_repair.cc b/caching/cache_repair.cc
|
||||
index 9587d5f..8a837a8 100644
|
||||
--- a/caching/cache_repair.cc
|
||||
+++ b/caching/cache_repair.cc
|
||||
@@ -2,6 +2,7 @@
|
||||
#include <getopt.h>
|
||||
#include <libgen.h>
|
||||
|
||||
+#include "base/file_utils.h"
|
||||
#include "base/output_file_requirements.h"
|
||||
#include "caching/commands.h"
|
||||
#include "caching/metadata.h"
|
||||
@@ -29,12 +30,17 @@ namespace {
|
||||
}
|
||||
|
||||
int repair(string const &old_path, string const &new_path) {
|
||||
+ bool metadata_touched = false;
|
||||
try {
|
||||
+ file_utils::check_file_exists(new_path, false);
|
||||
+ metadata_touched = true;
|
||||
metadata_dump(open_metadata_for_read(old_path),
|
||||
output_emitter(new_path),
|
||||
true);
|
||||
|
||||
} catch (std::exception &e) {
|
||||
+ if (metadata_touched)
|
||||
+ file_utils::zero_superblock(new_path);
|
||||
cerr << e.what() << endl;
|
||||
return 1;
|
||||
}
|
||||
@@ -110,7 +116,7 @@ cache_repair_cmd::run(int argc, char **argv)
|
||||
check_output_file_requirements(*output_path);
|
||||
|
||||
else {
|
||||
- cerr << "no output file provided" << endl;
|
||||
+ cerr << "No output file provided." << endl;
|
||||
usage(cerr);
|
||||
return 1;
|
||||
}
|
||||
diff --git a/functional-tests/cache-functional-tests.scm b/functional-tests/cache-functional-tests.scm
|
||||
index 0e70b94..9b3a203 100644
|
||||
--- a/functional-tests/cache-functional-tests.scm
|
||||
+++ b/functional-tests/cache-functional-tests.scm
|
||||
@@ -15,6 +15,7 @@
|
||||
(define-tool cache-dump)
|
||||
(define-tool cache-restore)
|
||||
(define-tool cache-metadata-size)
|
||||
+ (define-tool cache-repair)
|
||||
|
||||
(define-syntax with-cache-xml
|
||||
(syntax-rules ()
|
||||
@@ -35,7 +36,8 @@
|
||||
(syntax-rules ()
|
||||
((_ (md) b1 b2 ...)
|
||||
(with-temp-file-sized ((md "cache.bin" (to-bytes (meg 4))))
|
||||
- b1 b2 ...))))
|
||||
+ (system (fmt #f "dd if=/usr/bin/ls of=" md " bs=4096 > /dev/null 2>&1"))
|
||||
+ b1 b2 ...))))
|
||||
|
||||
(define-syntax with-empty-metadata
|
||||
(syntax-rules ()
|
||||
@@ -180,7 +182,7 @@
|
||||
"the input file can't be found"
|
||||
(with-empty-metadata (md)
|
||||
(run-fail-rcv (_ stderr) (cache-restore "-i no-such-file -o" md)
|
||||
- (assert-superblock-untouched md)
|
||||
+ (assert-superblock-all-zeroes md)
|
||||
(assert-starts-with "Couldn't stat file" stderr))))
|
||||
|
||||
(define-scenario (cache-restore garbage-input-file)
|
||||
@@ -188,7 +190,7 @@
|
||||
(with-empty-metadata (md)
|
||||
(with-temp-file-sized ((xml "cache.xml" 4096))
|
||||
(run-fail-rcv (_ stderr) (cache-restore "-i" xml "-o" md)
|
||||
- (assert-superblock-untouched md)))))
|
||||
+ (assert-superblock-all-zeroes md)))))
|
||||
|
||||
(define-scenario (cache-restore missing-output-file)
|
||||
"the output file can't be found"
|
||||
@@ -354,4 +356,28 @@
|
||||
(run-ok-rcv (stdout stderr) (cache-metadata-size "--nr-blocks 67108864")
|
||||
(assert-equal "3678208 sectors" stdout)
|
||||
(assert-eof stderr)))
|
||||
+
|
||||
+ ;;;-----------------------------------------------------------
|
||||
+ ;;; cache_repair scenarios
|
||||
+ ;;;-----------------------------------------------------------
|
||||
+ (define-scenario (cache-repair missing-input-file)
|
||||
+ "the input file can't be found"
|
||||
+ (with-empty-metadata (md)
|
||||
+ (run-fail-rcv (_ stderr) (cache-repair "-i no-such-file -o" md)
|
||||
+ (assert-superblock-all-zeroes md)
|
||||
+ (assert-starts-with "Couldn't stat path" stderr))))
|
||||
+
|
||||
+ (define-scenario (cache-repair garbage-input-file)
|
||||
+ "the input file is just zeroes"
|
||||
+ (with-empty-metadata (md1)
|
||||
+ (with-corrupt-metadata (md2)
|
||||
+ (run-fail-rcv (_ stderr) (cache-repair "-i" md1 "-o" md2)
|
||||
+ (assert-superblock-all-zeroes md2)))))
|
||||
+
|
||||
+ (define-scenario (cache-repair missing-output-file)
|
||||
+ "the output file can't be found"
|
||||
+ (with-cache-xml (xml)
|
||||
+ (run-fail-rcv (_ stderr) (cache-repair "-i" xml)
|
||||
+ (assert-starts-with "No output file provided." stderr))))
|
||||
+
|
||||
)
|
||||
diff --git a/functional-tests/era-functional-tests.scm b/functional-tests/era-functional-tests.scm
|
||||
index 373fe34..890f0ff 100644
|
||||
--- a/functional-tests/era-functional-tests.scm
|
||||
+++ b/functional-tests/era-functional-tests.scm
|
||||
@@ -153,7 +153,7 @@
|
||||
"the input file can't be found"
|
||||
(with-empty-metadata (md)
|
||||
(run-fail-rcv (_ stderr) (era-restore "-i no-such-file -o" md)
|
||||
- (assert-superblock-untouched md)
|
||||
+ (assert-superblock-all-zeroes md)
|
||||
(assert-starts-with "Couldn't stat file" stderr))))
|
||||
|
||||
(define-scenario (era-restore garbage-input-file)
|
||||
@@ -161,7 +161,7 @@
|
||||
(with-empty-metadata (md)
|
||||
(with-temp-file-sized ((xml "era.xml" 4096))
|
||||
(run-fail-rcv (_ stderr) (era-restore "-i " xml "-o" md)
|
||||
- (assert-superblock-untouched md)))))
|
||||
+ (assert-superblock-all-zeroes md)))))
|
||||
|
||||
(define-scenario (era-restore output-unspecified)
|
||||
"Fails if no metadata dev specified"
|
||||
diff --git a/functional-tests/functional-tests.scm b/functional-tests/functional-tests.scm
|
||||
index aa5b95c..758498e 100644
|
||||
--- a/functional-tests/functional-tests.scm
|
||||
+++ b/functional-tests/functional-tests.scm
|
||||
@@ -21,7 +21,7 @@
|
||||
assert-eof
|
||||
assert-starts-with
|
||||
assert-matches
|
||||
- assert-superblock-untouched
|
||||
+ assert-superblock-all-zeroes
|
||||
assert-member?
|
||||
assert-raises-thunk
|
||||
assert-raises
|
||||
@@ -259,7 +259,7 @@
|
||||
(loop (+ i 1))
|
||||
#f)))))
|
||||
|
||||
- (define (assert-superblock-untouched md)
|
||||
+ (define (assert-superblock-all-zeroes md)
|
||||
(with-bcache (cache md 1)
|
||||
(with-block (b cache 0 (get-flags))
|
||||
(unless (all-zeroes? (block-data b) 4096)
|
||||
diff --git a/functional-tests/thin-functional-tests.scm b/functional-tests/thin-functional-tests.scm
|
||||
index d096b78..6bb7d24 100644
|
||||
--- a/functional-tests/thin-functional-tests.scm
|
||||
+++ b/functional-tests/thin-functional-tests.scm
|
||||
@@ -37,10 +37,12 @@
|
||||
b1 b2 ...)))))
|
||||
|
||||
;;; It would be nice if the metadata was at least similar to valid data.
|
||||
+ ;;; Here I'm just using the start of the ls binary as 'random' data.
|
||||
(define-syntax with-corrupt-metadata
|
||||
(syntax-rules ()
|
||||
((_ (md) b1 b2 ...)
|
||||
(with-temp-file-sized ((md "thin.bin" (meg 4)))
|
||||
+ (system (fmt #f "dd if=/usr/bin/ls of=" md " bs=4096 > /dev/null 2>&1"))
|
||||
b1 b2 ...))))
|
||||
|
||||
(define-syntax with-empty-metadata
|
||||
@@ -167,7 +169,7 @@
|
||||
"the input file can't be found"
|
||||
(with-empty-metadata (md)
|
||||
(run-fail-rcv (_ stderr) (thin-restore "-i no-such-file -o" md)
|
||||
- (assert-superblock-untouched md)
|
||||
+ (assert-superblock-all-zeroes md)
|
||||
(assert-starts-with "Couldn't stat file" stderr))))
|
||||
|
||||
(define-scenario (thin-restore garbage-input-file)
|
||||
@@ -175,7 +177,7 @@
|
||||
(with-empty-metadata (md)
|
||||
(with-temp-file-sized ((xml "thin.xml" 4096))
|
||||
(run-fail-rcv (_ stderr) (thin-restore "-i " xml "-o" md)
|
||||
- (assert-superblock-untouched md)))))
|
||||
+ (assert-superblock-all-zeroes md)))))
|
||||
|
||||
(define-scenario (thin-restore missing-output-file)
|
||||
"the output file can't be found"
|
||||
@@ -333,4 +335,25 @@
|
||||
(with-empty-metadata (md)
|
||||
(run-fail-rcv (_ stderr) (thin-repair "-i" xml "-o" md)
|
||||
#t))))
|
||||
+
|
||||
+ (define-scenario (thin-repair missing-input-file)
|
||||
+ "the input file can't be found"
|
||||
+ (with-empty-metadata (md)
|
||||
+ (run-fail-rcv (_ stderr) (thin-repair "-i no-such-file -o" md)
|
||||
+ (assert-superblock-all-zeroes md)
|
||||
+ (assert-starts-with "Couldn't stat file" stderr))))
|
||||
+
|
||||
+ (define-scenario (thin-repair garbage-input-file)
|
||||
+ "the input file is just zeroes"
|
||||
+ (with-empty-metadata (md1)
|
||||
+ (with-corrupt-metadata (md2)
|
||||
+ (run-fail-rcv (_ stderr) (thin-repair "-i " md1 "-o" md2)
|
||||
+ (assert-superblock-all-zeroes md2)))))
|
||||
+
|
||||
+ (define-scenario (thin-repair missing-output-file)
|
||||
+ "the output file can't be found"
|
||||
+ (with-thin-xml (xml)
|
||||
+ (run-fail-rcv (_ stderr) (thin-repair "-i " xml)
|
||||
+ (assert-starts-with "No output file provided." stderr))))
|
||||
+
|
||||
)
|
||||
diff --git a/thin-provisioning/thin_repair.cc b/thin-provisioning/thin_repair.cc
|
||||
index e22b193..0673753 100644
|
||||
--- a/thin-provisioning/thin_repair.cc
|
||||
+++ b/thin-provisioning/thin_repair.cc
|
||||
@@ -2,6 +2,7 @@
|
||||
#include <getopt.h>
|
||||
#include <libgen.h>
|
||||
|
||||
+#include "base/file_utils.h"
|
||||
#include "base/output_file_requirements.h"
|
||||
#include "persistent-data/file_utils.h"
|
||||
#include "thin-provisioning/commands.h"
|
||||
@@ -17,15 +18,20 @@ using namespace thin_provisioning;
|
||||
|
||||
namespace {
|
||||
int repair(string const &old_path, string const &new_path) {
|
||||
+ bool metadata_touched = false;
|
||||
try {
|
||||
// block size gets updated by the restorer
|
||||
block_manager<>::ptr new_bm = open_bm(new_path, block_manager<>::READ_WRITE);
|
||||
+ file_utils::check_file_exists(old_path, false);
|
||||
+ metadata_touched = true;
|
||||
metadata::ptr new_md(new metadata(new_bm, metadata::CREATE, 128, 0));
|
||||
emitter::ptr e = create_restore_emitter(new_md);
|
||||
block_manager<>::ptr old_bm = open_bm(old_path, block_manager<>::READ_ONLY);
|
||||
metadata_repair(old_bm, e);
|
||||
|
||||
} catch (std::exception &e) {
|
||||
+ if (metadata_touched)
|
||||
+ file_utils::zero_superblock(new_path);
|
||||
cerr << e.what() << endl;
|
||||
return 1;
|
||||
}
|
||||
@@ -101,7 +107,7 @@ thin_repair_cmd::run(int argc, char **argv)
|
||||
check_output_file_requirements(*output_path);
|
||||
|
||||
else {
|
||||
- cerr << "no output file provided" << endl;
|
||||
+ cerr << "No output file provided." << endl;
|
||||
usage(cerr);
|
||||
return 1;
|
||||
}
|
342
SPECS/device-mapper-persistent-data.spec
Normal file
342
SPECS/device-mapper-persistent-data.spec
Normal file
@ -0,0 +1,342 @@
|
||||
#
|
||||
# Copyright (C) 2011-2017 Red Hat, Inc
|
||||
#
|
||||
|
||||
Summary: Device-mapper Persistent Data Tools
|
||||
Name: device-mapper-persistent-data
|
||||
Version: 0.8.5
|
||||
Release: 3%{?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-% {version}.tar.gz
|
||||
Source0: https://github.com/jthornber/thin-provisioning-tools/archive/v%{version}.tar.gz
|
||||
Patch0: device-mapper-persistent-data-avoid-strip.patch
|
||||
Patch1: dmpd-remove-pool-inactive-from-thin_trim-man-page.patch
|
||||
Patch2: dmpd-thin_repair-cache_repair-Check-input-file-exists-earlier.patch
|
||||
Patch3: dmpd-tests-lib-bcache-rename-raise-raise_.patch
|
||||
|
||||
BuildRequires: autoconf, expat-devel, libaio-devel, libstdc++-devel, boost-devel, gcc-c++
|
||||
Requires: expat
|
||||
|
||||
%description
|
||||
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 -b .avoid_strip
|
||||
%patch1 -p1 -b .remove_pool_inactive_option
|
||||
%patch2 -p1 -b .check_input_file_erlier
|
||||
%patch3 -p1 -b .backup3
|
||||
echo %{version}-%{release} > VERSION
|
||||
|
||||
%build
|
||||
autoconf
|
||||
%configure --with-optimisation=
|
||||
make %{?_smp_mflags} V=
|
||||
|
||||
%install
|
||||
make DESTDIR=%{buildroot} MANDIR=%{_mandir} install
|
||||
|
||||
%clean
|
||||
|
||||
%files
|
||||
%doc COPYING README.md
|
||||
%{_mandir}/man8/cache_check.8.gz
|
||||
%{_mandir}/man8/cache_dump.8.gz
|
||||
%{_mandir}/man8/cache_metadata_size.8.gz
|
||||
%{_mandir}/man8/cache_repair.8.gz
|
||||
%{_mandir}/man8/cache_restore.8.gz
|
||||
%{_mandir}/man8/cache_writeback.8.gz
|
||||
%{_mandir}/man8/era_check.8.gz
|
||||
%{_mandir}/man8/era_dump.8.gz
|
||||
%{_mandir}/man8/era_invalidate.8.gz
|
||||
%{_mandir}/man8/era_restore.8.gz
|
||||
%{_mandir}/man8/thin_check.8.gz
|
||||
%{_mandir}/man8/thin_delta.8.gz
|
||||
%{_mandir}/man8/thin_dump.8.gz
|
||||
%{_mandir}/man8/thin_ls.8.gz
|
||||
%{_mandir}/man8/thin_metadata_size.8.gz
|
||||
%{_mandir}/man8/thin_repair.8.gz
|
||||
%{_mandir}/man8/thin_restore.8.gz
|
||||
%{_mandir}/man8/thin_rmap.8.gz
|
||||
%{_mandir}/man8/thin_trim.8.gz
|
||||
%{_sbindir}/pdata_tools
|
||||
%{_sbindir}/cache_check
|
||||
%{_sbindir}/cache_dump
|
||||
%{_sbindir}/cache_metadata_size
|
||||
%{_sbindir}/cache_repair
|
||||
%{_sbindir}/cache_restore
|
||||
%{_sbindir}/cache_writeback
|
||||
%{_sbindir}/era_check
|
||||
%{_sbindir}/era_dump
|
||||
%{_sbindir}/era_invalidate
|
||||
%{_sbindir}/era_restore
|
||||
%{_sbindir}/thin_check
|
||||
%{_sbindir}/thin_delta
|
||||
%{_sbindir}/thin_dump
|
||||
%{_sbindir}/thin_ls
|
||||
%{_sbindir}/thin_metadata_size
|
||||
%{_sbindir}/thin_repair
|
||||
%{_sbindir}/thin_restore
|
||||
%{_sbindir}/thin_rmap
|
||||
%{_sbindir}/thin_trim
|
||||
#% {_sbindir}/thin_show_duplicates
|
||||
|
||||
%changelog
|
||||
* Wed Nov 27 2019 Marian Csontos <mcsontos@redhat.com> - 0.8.5-3
|
||||
- Remove obsolete pool-inactive option from thin_trim man page.
|
||||
- Check input file exists eralier, and prevent writing incorrect metadata.
|
||||
|
||||
* Tue Jun 04 2019 Marian Csontos <mcsontos@redhat.com> - 0.8.5-2
|
||||
- Bump release
|
||||
|
||||
* Tue Jun 04 2019 Marian Csontos <mcsontos@redhat.com> - 0.8.5-1
|
||||
- Update to latest upstream version
|
||||
|
||||
* Tue Apr 24 2018 Marian Csontos <mcsontos@redhat.com> - 0.7.6-1
|
||||
- Update to latest upstream version
|
||||
|
||||
* Wed Feb 07 2018 Fedora Release Engineering <releng@fedoraproject.org> - 0.7.5-3
|
||||
- Rebuilt for https://fedoraproject.org/wiki/Fedora_28_Mass_Rebuild
|
||||
|
||||
* Tue Jan 23 2018 Jonathan Wakely <jwakely@redhat.com> - 0.7.5-2
|
||||
- Rebuilt for Boost 1.66
|
||||
|
||||
* Tue Nov 14 2017 Marian Csontos <mcsontos@redhat.com> - 0.7.5-1
|
||||
- Fix version 2 metadata corruption in cache_restore.
|
||||
|
||||
* Fri Oct 06 2017 Marian Csontos <mcsontos@redhat.com> - 0.7.3-1
|
||||
- Update to latest bugfix and documentation update release.
|
||||
- *_restore tools wipe superblock as a last resort.
|
||||
- Add thin_check --override-mapping-root.
|
||||
|
||||
* Fri Sep 22 2017 Marian Csontos <mcsontos@redhat.com> - 0.7.2-1
|
||||
- Update to latest upstream release including various bug fixes and new features.
|
||||
- Fix segfault when dump tools are given a tiny metadata file.
|
||||
- Fix -V exiting with 1.
|
||||
- Fix thin_check when running on XML dump instead of binary data.
|
||||
- Speed up free block searching.
|
||||
|
||||
* Wed Aug 02 2017 Fedora Release Engineering <releng@fedoraproject.org> - 0.7.0-0.6.rc6
|
||||
- Rebuilt for https://fedoraproject.org/wiki/Fedora_27_Binutils_Mass_Rebuild
|
||||
|
||||
* Wed Jul 26 2017 Fedora Release Engineering <releng@fedoraproject.org> - 0.7.0-0.5.rc6
|
||||
- Rebuilt for https://fedoraproject.org/wiki/Fedora_27_Mass_Rebuild
|
||||
|
||||
* Mon Jul 03 2017 Jonathan Wakely <jwakely@redhat.com> - 0.7.0-0.4.rc6
|
||||
- Rebuilt for Boost 1.64
|
||||
|
||||
* Tue May 23 2017 Marian Csontos <mcsontos@redhat.com> - 0.7.0-0.3.rc6
|
||||
- Rebuilt for mass rebuild incorrectly tagging master to .fc26
|
||||
|
||||
* Mon May 15 2017 Fedora Release Engineering <rel-eng@lists.fedoraproject.org> - 0.7.0-0.2.rc6
|
||||
- Rebuilt for https://fedoraproject.org/wiki/Fedora_26_27_Mass_Rebuild
|
||||
|
||||
* Mon Mar 27 2017 Peter Rajnoha <prajnoha@redhat.com> - 0.7.0-0.1-rc6
|
||||
- Don't open devices as writeable if --clear-needs-check-flag is not set.
|
||||
- Fix cache metadata format version 2 superblock packing.
|
||||
|
||||
* Wed Mar 22 2017 Peter Rajnoha <prajnoha@redhat.com> - 0.7.0-0.1-rc5
|
||||
- Switch to a faster implementation of crc32 used for checksums.
|
||||
|
||||
* Tue Mar 21 2017 Peter Rajnoha <prajnoha@redhat.com> - 0.7.0-0.1-rc4
|
||||
- Add support for cache metadata format version 2 in cache tools.
|
||||
|
||||
* Thu Mar 16 2017 Peter Rajnoha <prajnoha@redhat.com> - 0.7.0-0.1-rc3
|
||||
- Fix compilation warnings and further code cleanup.
|
||||
|
||||
* Thu Mar 09 2017 Peter Rajnoha <prajnoha@redhat.com> - 0.7.0-0.1-rc2
|
||||
- Update to latest upstream release including various bug fixes and new features.
|
||||
- New thin_show_duplicates command.
|
||||
- Add '--skip-mappings' and '--format custom' options to thin_dump.
|
||||
|
||||
* Fri Feb 10 2017 Fedora Release Engineering <releng@fedoraproject.org> - 0.6.3-3
|
||||
- Rebuilt for https://fedoraproject.org/wiki/Fedora_26_Mass_Rebuild
|
||||
|
||||
* Fri Jan 27 2017 Jonathan Wakely <jwakely@redhat.com> - 0.6.3-2
|
||||
- Rebuilt for Boost 1.63
|
||||
|
||||
* Thu Sep 22 2016 Peter Rajnoha <prajnoha@redhat.com> - 0.6.3-1
|
||||
- Preallocate output file for thin_repair and thin_restore.
|
||||
|
||||
* Mon Jul 11 2016 Peter Rajnoha <prajnoha@redhat.com> - 0.6.2-1
|
||||
- Fixes providing proper use of compiler flags.
|
||||
|
||||
* Mon Apr 11 2016 Peter Rajnoha <prajnoha@redhat.com> - 0.6.2-0.1.rc8
|
||||
- Fixes for thin_trim.
|
||||
|
||||
* Tue Mar 22 2016 Peter Rajnoha <prajnoha@redhat.com> - 0.6.2-0.1.rc7
|
||||
- Fixes for thin_repair.
|
||||
|
||||
* Wed Mar 09 2016 Peter Rajnoha <prajnoha@redhat.com> - 0.6.2-0.1.rc6
|
||||
- Add new fields to thin_ls: MAPPED_BYTES, EXCLUSIVE_BYTES and SHARED_BYTES.
|
||||
|
||||
* Thu Feb 18 2016 Peter Rajnoha <prajnoha@redhat.com> - 0.6.2-0.1.rc5
|
||||
- Fixes for thin_delta.
|
||||
|
||||
* Mon Feb 15 2016 Peter Rajnoha <prajnoha@redhat.com> - 0.6.2-0.1.rc4
|
||||
- Fix bug in mapping comparison while using thin_delta.
|
||||
|
||||
* Mon Feb 15 2016 Peter Rajnoha <prajnoha@redhat.com> - 0.6.2-0.1.rc3
|
||||
- Fix recent regression in thin_repair.
|
||||
- Force g++-98 dialect.
|
||||
|
||||
* Mon Feb 15 2016 Peter Rajnoha <prajnoha@redhat.com> - 0.6.2-0.1.rc1
|
||||
- Fix bug in thin_dump when using metadata snaps.
|
||||
|
||||
* Wed Feb 03 2016 Fedora Release Engineering <releng@fedoraproject.org> - 0.6.0-2
|
||||
- Rebuilt for https://fedoraproject.org/wiki/Fedora_24_Mass_Rebuild
|
||||
|
||||
* Wed Jan 20 2016 Peter Rajnoha <prajnoha@redhat.com> - 0.6.0-1
|
||||
- New thin_ls command.
|
||||
|
||||
* Wed Jan 20 2016 Peter Rajnoha <prajnoha@redhat.com> - 0.5.6-1
|
||||
- era_invalidate may be run on live metadata if the --metadata-snap
|
||||
option is given.
|
||||
|
||||
* Fri Jan 15 2016 Jonathan Wakely <jwakely@redhat.com> - 0.5.5-3
|
||||
- Rebuilt for Boost 1.60
|
||||
|
||||
* Thu Aug 27 2015 Jonathan Wakely <jwakely@redhat.com> - 0.5.5-2
|
||||
- Rebuilt for Boost 1.59
|
||||
|
||||
* Thu Aug 13 2015 Peter Rajnoha <prajnoha@redhat.com> - 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.
|
||||
|
||||
* Wed Jul 29 2015 Fedora Release Engineering <rel-eng@lists.fedoraproject.org> - 0.5.4-3
|
||||
- Rebuilt for https://fedoraproject.org/wiki/Changes/F23Boost159
|
||||
|
||||
* Wed Jul 22 2015 David Tardon <dtardon@redhat.com> - 0.5.4-2
|
||||
- rebuild for Boost 1.58
|
||||
|
||||
* Fri Jul 17 2015 Peter Rajnoha <prajnoha@redhat.com> - 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.
|
||||
|
||||
* Fri Jul 03 2015 Peter Rajnoha <prajnoha@redhat.com> - 0.5.3-1
|
||||
- Tools now open the metadata device in O_EXCL mode to stop
|
||||
running the tools on active metadata.
|
||||
|
||||
* Fri Jul 03 2015 Peter Rajnoha <prajnoha@redhat.com> - 0.5.2-1
|
||||
- Fix bug in damage reporting in thin_dump and thin_check.
|
||||
|
||||
* Thu Jun 25 2015 Peter Rajnoha <prajnoha@redhat.com> - 0.5.1-1
|
||||
- Fix crash if tools are given a very large metadata device to restore to.
|
||||
|
||||
* Mon Jun 22 2015 Peter Rajnoha <prajnoha@redhat.com> - 0.5.0-1
|
||||
- Add space map checking for thin_check.
|
||||
- Add --clear-needs-check option for cache_check.
|
||||
- Update to latest upstream release.
|
||||
|
||||
* Wed Jun 17 2015 Fedora Release Engineering <rel-eng@lists.fedoraproject.org> - 0.4.2-2
|
||||
- Rebuilt for https://fedoraproject.org/wiki/Fedora_23_Mass_Rebuild
|
||||
|
||||
* Mon Jun 08 2015 Peter Rajnoha <prajnoha@redhat.com> - 0.4.2-1
|
||||
- New thin_delta and thin_trim commands.
|
||||
- Update to latest upstream release.
|
||||
|
||||
* Sat May 02 2015 Kalev Lember <kalevlember@gmail.com> - 0.4.1-4
|
||||
- Rebuilt for GCC 5 C++11 ABI change
|
||||
|
||||
* Mon Jan 26 2015 Petr Machata <pmachata@redhat.com> - 0.4.1-3
|
||||
- Rebuild for boost 1.57.0
|
||||
|
||||
* Wed Oct 29 2014 Heinz Mauelshagen <heinzm@redhat.com> - 0.4.1-2
|
||||
- Resolves: bz#1159466
|
||||
|
||||
* Wed Oct 29 2014 Heinz Mauelshagen <heinzm@redhat.com> - 0.4.1-1
|
||||
- New upstream version
|
||||
- Manual header additions/fixes
|
||||
|
||||
* Sat Aug 16 2014 Fedora Release Engineering <rel-eng@lists.fedoraproject.org> - 0.3.2-4
|
||||
- Rebuilt for https://fedoraproject.org/wiki/Fedora_21_22_Mass_Rebuild
|
||||
|
||||
* Sat Jun 07 2014 Fedora Release Engineering <rel-eng@lists.fedoraproject.org> - 0.3.2-3
|
||||
- Rebuilt for https://fedoraproject.org/wiki/Fedora_21_Mass_Rebuild
|
||||
|
||||
* Thu May 22 2014 Petr Machata <pmachata@redhat.com> - 0.3.2-2
|
||||
- Rebuild for boost 1.55.0
|
||||
|
||||
* Fri Apr 11 2014 Heinz Mauelshagen <heinzm@redhat.com> - 0.3.2-1
|
||||
- New upstream version 0.3.2 fixing needs_check flag processing
|
||||
|
||||
* Thu Mar 27 2014 Heinz Mauelshagen <heinzm@redhat.com> - 0.3.0-1
|
||||
- New upstream version 0.3.0 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
|
||||
|
||||
* Tue Jul 30 2013 Dennis Gilmore <dennis@ausil.us> - 0.2.2-2
|
||||
- rebuild against boost 1.54.0
|
||||
|
||||
* Tue Jul 30 2013 Heinz Mauelshagen <heinzm@redhat.com> - 0.2.2-1
|
||||
- New upstream version
|
||||
- manual header fixes
|
||||
|
||||
* Tue Jul 30 2013 Petr Machata <pmachata@redhat.com> - 0.2.1-6
|
||||
- Rebuild for boost 1.54.0
|
||||
|
||||
* Thu Jul 25 2013 Heinz Mauelshagen <heinzm@redhat.com> - 0.2.1-5
|
||||
- enhance manual pages and fix typos
|
||||
|
||||
* Thu Jul 18 2013 Heinz Mauelshagen <heinzm@redhat.com> - 0.2.1-4
|
||||
- Update thin_metadata_size manual page
|
||||
- thin_dump: support dumping default metadata snapshot
|
||||
|
||||
* Thu Jul 18 2013 Heinz Mauelshagen <heinzm@redhat.com> - 0.2.1-3
|
||||
- New thin_metadata_size tool to estimate amount of metadata space
|
||||
based on block size, pool size and maximum amount of thin devs and snapshots
|
||||
- support metadata snapshots in thin_dump tool
|
||||
- New man pages for thin_metadata_size, thin_repair and thin_rmap and man page fixes
|
||||
|
||||
* Tue Jul 16 2013 Heinz Mauelshagen <heinzm@redhat.com> - 0.2.1-2
|
||||
- Build with nostrip fix from Ville Skyttä
|
||||
|
||||
* Mon Jul 15 2013 Ville Skyttä <ville.skytta@iki.fi> - 0.2.1-2
|
||||
- Let rpmbuild strip binaries, don't override optflags, build more verbose.
|
||||
|
||||
* Fri Jul 12 2013 Heinz Mauelshagen <heinzm@redhat.com> - 0.2.1-1
|
||||
- New upstream version.
|
||||
|
||||
* Wed Feb 13 2013 Fedora Release Engineering <rel-eng@lists.fedoraproject.org> - 0.1.4-3
|
||||
- Rebuilt for https://fedoraproject.org/wiki/Fedora_19_Mass_Rebuild
|
||||
|
||||
* Wed Jul 18 2012 Fedora Release Engineering <rel-eng@lists.fedoraproject.org> - 0.1.4-2
|
||||
- Rebuilt for https://fedoraproject.org/wiki/Fedora_18_Mass_Rebuild
|
||||
|
||||
* Thu Apr 19 2012 Milan Broz <mbroz@redhat.com> - 0.1.4-1
|
||||
- Fix thin_check man page (add -q option).
|
||||
- Install utilities in /usr/sbin.
|
||||
|
||||
* Tue Mar 13 2012 Milan Broz <mbroz@redhat.com> - 0.1.2-1
|
||||
- New upstream version.
|
||||
|
||||
* Mon Mar 05 2012 Milan Broz <mbroz@redhat.com> - 0.1.1-1
|
||||
- Fix quiet option.
|
||||
|
||||
* Fri Mar 02 2012 Milan Broz <mbroz@redhat.com> - 0.1.0-1
|
||||
- New upstream version.
|
||||
|
||||
* Tue Feb 28 2012 Fedora Release Engineering <rel-eng@lists.fedoraproject.org> - 0.0.1-3
|
||||
- Rebuilt for c++ ABI breakage
|
||||
|
||||
* Fri Jan 13 2012 Fedora Release Engineering <rel-eng@lists.fedoraproject.org> - 0.0.1-2
|
||||
- Rebuilt for https://fedoraproject.org/wiki/Fedora_17_Mass_Rebuild
|
||||
|
||||
* Wed Dec 21 2011 Milan Broz <mbroz@redhat.com> - 0.0.1-1
|
||||
- Initial version
|
Loading…
Reference in New Issue
Block a user