mirror of
				https://github.com/postgres/postgres.git
				synced 2025-11-03 09:13:20 +03:00 
			
		
		
		
	Improve error reporting for unsupported effective_io_concurrency setting.
Give a specific error complaining about lack of posix_fadvise() when someone tries to set effective_io_concurrency > 0 on platforms without that. This probably isn't worth extensive back-patching, but I (tgl) felt cramming it into v11 was reasonable. James Robinson Discussion: https://postgr.es/m/153771876450.14994.560017943128223619@wrigleys.postgresql.org Discussion: https://postgr.es/m/A3942987-5BC7-4F05-B54D-2A0EC2914B33@jlr-photo.com
This commit is contained in:
		@@ -2641,10 +2641,11 @@ static struct config_int ConfigureNamesInt[] =
 | 
			
		||||
		},
 | 
			
		||||
		&effective_io_concurrency,
 | 
			
		||||
#ifdef USE_PREFETCH
 | 
			
		||||
		1, 0, MAX_IO_CONCURRENCY,
 | 
			
		||||
		1,
 | 
			
		||||
#else
 | 
			
		||||
		0, 0, 0,
 | 
			
		||||
		0,
 | 
			
		||||
#endif
 | 
			
		||||
		0, MAX_IO_CONCURRENCY,
 | 
			
		||||
		check_effective_io_concurrency, assign_effective_io_concurrency, NULL
 | 
			
		||||
	},
 | 
			
		||||
 | 
			
		||||
@@ -10681,6 +10682,11 @@ check_effective_io_concurrency(int *newval, void **extra, GucSource source)
 | 
			
		||||
	else
 | 
			
		||||
		return false;
 | 
			
		||||
#else
 | 
			
		||||
	if (*newval != 0)
 | 
			
		||||
	{
 | 
			
		||||
		GUC_check_errdetail("effective_io_concurrency must be set to 0 on platforms that lack posix_fadvise()");
 | 
			
		||||
		return false;
 | 
			
		||||
	}
 | 
			
		||||
	return true;
 | 
			
		||||
#endif							/* USE_PREFETCH */
 | 
			
		||||
}
 | 
			
		||||
 
 | 
			
		||||
		Reference in New Issue
	
	Block a user