27 bool waiting_on_lease =
false;
30 if (rvi != 0)
throw EPublish(
"cannot establish writable mountpoint");
38 if (
settings_.transaction().GetTimeoutS() == 0)
39 deadline = uint64_t(-1);
57 waiting_on_lease =
true;
74 throw EPublish(
"another transaction is already open",
87 if (!
settings_.transaction().lease_path().empty()) {
89 "/" +
settings_.transaction().lease_path());
95 throw EPublish(
"cannot open transaction on non-existing path " + path,
100 "cannot open transaction on " + path +
", which is not a directory",
107 settings_.transaction().spool_area().checkout_marker()));
114 if (rvi != 0)
throw EPublish(
"cannot establish writable mountpoint");
124 if (
settings_.transaction().HasTemplate()) {
126 "CernVM-FS: cloning template %s --> %s ... ",
127 settings_.transaction().template_from().c_str(),
128 settings_.transaction().template_to().c_str());
135 std::string panic_msg = e.what();
144 "chroot " +
settings_.transaction().base_hash().ToString() +
"\n");
void TransactionImpl(bool waiting_on_lease=false)
const SettingsRepository settings_
void CloneTree(const std::string &from_dir, const std::string &to_dir)
void ConstructSyncManagers()
catalog::SimpleCatalogManager * GetSimpleCatalogManager()
UniquePtr< ManagedNode > managed_node_
const unsigned kLookupDefault
catalog::WritableCatalogManager * catalog_mgr_
void DownloadRootObjects(const std::string &url, const std::string &fqrn, const std::string &tmp_dir)
shash::Any catalog_hash() const
std::string SendTalkCommand(const std::string &socket, const std::string &cmd)
UniquePtr< Session > session_
manifest::Manifest * manifest_
EFailures failure() const
ServerFlagFile in_transaction_
PathString GetParentPath(const PathString &path)
static CheckoutMarker * CreateFrom(const std::string &path)
std::string tmp_dir() const
CVMFS_EXPORT void LogCvmfs(const LogSource source, const int mask, const char *format,...)