Merge pull request #23410 from cyphar/fix-xattr-ignore

pkg: archive: only ignore ENOTSUP when xattr fails
This commit is contained in:
Sebastiaan van Stijn 2016-06-10 15:58:25 +02:00 committed by GitHub
commit 4a3b9a606b

View file

@ -428,8 +428,15 @@ func createTarFile(path, extractDir string, hdr *tar.Header, reader io.Reader, L
var errors []string
for key, value := range hdr.Xattrs {
if err := system.Lsetxattr(path, key, []byte(value), 0); err != nil {
// We ignore errors here because not all graphdrivers support xattrs.
errors = append(errors, err.Error())
if err == syscall.ENOTSUP {
// We ignore errors here because not all graphdrivers support
// xattrs *cough* old versions of AUFS *cough*. However only
// ENOTSUP should be emitted in that case, otherwise we still
// bail.
errors = append(errors, err.Error())
continue
}
return err
}
}