code: func (a *Driver) Diff(id, parent string) (io.ReadCloser, error) {
  	if !a.isParent(id, parent) {
  		return a.naiveDiff.Diff(id, parent)
  	}
  
  	// AUFS doesn't need the parent layer to produce a diff.
  	return archive.TarWithOptions(path.Join(a.rootPath(), "diff", id), &archive.TarOptions{
  		Compression:     archive.Uncompressed,
  		ExcludePatterns: []string{archive.WhiteoutMetaPrefix + "*", "!" + archive.WhiteoutOpaqueDir},
  		UIDMaps:         a.uidMaps,
  		GIDMaps:         a.gidMaps,
  	})
  }
docs: // Diff produces an archive of the changes between the specified
  // layer and its parent layer which may be "".