mirror of
				https://github.com/postgres/postgres.git
				synced 2025-11-03 09:13:20 +03:00 
			
		
		
		
	bufmgr: Return early in ScheduleBufferTagForWriteback() if fsync=off
As pg_flush_data() doesn't do anything with fsync disabled, there's no point in tracking the buffer for writeback. Arguably the better fix would be to change pg_flush_data() to flush data even with fsync off, but that's a behavioral change, whereas this is just a small optimization. Reviewed-by: Heikki Linnakangas <hlinnaka@iki.fi> Reviewed-by: Noah Misch <noah@leadboat.com> Discussion: https://postgr.es/m/1f6b50a7-38ef-4d87-8246-786d39f46ab9@iki.fi
This commit is contained in:
		@@ -5899,7 +5899,12 @@ ScheduleBufferTagForWriteback(WritebackContext *wb_context, IOContext io_context
 | 
				
			|||||||
{
 | 
					{
 | 
				
			||||||
	PendingWriteback *pending;
 | 
						PendingWriteback *pending;
 | 
				
			||||||
 | 
					
 | 
				
			||||||
	if (io_direct_flags & IO_DIRECT_DATA)
 | 
						/*
 | 
				
			||||||
 | 
						 * As pg_flush_data() doesn't do anything with fsync disabled, there's no
 | 
				
			||||||
 | 
						 * point in tracking in that case.
 | 
				
			||||||
 | 
						 */
 | 
				
			||||||
 | 
						if (io_direct_flags & IO_DIRECT_DATA ||
 | 
				
			||||||
 | 
							!enableFsync)
 | 
				
			||||||
		return;
 | 
							return;
 | 
				
			||||||
 | 
					
 | 
				
			||||||
	/*
 | 
						/*
 | 
				
			||||||
 
 | 
				
			|||||||
		Reference in New Issue
	
	Block a user