github.com/cdoern/storage@v1.12.13/pkg/archive/whiteouts.go (about)

     1  package archive
     2  
     3  // Whiteouts are files with a special meaning for the layered filesystem.
     4  // Docker uses AUFS whiteout files inside exported archives. In other
     5  // filesystems these files are generated/handled on tar creation/extraction.
     6  
     7  // WhiteoutPrefix prefix means file is a whiteout. If this is followed by a
     8  // filename this means that file has been removed from the base layer.
     9  const WhiteoutPrefix = ".wh."
    10  
    11  // WhiteoutMetaPrefix prefix means whiteout has a special meaning and is not
    12  // for removing an actual file. Normally these files are excluded from exported
    13  // archives.
    14  const WhiteoutMetaPrefix = WhiteoutPrefix + WhiteoutPrefix
    15  
    16  // WhiteoutLinkDir is a directory AUFS uses for storing hardlink links to other
    17  // layers. Normally these should not go into exported archives and all changed
    18  // hardlinks should be copied to the top layer.
    19  const WhiteoutLinkDir = WhiteoutMetaPrefix + "plnk"
    20  
    21  // WhiteoutOpaqueDir file means directory has been made opaque - meaning
    22  // readdir calls to this directory do not follow to lower layers.
    23  const WhiteoutOpaqueDir = WhiteoutMetaPrefix + ".opq"