mirror of
				https://github.com/Zygo/bees.git
				synced 2025-11-03 19:50:34 +01:00 
			
		
		
		
	context: reduce the size of LOGICAL_INO buffers
Since we'll never process more than BEES_MAX_EXTENT_REF_COUNT extent references by definition, it follows that we should not allocate buffer space for them when we perform the LOGICAL_INO ioctl. There is some evidence (particularly https://github.com/Zygo/bees/issues/260#issuecomment-1627598058) that the kernel is subjecting the page cache to a lot of disruption when trying allocate large buffers for LOGICAL_INO. Signed-off-by: Zygo Blaxell <bees@furryterror.org>
This commit is contained in:
		@@ -925,7 +925,8 @@ BeesContext::start()
 | 
			
		||||
		return make_shared<BeesTempFile>(shared_from_this());
 | 
			
		||||
	});
 | 
			
		||||
	m_logical_ino_pool.generator([]() {
 | 
			
		||||
		return make_shared<BtrfsIoctlLogicalInoArgs>(0);
 | 
			
		||||
		const auto extent_ref_size = sizeof(uint64_t) * 3;
 | 
			
		||||
		return make_shared<BtrfsIoctlLogicalInoArgs>(0, BEES_MAX_EXTENT_REF_COUNT * extent_ref_size + sizeof(btrfs_data_container));
 | 
			
		||||
	});
 | 
			
		||||
	m_tmpfile_pool.checkin([](const shared_ptr<BeesTempFile> &btf) {
 | 
			
		||||
		catch_all([&](){
 | 
			
		||||
 
 | 
			
		||||
		Reference in New Issue
	
	Block a user