Ensure core.packedGitWindowSize cannot be less than 2 pages.
We cannot allow a window to be smaller than 2 system pages. This limitation is necessary to support the feature of use_pack() where we always supply at least 20 bytes after the offset to help the object header and delta base parsing routines. If packedGitWindowSize were allowed to be as small as 1 system page then we would be completely unable to access an object header which spanned over a page as we would never be able to arrange a mapping such that the header was contiguous in virtual memory. Signed-off-by: Shawn O. Pearce <spearce@spearce.org> Signed-off-by: Junio C Hamano <junkio@cox.net>
This commit is contained in:
		
				
					committed by
					
						
						Junio C Hamano
					
				
			
			
				
	
			
			
			
						parent
						
							bac2614de3
						
					
				
				
					commit
					40be82723c
				
			
							
								
								
									
										4
									
								
								config.c
									
									
									
									
									
								
							
							
						
						
									
										4
									
								
								config.c
									
									
									
									
									
								
							@ -302,8 +302,8 @@ int git_default_config(const char *var, const char *value)
 | 
			
		||||
		int pgsz = getpagesize();
 | 
			
		||||
		packed_git_window_size = git_config_int(var, value);
 | 
			
		||||
		packed_git_window_size /= pgsz;
 | 
			
		||||
		if (!packed_git_window_size)
 | 
			
		||||
			packed_git_window_size = 1;
 | 
			
		||||
		if (packed_git_window_size < 2)
 | 
			
		||||
			packed_git_window_size = 2;
 | 
			
		||||
		packed_git_window_size *= pgsz;
 | 
			
		||||
		return 0;
 | 
			
		||||
	}
 | 
			
		||||
 | 
			
		||||
		Reference in New Issue
	
	Block a user