about summary refs log tree commit diff
path: root/src
diff options
context:
space:
mode:
authorEelco Dolstra <eelco.dolstra@logicblox.com>2012-03-26T18·00+0200
committerEelco Dolstra <eelco.dolstra@logicblox.com>2012-03-26T18·00+0200
commit8be1979f1ae4b85c36988f7b3cf8240c9682dc54 (patch)
tree80ec98cfb3ec5a86b72a9ee9f07d3ede4ee36b3c /src
parent19d9762ad5fc8d8db3e9a545a89309f08572cc9f (diff)
Remove the --max-links GC option
We don't need this anymore now that current filesystems support more
than 32,000 files in a directory.
Diffstat (limited to 'src')
-rw-r--r--src/libstore/gc.cc12
-rw-r--r--src/libstore/remote-store.cc2
-rw-r--r--src/libstore/store-api.cc1
-rw-r--r--src/libstore/store-api.hh4
-rw-r--r--src/nix-store/nix-store.cc1
-rw-r--r--src/nix-worker/nix-worker.cc2
6 files changed, 3 insertions, 19 deletions
diff --git a/src/libstore/gc.cc b/src/libstore/gc.cc
index 95c7154110..d81bf40c73 100644
--- a/src/libstore/gc.cc
+++ b/src/libstore/gc.cc
@@ -418,7 +418,7 @@ bool LocalStore::isActiveTempFile(const GCState & state,
         && state.tempRoots.find(string(path, 0, path.size() - suffix.size())) != state.tempRoots.end();
 }
 
-    
+
 bool LocalStore::tryToDelete(GCState & state, const Path & path)
 {
     checkInterrupt();
@@ -514,16 +514,6 @@ bool LocalStore::tryToDelete(GCState & state, const Path & path)
             throw GCLimitReached();
         }
 
-        if (state.options.maxLinks) {
-            struct stat st;
-            if (stat(nixStore.c_str(), &st) == -1)
-                throw SysError(format("statting `%1%'") % nixStore);
-            if (st.st_nlink < state.options.maxLinks) {
-                printMsg(lvlInfo, format("link count on the store has dropped below %1%; stopping") % state.options.maxLinks);
-                throw GCLimitReached();
-            }
-        }
-        
     } else
         printMsg(lvlTalkative, format("would delete `%1%'") % path);
     
diff --git a/src/libstore/remote-store.cc b/src/libstore/remote-store.cc
index c77a128705..0b8fa36f6d 100644
--- a/src/libstore/remote-store.cc
+++ b/src/libstore/remote-store.cc
@@ -466,7 +466,7 @@ void RemoteStore::collectGarbage(const GCOptions & options, GCResults & results)
     writeStrings(options.pathsToDelete, to);
     writeInt(options.ignoreLiveness, to);
     writeLongLong(options.maxFreed, to);
-    writeInt(options.maxLinks, to);
+    writeInt(0, to);
     if (GET_PROTOCOL_MINOR(daemonVersion) >= 5) {
         /* removed options */
         writeInt(0, to);
diff --git a/src/libstore/store-api.cc b/src/libstore/store-api.cc
index 36ade21708..19bc048abd 100644
--- a/src/libstore/store-api.cc
+++ b/src/libstore/store-api.cc
@@ -13,7 +13,6 @@ GCOptions::GCOptions()
     action = gcDeleteDead;
     ignoreLiveness = false;
     maxFreed = 0;
-    maxLinks = 0;
 }
 
 
diff --git a/src/libstore/store-api.hh b/src/libstore/store-api.hh
index 61bcaf5050..a62a648168 100644
--- a/src/libstore/store-api.hh
+++ b/src/libstore/store-api.hh
@@ -53,10 +53,6 @@ struct GCOptions
        no limit. */
     unsigned long long maxFreed;
 
-    /* Stop after the number of hard links to the Nix store directory
-       has dropped below `maxLinks'. */
-    unsigned int maxLinks;
-
     GCOptions();
 };
 
diff --git a/src/nix-store/nix-store.cc b/src/nix-store/nix-store.cc
index 404da2c51f..fa96725b1b 100644
--- a/src/nix-store/nix-store.cc
+++ b/src/nix-store/nix-store.cc
@@ -562,7 +562,6 @@ static void opGC(Strings opFlags, Strings opArgs)
             long long maxFreed = getIntArg<long long>(*i, i, opFlags.end());
             options.maxFreed = maxFreed >= 1 ? maxFreed : 1;
         }
-        else if (*i == "--max-links") options.maxLinks = getIntArg<unsigned int>(*i, i, opFlags.end());
         else throw UsageError(format("bad sub-operation `%1%' in GC") % *i);
 
     if (!opArgs.empty()) throw UsageError("no arguments expected");
diff --git a/src/nix-worker/nix-worker.cc b/src/nix-worker/nix-worker.cc
index f5201ab6a5..a952523504 100644
--- a/src/nix-worker/nix-worker.cc
+++ b/src/nix-worker/nix-worker.cc
@@ -477,7 +477,7 @@ static void performOp(unsigned int clientVersion,
         options.pathsToDelete = readStorePaths<PathSet>(from);
         options.ignoreLiveness = readInt(from);
         options.maxFreed = readLongLong(from);
-        options.maxLinks = readInt(from);
+        readInt(from); // obsolete field
         if (GET_PROTOCOL_MINOR(clientVersion) >= 5) {
             /* removed options */
             readInt(from);