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.
This commit is contained in:
		
							parent
							
								
									19d9762ad5
								
							
						
					
					
						commit
						8be1979f1a
					
				
					 7 changed files with 3 additions and 30 deletions
				
			
		|  | @ -212,7 +212,6 @@ linkend="sec-nix-build"><command>nix-build</command></link> does.</para> | |||
|     <arg choice='plain'><option>--delete</option></arg> | ||||
|   </group> | ||||
|   <arg><option>--max-freed</option> <replaceable>bytes</replaceable></arg> | ||||
|   <arg><option>--max-links</option> <replaceable>nrlinks</replaceable></arg> | ||||
| </cmdsynopsis> | ||||
| 
 | ||||
| </refsection> | ||||
|  | @ -280,16 +279,6 @@ options control what gets deleted and in what order: | |||
|      | ||||
|   </varlistentry> | ||||
| 
 | ||||
|   <varlistentry><term><option>--max-links</option> <replaceable>nrlinks</replaceable></term> | ||||
|    | ||||
|     <listitem><para>Keep deleting paths until the hard link count on | ||||
|     <filename>/nix/store</filename> is less than | ||||
|     <replaceable>nrlinks</replaceable>, then stop.  This is useful for | ||||
|     very large Nix stores on filesystems with a 32000 subdirectories | ||||
|     limit (like <literal>ext3</literal>).</para></listitem> | ||||
|      | ||||
|   </varlistentry> | ||||
| 
 | ||||
| </variablelist> | ||||
| 
 | ||||
| </para> | ||||
|  |  | |||
|  | @ -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); | ||||
|      | ||||
|  |  | |||
|  | @ -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); | ||||
|  |  | |||
|  | @ -13,7 +13,6 @@ GCOptions::GCOptions() | |||
|     action = gcDeleteDead; | ||||
|     ignoreLiveness = false; | ||||
|     maxFreed = 0; | ||||
|     maxLinks = 0; | ||||
| } | ||||
| 
 | ||||
| 
 | ||||
|  |  | |||
|  | @ -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(); | ||||
| }; | ||||
| 
 | ||||
|  |  | |||
|  | @ -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"); | ||||
|  |  | |||
|  | @ -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); | ||||
|  |  | |||
		Loading…
	
	Add table
		Add a link
		
	
		Reference in a new issue