19 const std::string &filename,
struct archive *archive,
20 struct archive_entry *entry,
21 Signal *read_archive_signal,
22 const SyncUnion *union_engine,
const uid_t uid,
26 , archive_entry_(entry)
27 , obtained_tar_stat_(false)
28 , read_archive_signal_(read_archive_signal)
35 const std::string &filename,
struct archive *archive,
36 struct archive_entry *entry,
37 Signal *read_archive_signal,
41 , archive_entry_(entry)
42 , obtained_tar_stat_(false)
43 , read_archive_signal_(read_archive_signal)
106 const struct stat *entry_stat = archive_entry_stat(
archive_entry_);
107 assert(NULL != entry_stat);
124 tar_stat_.st_mtime = entry_stat->st_mtime;
126 tar_stat_.st_mtimespec.tv_nsec = entry_stat->st_mtimespec.tv_nsec;
128 tar_stat_.st_mtim.tv_nsec = entry_stat->st_mtim.tv_nsec;
130 tar_stat_.st_nlink = entry_stat->st_nlink;
142 bool enable_mtime_ns)
const {
175 if (enable_mtime_ns) {
shash::Any GetContentHash() const
platform_stat64 GetStatFromTar() const
void Assign(const char *chars, const unsigned length)
struct archive * archive_
bool IsBlockDevice() const
bool IsCharacterDevice() const
assert((mem||(size==0))&&"Out Of Memory")
virtual void StatScratch(const bool refresh) const
SyncItemType scratch_type_
zlib::Algorithms compression_algorithm_
std::string GetUnionPath() const
zlib::Algorithms GetCompressionAlgorithm() const
virtual catalog::DirectoryEntryBase CreateBasicCatalogDirent(bool enable_mtime_ns) const
static const inode_t kInvalidInode
virtual bool IsType(const SyncItemType expected_type) const
platform_stat64 tar_stat_
Signal * read_archive_signal_
struct archive_entry * archive_entry_
std::string filename() const
bool IsExternalData() const
virtual IngestionSource * CreateIngestionSource() const
SyncItemTar(const std::string &relative_parent_path, const std::string &filename, struct archive *archive, struct archive_entry *entry, Signal *read_archive_signal, const SyncUnion *union_engine, const uid_t uid, const gid_t gid)
virtual SyncItemType GetScratchFiletype() const