CernVM-FS  2.12.0
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Macros Pages
sync_union_aufs.h
Go to the documentation of this file.
1 
9 #ifndef CVMFS_SYNC_UNION_AUFS_H_
10 #define CVMFS_SYNC_UNION_AUFS_H_
11 
12 #include "sync_union.h"
13 
14 #include <set>
15 #include <string>
16 
17 namespace publish {
22 class SyncUnionAufs : public SyncUnion {
23  public:
24  SyncUnionAufs(SyncMediator *mediator, const std::string &rdonly_path,
25  const std::string &union_path, const std::string &scratch_path);
26 
27  void Traverse();
28  bool SupportsHardlinks() const { return true; }
29 
30  protected:
31  bool IsWhiteoutEntry(SharedPtr<SyncItem> entry) const;
32  bool IsOpaqueDirectory(SharedPtr<SyncItem> directory) const;
33  bool IgnoreFilePredicate(const std::string &parent_dir,
34  const std::string &filename);
35  std::string UnwindWhiteoutFilename(SharedPtr<SyncItem> entry) const;
36 
37  private:
38  std::set<std::string> ignore_filenames_;
39  std::string whiteout_prefix_;
40 }; // class SyncUnionAufs
41 } // namespace publish
42 #endif // CVMFS_SYNC_UNION_AUFS_H_
bool IsWhiteoutEntry(SharedPtr< SyncItem > entry) const
bool SupportsHardlinks() const
std::string scratch_path() const
Definition: sync_union.h:98
std::string UnwindWhiteoutFilename(SharedPtr< SyncItem > entry) const
SyncUnionAufs(SyncMediator *mediator, const std::string &rdonly_path, const std::string &union_path, const std::string &scratch_path)
std::string union_path() const
Definition: sync_union.h:97
bool IsOpaqueDirectory(SharedPtr< SyncItem > directory) const
bool IgnoreFilePredicate(const std::string &parent_dir, const std::string &filename)
std::string whiteout_prefix_
std::set< std::string > ignore_filenames_
std::string rdonly_path() const
Definition: sync_union.h:96