Retarget hard links pointing to deleted files by emitting the deleted file contents under the first hard link instance. This fixes a breakage in the squashed TAR where we were pointing hard links to missing data.
Fixes https://jira.coreos.com/browse/QUAY-885
This commit is contained in:
		
							parent
							
								
									041a7fcd36
								
							
						
					
					
						commit
						110366f656
					
				
					 8 changed files with 337 additions and 252 deletions
				
			
		|  | @ -19,7 +19,7 @@ class AppCImageFormatter(TarImageFormatter): | |||
|   """ | ||||
| 
 | ||||
|   def stream_generator(self, repo_image, tag, synthetic_image_id, get_image_iterator, | ||||
|                        get_layer_iterator): | ||||
|                        tar_stream_getter_iterator): | ||||
|     image_mtime = 0 | ||||
|     created = next(get_image_iterator()).v1_metadata.created | ||||
|     if created is not None: | ||||
|  | @ -40,7 +40,7 @@ class AppCImageFormatter(TarImageFormatter): | |||
|     # Yield the merged layer dtaa. | ||||
|     yield self.tar_folder('rootfs', mtime=image_mtime) | ||||
| 
 | ||||
|     layer_merger = StreamLayerMerger(get_layer_iterator, path_prefix='rootfs/') | ||||
|     layer_merger = StreamLayerMerger(tar_stream_getter_iterator, path_prefix='rootfs/') | ||||
|     for entry in layer_merger.get_generator(): | ||||
|       yield entry | ||||
| 
 | ||||
|  |  | |||
		Reference in a new issue