diff options
author | Vincent Batts <vbatts@hashbangbash.com> | 2015-08-03 12:26:38 -0400 |
---|---|---|
committer | Ian Lance Taylor <iant@golang.org> | 2015-08-04 17:34:43 +0000 |
commit | a1d093d95dfb888e55f960943bd3ad3d181ec743 (patch) | |
tree | eb4100ebdc0c856e91b5ca1ab354ec01df017dca | |
parent | bc5a6ce6bef1457e2bc8e90fd7f93e0e22a03128 (diff) | |
download | go-a1d093d95dfb888e55f960943bd3ad3d181ec743.tar.gz go-a1d093d95dfb888e55f960943bd3ad3d181ec743.zip |
archive/tar: don't treat multiple file system links as a tar hardlink
Do not assume that if stat shows multiple links that we should mark the
file as a hardlink in the tar format. If the hardlink link was not
referenced, this caused a link to "/". On an overlay file system, all
files have multiple links.
The caller must keep the inode references and set TypeLink, Size = 0,
and LinkName themselves.
Change-Id: I873b8a235bc8f8fbb271db74ee54232da36ca013
Reviewed-on: https://go-review.googlesource.com/13045
Reviewed-by: Ian Lance Taylor <iant@golang.org>
-rw-r--r-- | src/archive/tar/stat_unix.go | 5 |
1 files changed, 0 insertions, 5 deletions
diff --git a/src/archive/tar/stat_unix.go b/src/archive/tar/stat_unix.go index 27d112f665..cb843db4cf 100644 --- a/src/archive/tar/stat_unix.go +++ b/src/archive/tar/stat_unix.go @@ -28,10 +28,5 @@ func statUnix(fi os.FileInfo, h *Header) error { h.AccessTime = statAtime(sys) h.ChangeTime = statCtime(sys) // TODO(bradfitz): major/minor device numbers? - if fi.Mode().IsRegular() && sys.Nlink > 1 { - h.Typeflag = TypeLink - h.Size = 0 - // TODO(vbatts): Linkname? - } return nil } |