diff options
author | Eelco Dolstra <eelco.dolstra@logicblox.com> | 2014-08-20T15·00+0200 |
---|---|---|
committer | Eelco Dolstra <eelco.dolstra@logicblox.com> | 2014-08-20T16·03+0200 |
commit | 11849a320e4f522b97fcdf09ff0940496880475b (patch) | |
tree | 13548f1c1bb2e01590b31d66d9bb8f46534bc99f /src/libstore/gc.cc | |
parent | 373fad75e19a2f24db512621b8cedb627d03d49d (diff) |
Use proper quotes everywhere
Diffstat (limited to 'src/libstore/gc.cc')
-rw-r--r-- | src/libstore/gc.cc | 72 |
1 files changed, 36 insertions, 36 deletions
diff --git a/src/libstore/gc.cc b/src/libstore/gc.cc index 74c2083904be..481f5a7c35a8 100644 --- a/src/libstore/gc.cc +++ b/src/libstore/gc.cc @@ -31,11 +31,11 @@ int LocalStore::openGCLock(LockType lockType) Path fnGCLock = (format("%1%/%2%") % settings.nixStateDir % gcLockName).str(); - debug(format("acquiring global GC lock `%1%'") % fnGCLock); + debug(format("acquiring global GC lock ‘%1%’") % fnGCLock); AutoCloseFD fdGCLock = open(fnGCLock.c_str(), O_RDWR | O_CREAT, 0600); if (fdGCLock == -1) - throw SysError(format("opening global GC lock `%1%'") % fnGCLock); + throw SysError(format("opening global GC lock ‘%1%’") % fnGCLock); closeOnExec(fdGCLock); if (!lockFile(fdGCLock, lockType, false)) { @@ -63,7 +63,7 @@ static void makeSymlink(const Path & link, const Path & target) /* Atomically replace the old one. */ if (rename(tempLink.c_str(), link.c_str()) == -1) - throw SysError(format("cannot rename `%1%' to `%2%'") + throw SysError(format("cannot rename ‘%1%’ to ‘%2%’") % tempLink % link); } @@ -99,7 +99,7 @@ Path addPermRoot(StoreAPI & store, const Path & _storePath, /* Don't clobber the the link if it already exists and doesn't point to the Nix store. */ if (pathExists(gcRoot) && (!isLink(gcRoot) || !isInStore(readLink(gcRoot)))) - throw Error(format("cannot create symlink `%1%'; already exists") % gcRoot); + throw Error(format("cannot create symlink ‘%1%’; already exists") % gcRoot); makeSymlink(gcRoot, storePath); store.addIndirectRoot(gcRoot); } @@ -110,8 +110,8 @@ Path addPermRoot(StoreAPI & store, const Path & _storePath, if (string(gcRoot, 0, rootsDir.size() + 1) != rootsDir + "/") throw Error(format( - "path `%1%' is not a valid garbage collector root; " - "it's not in the directory `%2%'") + "path ‘%1%’ is not a valid garbage collector root; " + "it's not in the directory ‘%2%’") % gcRoot % rootsDir); } @@ -131,8 +131,8 @@ Path addPermRoot(StoreAPI & store, const Path & _storePath, if (roots.find(gcRoot) == roots.end()) printMsg(lvlError, format( - "warning: `%1%' is not in a directory where the garbage collector looks for roots; " - "therefore, `%2%' might be removed by the garbage collector") + "warning: ‘%1%’ is not in a directory where the garbage collector looks for roots; " + "therefore, ‘%2%’ might be removed by the garbage collector") % gcRoot % storePath); } @@ -173,14 +173,14 @@ void LocalStore::addTempRoot(const Path & path) fdGCLock.close(); - debug(format("acquiring read lock on `%1%'") % fnTempRoots); + debug(format("acquiring read lock on ‘%1%’") % fnTempRoots); lockFile(fdTempRoots, ltRead, true); /* Check whether the garbage collector didn't get in our way. */ struct stat st; if (fstat(fdTempRoots, &st) == -1) - throw SysError(format("statting `%1%'") % fnTempRoots); + throw SysError(format("statting ‘%1%’") % fnTempRoots); if (st.st_size == 0) break; /* The garbage collector deleted this file before we could @@ -192,14 +192,14 @@ void LocalStore::addTempRoot(const Path & path) /* Upgrade the lock to a write lock. This will cause us to block if the garbage collector is holding our lock. */ - debug(format("acquiring write lock on `%1%'") % fnTempRoots); + debug(format("acquiring write lock on ‘%1%’") % fnTempRoots); lockFile(fdTempRoots, ltWrite, true); string s = path + '\0'; writeFull(fdTempRoots, (const unsigned char *) s.data(), s.size()); /* Downgrade to a read lock. */ - debug(format("downgrading to read lock on `%1%'") % fnTempRoots); + debug(format("downgrading to read lock on ‘%1%’") % fnTempRoots); lockFile(fdTempRoots, ltRead, true); } @@ -239,12 +239,12 @@ static void readTempRoots(PathSet & tempRoots, FDs & fds) for (auto & i : tempRootFiles) { Path path = (format("%1%/%2%/%3%") % settings.nixStateDir % tempRootsDir % i.name).str(); - debug(format("reading temporary root file `%1%'") % path); + debug(format("reading temporary root file ‘%1%’") % path); FDPtr fd(new AutoCloseFD(open(path.c_str(), O_RDWR, 0666))); if (*fd == -1) { /* It's okay if the file has disappeared. */ if (errno == ENOENT) continue; - throw SysError(format("opening temporary roots file `%1%'") % path); + throw SysError(format("opening temporary roots file ‘%1%’") % path); } /* This should work, but doesn't, for some reason. */ @@ -255,7 +255,7 @@ static void readTempRoots(PathSet & tempRoots, FDs & fds) only succeed if the owning process has died. In that case we don't care about its temporary roots. */ if (lockFile(*fd, ltWrite, false)) { - printMsg(lvlError, format("removing stale temporary roots file `%1%'") % path); + printMsg(lvlError, format("removing stale temporary roots file ‘%1%’") % path); unlink(path.c_str()); writeFull(*fd, (const unsigned char *) "d", 1); continue; @@ -264,7 +264,7 @@ static void readTempRoots(PathSet & tempRoots, FDs & fds) /* Acquire a read lock. This will prevent the owning process from upgrading to a write lock, therefore it will block in addTempRoot(). */ - debug(format("waiting for read lock on `%1%'") % path); + debug(format("waiting for read lock on ‘%1%’") % path); lockFile(*fd, ltRead, true); /* Read the entire file. */ @@ -275,7 +275,7 @@ static void readTempRoots(PathSet & tempRoots, FDs & fds) while ((end = contents.find((char) 0, pos)) != string::npos) { Path root(contents, pos, end - pos); - debug(format("got temporary root `%1%'") % root); + debug(format("got temporary root ‘%1%’") % root); assertStorePath(root); tempRoots.insert(root); pos = end + 1; @@ -293,7 +293,7 @@ static void foundRoot(StoreAPI & store, if (store.isValidPath(storePath)) roots[path] = storePath; else - printMsg(lvlInfo, format("skipping invalid root from `%1%' to `%2%'") % path % storePath); + printMsg(lvlInfo, format("skipping invalid root from ‘%1%’ to ‘%2%’") % path % storePath); } @@ -323,7 +323,7 @@ static void findRoots(StoreAPI & store, const Path & path, unsigned char type, R target = absPath(target, dirOf(path)); if (!pathExists(target)) { if (isInDir(path, settings.nixStateDir + "/" + gcRootsDir + "/auto")) { - printMsg(lvlInfo, format("removing stale link from `%1%' to `%2%'") % path % target); + printMsg(lvlInfo, format("removing stale link from ‘%1%’ to ‘%2%’") % path % target); unlink(path.c_str()); } } else { @@ -346,7 +346,7 @@ static void findRoots(StoreAPI & store, const Path & path, unsigned char type, R catch (SysError & e) { /* We only ignore permanent failures. */ if (e.errNo == EACCES || e.errNo == ENOENT || e.errNo == ENOTDIR) - printMsg(lvlInfo, format("cannot read potential root `%1%'") % path); + printMsg(lvlInfo, format("cannot read potential root ‘%1%’") % path); else throw; } @@ -373,7 +373,7 @@ static void addAdditionalRoots(StoreAPI & store, PathSet & roots) if (rootFinder.empty()) return; - debug(format("executing `%1%' to find additional roots") % rootFinder); + debug(format("executing ‘%1%’ to find additional roots") % rootFinder); string result = runProgram(rootFinder); @@ -383,7 +383,7 @@ static void addAdditionalRoots(StoreAPI & store, PathSet & roots) if (isInStore(*i)) { Path path = toStorePath(*i); if (roots.find(path) == roots.end() && store.isValidPath(path)) { - debug(format("got additional root `%1%'") % path); + debug(format("got additional root ‘%1%’") % path); roots.insert(path); } } @@ -448,7 +448,7 @@ void LocalStore::deletePathRecursive(GCState & state, const Path & path) throw SysError(format("getting status of %1%") % path); } - printMsg(lvlInfo, format("deleting `%1%'") % path); + printMsg(lvlInfo, format("deleting ‘%1%’") % path); state.results.paths.insert(path); @@ -463,10 +463,10 @@ void LocalStore::deletePathRecursive(GCState & state, const Path & path) // size. state.bytesInvalidated += size; if (chmod(path.c_str(), st.st_mode | S_IWUSR) == -1) - throw SysError(format("making `%1%' writable") % path); + throw SysError(format("making ‘%1%’ writable") % path); Path tmp = state.trashDir + "/" + baseNameOf(path); if (rename(path.c_str(), tmp.c_str())) - throw SysError(format("unable to rename `%1%' to `%2%'") % path % tmp); + throw SysError(format("unable to rename ‘%1%’ to ‘%2%’") % path % tmp); } else deleteGarbage(state, path); @@ -490,7 +490,7 @@ bool LocalStore::canReachRoot(GCState & state, PathSet & visited, const Path & p } if (state.roots.find(path) != state.roots.end()) { - printMsg(lvlDebug, format("cannot delete `%1%' because it's a root") % path); + printMsg(lvlDebug, format("cannot delete ‘%1%’ because it's a root") % path); state.alive.insert(path); return true; } @@ -538,7 +538,7 @@ void LocalStore::tryToDelete(GCState & state, const Path & path) if (path == linksDir || path == state.trashDir) return; - startNest(nest, lvlDebug, format("considering whether to delete `%1%'") % path); + startNest(nest, lvlDebug, format("considering whether to delete ‘%1%’") % path); if (!isValidPath(path)) { /* A lock file belonging to a path that we're building right @@ -553,7 +553,7 @@ void LocalStore::tryToDelete(GCState & state, const Path & path) PathSet visited; if (canReachRoot(state, visited, path)) { - printMsg(lvlDebug, format("cannot delete `%1%' because it's still reachable") % path); + printMsg(lvlDebug, format("cannot delete ‘%1%’ because it's still reachable") % path); } else { /* No path we visited was a root, so everything is garbage. But we only delete ‘path’ and its referrers here so that @@ -574,7 +574,7 @@ void LocalStore::tryToDelete(GCState & state, const Path & path) void LocalStore::removeUnusedLinks(const GCState & state) { AutoCloseDir dir = opendir(linksDir.c_str()); - if (!dir) throw SysError(format("opening directory `%1%'") % linksDir); + if (!dir) throw SysError(format("opening directory ‘%1%’") % linksDir); long long actualSize = 0, unsharedSize = 0; @@ -587,7 +587,7 @@ void LocalStore::removeUnusedLinks(const GCState & state) struct stat st; if (lstat(path.c_str(), &st) == -1) - throw SysError(format("statting `%1%'") % path); + throw SysError(format("statting ‘%1%’") % path); if (st.st_nlink != 1) { unsigned long long size = st.st_blocks * 512ULL; @@ -596,17 +596,17 @@ void LocalStore::removeUnusedLinks(const GCState & state) continue; } - printMsg(lvlTalkative, format("deleting unused link `%1%'") % path); + printMsg(lvlTalkative, format("deleting unused link ‘%1%’") % path); if (unlink(path.c_str()) == -1) - throw SysError(format("deleting `%1%'") % path); + throw SysError(format("deleting ‘%1%’") % path); state.results.bytesFreed += st.st_blocks * 512; } struct stat st; if (stat(linksDir.c_str(), &st) == -1) - throw SysError(format("statting `%1%'") % linksDir); + throw SysError(format("statting ‘%1%’") % linksDir); long long overhead = st.st_blocks * 512ULL; printMsg(lvlInfo, format("note: currently hard linking saves %.2f MiB") @@ -677,7 +677,7 @@ void LocalStore::collectGarbage(const GCOptions & options, GCResults & results) assertStorePath(*i); tryToDelete(state, *i); if (state.dead.find(*i) == state.dead.end()) - throw Error(format("cannot delete path `%1%' since it is still alive") % *i); + throw Error(format("cannot delete path ‘%1%’ since it is still alive") % *i); } } else if (options.maxFreed > 0) { @@ -690,7 +690,7 @@ void LocalStore::collectGarbage(const GCOptions & options, GCResults & results) try { AutoCloseDir dir = opendir(settings.nixStore.c_str()); - if (!dir) throw SysError(format("opening directory `%1%'") % settings.nixStore); + if (!dir) throw SysError(format("opening directory ‘%1%’") % settings.nixStore); /* Read the store and immediately delete all paths that aren't valid. When using --max-freed etc., deleting @@ -743,7 +743,7 @@ void LocalStore::collectGarbage(const GCOptions & options, GCResults & results) fds.clear(); /* Delete the trash directory. */ - printMsg(lvlInfo, format("deleting `%1%'") % state.trashDir); + printMsg(lvlInfo, format("deleting ‘%1%’") % state.trashDir); deleteGarbage(state, state.trashDir); /* Clean up the links directory. */ |