Don't serialize the absolute path so we can move checkpoints around.
sim/serialize.cc: sim/serialize.hh: export the checkpoint directory --HG-- extra : convert_revision : ba5b796fd930ab0487a502beefcf76bd6bb7c366
This commit is contained in:
parent
efd119881a
commit
19d5789db1
3 changed files with 5 additions and 2 deletions
|
@ -425,7 +425,7 @@ CowDiskImage::write(const uint8_t *data, off_t offset)
|
|||
void
|
||||
CowDiskImage::serialize(ostream &os)
|
||||
{
|
||||
string cowFilename = Checkpoint::dir() + name() + ".cow";
|
||||
string cowFilename = name() + ".cow";
|
||||
SERIALIZE_SCALAR(cowFilename);
|
||||
save(cowFilename);
|
||||
}
|
||||
|
@ -435,6 +435,7 @@ CowDiskImage::unserialize(Checkpoint *cp, const string §ion)
|
|||
{
|
||||
string cowFilename;
|
||||
UNSERIALIZE_SCALAR(cowFilename);
|
||||
cowFilename = cp->cptDir + "/" + cowFilename;
|
||||
open(cowFilename);
|
||||
}
|
||||
|
||||
|
|
|
@ -431,7 +431,7 @@ Serializable::create(Checkpoint *cp, const std::string §ion)
|
|||
|
||||
Checkpoint::Checkpoint(const std::string &cpt_dir, const std::string &path,
|
||||
const ConfigNode *_configNode)
|
||||
: db(new IniFile), basePath(path), configNode(_configNode)
|
||||
: db(new IniFile), basePath(path), configNode(_configNode), cptDir(cpt_dir)
|
||||
{
|
||||
string filename = cpt_dir + "/" + Checkpoint::baseFilename;
|
||||
if (!db->load(filename)) {
|
||||
|
|
|
@ -210,6 +210,8 @@ class Checkpoint
|
|||
Checkpoint(const std::string &cpt_dir, const std::string &path,
|
||||
const ConfigNode *_configNode);
|
||||
|
||||
const std::string cptDir;
|
||||
|
||||
bool find(const std::string §ion, const std::string &entry,
|
||||
std::string &value);
|
||||
|
||||
|
|
Loading…
Reference in a new issue