mirror of
https://github.com/octoleo/restic.git
synced 2024-12-18 08:34:20 +00:00
bf054c09d2
On FreeBSD, limited users may not be able to even list xattrs for the parent directories above the snapshot source paths. As this can cause the backup to fail, just ignore those errors.
54 lines
1.4 KiB
Go
54 lines
1.4 KiB
Go
//go:build aix
|
|
// +build aix
|
|
|
|
package restic
|
|
|
|
import (
|
|
"os"
|
|
"syscall"
|
|
)
|
|
|
|
func (node Node) restoreSymlinkTimestamps(_ string, _ [2]syscall.Timespec) error {
|
|
return nil
|
|
}
|
|
|
|
// AIX has a funny timespec type in syscall, with 32-bit nanoseconds.
|
|
// golang.org/x/sys/unix handles this cleanly, but we're stuck with syscall
|
|
// because os.Stat returns a syscall type in its os.FileInfo.Sys().
|
|
func toTimespec(t syscall.StTimespec_t) syscall.Timespec {
|
|
return syscall.Timespec{Sec: t.Sec, Nsec: int64(t.Nsec)}
|
|
}
|
|
|
|
func (s statT) atim() syscall.Timespec { return toTimespec(s.Atim) }
|
|
func (s statT) mtim() syscall.Timespec { return toTimespec(s.Mtim) }
|
|
func (s statT) ctim() syscall.Timespec { return toTimespec(s.Ctim) }
|
|
|
|
// Getxattr is a no-op on AIX.
|
|
func Getxattr(path, name string) ([]byte, error) {
|
|
return nil, nil
|
|
}
|
|
|
|
// Listxattr is a no-op on AIX.
|
|
func Listxattr(path string) ([]string, error) {
|
|
return nil, nil
|
|
}
|
|
|
|
func IsListxattrPermissionError(_ error) bool {
|
|
return false
|
|
}
|
|
|
|
// Setxattr is a no-op on AIX.
|
|
func Setxattr(path, name string, data []byte) error {
|
|
return nil
|
|
}
|
|
|
|
// restoreGenericAttributes is no-op on AIX.
|
|
func (node *Node) restoreGenericAttributes(_ string, warn func(msg string)) error {
|
|
return node.handleAllUnknownGenericAttributesFound(warn)
|
|
}
|
|
|
|
// fillGenericAttributes is a no-op on AIX.
|
|
func (node *Node) fillGenericAttributes(_ string, _ os.FileInfo, _ *statT) (allowExtended bool, err error) {
|
|
return true, nil
|
|
}
|