X-Git-Url: http://git.vrable.net/?a=blobdiff_plain;f=metadata.h;h=858a94d1f179b6da9435b08bec6d64b8880dad6d;hb=38ae53bac981d564d9f04c038a88d727289db5c8;hp=9325338a3231201a532958b142b862c340fa84fc;hpb=0ac19625c9ad293791b93c931331aa5a0c876f36;p=cumulus.git diff --git a/metadata.h b/metadata.h index 9325338..858a94d 100644 --- a/metadata.h +++ b/metadata.h @@ -11,6 +11,8 @@ #define _LBS_METADATA_H #include +#include +#include #include #include #include @@ -19,6 +21,8 @@ #include "ref.h" #include "util.h" +extern bool flag_full_metadata; + /* Metadata for a single inode, ready to be written out. */ struct MetadataItem { int offset; @@ -36,11 +40,15 @@ public: ObjectReference close(); bool find(const std::string& path); - ObjectReference *old_ref() const { + ObjectReference old_ref() const { return ObjectReference::parse(old_metadata_loc); } + bool is_unchanged(const struct stat *stat_buf); + dictionary get_old_metadata() const { return old_metadata; } + std::list get_blocks(); + std::string get_checksum() { return old_metadata["checksum"]; } private: void metadata_flush();