26 bool waiting_on_lease =
false;
30 throw EPublish(
"cannot establish writable mountpoint");
38 if (
settings_.transaction().GetTimeoutS() == 0)
39 deadline = uint64_t(-1);
56 waiting_on_lease =
true;
73 throw EPublish(
"another transaction is already open",
86 if (!
settings_.transaction().lease_path().empty()) {
94 throw EPublish(
"cannot open transaction on non-existing path " + path,
99 "cannot open transaction on " + path +
", which is not a directory",
106 settings_.transaction().spool_area().checkout_marker()));
111 && waiting_on_lease) {
116 throw EPublish(
"cannot establish writable mountpoint");
126 if (
settings_.transaction().HasTemplate()) {
128 "CernVM-FS: cloning template %s --> %s ... ",
129 settings_.transaction().template_from().c_str(),
130 settings_.transaction().template_to().c_str());
137 std::string panic_msg = e.what();
146 settings_.transaction().spool_area().readonly_talk_socket(),
147 "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,...)