|  | @@ -1433,11 +1433,20 @@ class FilesystemObjectProcessors:
 | 
	
		
			
				|  |  |              item.uid = uid
 | 
	
		
			
				|  |  |          if gid is not None:
 | 
	
		
			
				|  |  |              item.gid = gid
 | 
	
		
			
				|  |  | -        self.process_file_chunks(item, cache, self.stats, self.show_progress, backup_io_iter(self.chunker.chunkify(fd)))
 | 
	
		
			
				|  |  | -        item.get_size(memorize=True)
 | 
	
		
			
				|  |  | -        self.stats.nfiles += 1
 | 
	
		
			
				|  |  | -        self.add_item(item, stats=self.stats)
 | 
	
		
			
				|  |  | -        return status
 | 
	
		
			
				|  |  | +        try:
 | 
	
		
			
				|  |  | +            self.process_file_chunks(
 | 
	
		
			
				|  |  | +                item, cache, self.stats, self.show_progress, backup_io_iter(self.chunker.chunkify(fd))
 | 
	
		
			
				|  |  | +            )
 | 
	
		
			
				|  |  | +        except BackupOSError:
 | 
	
		
			
				|  |  | +            # see comments in process_file's exception handler, same issue here.
 | 
	
		
			
				|  |  | +            for chunk in item.get("chunks", []):
 | 
	
		
			
				|  |  | +                cache.chunk_decref(chunk.id, self.stats, wait=False)
 | 
	
		
			
				|  |  | +            raise
 | 
	
		
			
				|  |  | +        else:
 | 
	
		
			
				|  |  | +            item.get_size(memorize=True)
 | 
	
		
			
				|  |  | +            self.stats.nfiles += 1
 | 
	
		
			
				|  |  | +            self.add_item(item, stats=self.stats)
 | 
	
		
			
				|  |  | +            return status
 | 
	
		
			
				|  |  |  
 | 
	
		
			
				|  |  |      def process_file(self, *, path, parent_fd, name, st, cache, flags=flags_normal):
 | 
	
		
			
				|  |  |          with self.create_helper(path, st, None) as (item, status, hardlinked, hl_chunks):  # no status yet
 |