func setFileMeta(name string, sc *schema.Superset) error { err1 := os.Chmod(name, sc.FileMode()) var err2 error if mt := sc.ModTime(); !mt.IsZero() { err2 = os.Chtimes(name, mt, mt) } err3 := os.Chown(name, sc.UnixOwnerId, sc.UnixGroupId) // Return first non-nil error for logging. for _, err := range []error{err1, err2, err3} { if err != nil { return err } } return nil }