metadata_dumper
This commit is contained in:
parent
925d9d583f
commit
9a4ebc8c25
2
Makefile
2
Makefile
@ -10,8 +10,8 @@ SOURCE=\
|
||||
human_readable_format.cc \
|
||||
metadata.cc \
|
||||
metadata_checker.cc \
|
||||
metadata_dumper.cc \
|
||||
metadata_ll.cc \
|
||||
metadata_dump.cc \
|
||||
metadata_disk_structures.cc \
|
||||
space_map_disk.cc \
|
||||
transaction_manager.cc \
|
||||
|
@ -1,7 +1,6 @@
|
||||
#ifndef MULTISNAP_METADATA_H
|
||||
#define MULTISNAP_METADATA_H
|
||||
|
||||
#include "emitter.h"
|
||||
#include "metadata_ll.h"
|
||||
|
||||
#include <string>
|
||||
@ -60,10 +59,6 @@ namespace thin_provisioning {
|
||||
|
||||
thin::ptr open_thin(thin_dev_t);
|
||||
|
||||
// FIXME: split out into a separate interface
|
||||
// Dumping metadata
|
||||
void dump(emitter::ptr e);
|
||||
|
||||
private:
|
||||
friend class thin;
|
||||
|
||||
|
@ -1,4 +1,4 @@
|
||||
#include "metadata.h"
|
||||
#include "metadata_dumper.h"
|
||||
|
||||
using namespace persistent_data;
|
||||
using namespace thin_provisioning;
|
||||
@ -120,14 +120,16 @@ namespace {
|
||||
};
|
||||
}
|
||||
|
||||
//----------------------------------------------------------------
|
||||
|
||||
void
|
||||
metadata::dump(emitter::ptr e)
|
||||
thin_provisioning::metadata_dump(metadata_ll::ptr md, emitter::ptr e)
|
||||
{
|
||||
e->begin_superblock("", md_->sb_.time_, md_->sb_.trans_id_, md_->sb_.data_block_size_);
|
||||
e->begin_superblock("", md->sb_.time_, md->sb_.trans_id_, md->sb_.data_block_size_);
|
||||
|
||||
details_extractor::ptr de(new details_extractor);
|
||||
|
||||
md_->details_.visit(de);
|
||||
md->details_.visit(de);
|
||||
map<uint64_t, device_details> const &devs = de->get_devices();
|
||||
|
||||
map<uint64_t, device_details>::const_iterator it, end = devs.end();
|
||||
@ -141,8 +143,8 @@ metadata::dump(emitter::ptr e)
|
||||
dd.creation_time_,
|
||||
dd.snapshotted_time_);
|
||||
|
||||
mappings_extractor::ptr me(new mappings_extractor(dev_id, e, md_->metadata_sm_, md_->data_sm_));
|
||||
md_->mappings_.visit(me);
|
||||
mappings_extractor::ptr me(new mappings_extractor(dev_id, e, md->metadata_sm_, md->data_sm_));
|
||||
md->mappings_.visit(me);
|
||||
|
||||
e->end_device();
|
||||
}
|
15
metadata_dumper.h
Normal file
15
metadata_dumper.h
Normal file
@ -0,0 +1,15 @@
|
||||
#ifndef METADATA_DUMPER_H
|
||||
#define METADATA_DUMPER_H
|
||||
|
||||
#include "emitter.h"
|
||||
#include "metadata_ll.h"
|
||||
|
||||
//----------------------------------------------------------------
|
||||
|
||||
namespace thin_provisioning {
|
||||
void metadata_dump(metadata_ll::ptr md, emitter::ptr e);
|
||||
}
|
||||
|
||||
//----------------------------------------------------------------
|
||||
|
||||
#endif
|
@ -1,7 +1,8 @@
|
||||
#include <iostream>
|
||||
|
||||
#include "human_readable_format.h"
|
||||
#include "metadata.h"
|
||||
#include "metadata_dumper.h"
|
||||
#include "metadata_ll.h"
|
||||
#include "xml_format.h"
|
||||
|
||||
#include <boost/program_options.hpp>
|
||||
@ -16,8 +17,7 @@ namespace po = boost::program_options;
|
||||
|
||||
namespace {
|
||||
void dump(string const &path, string const &format) {
|
||||
metadata_ll::ptr ll(new metadata_ll(path));
|
||||
metadata md(ll);
|
||||
metadata_ll::ptr md(new metadata_ll(path));
|
||||
emitter::ptr e;
|
||||
|
||||
if (format == "xml")
|
||||
@ -29,7 +29,7 @@ namespace {
|
||||
exit(1);
|
||||
}
|
||||
|
||||
md.dump(e);
|
||||
metadata_dump(md, e);
|
||||
}
|
||||
|
||||
void usage(po::options_description const &desc) {
|
||||
|
Loading…
Reference in New Issue
Block a user