Move error annotation for symlink timestamp restore

This commit is contained in:
Alexander Neumann 2015-05-16 13:25:10 +02:00
parent 44219c5afe
commit 14a3ed4e9d
2 changed files with 10 additions and 2 deletions

View file

@ -171,7 +171,7 @@ func (node Node) RestoreTimestamps(path string) error {
if node.Type == "symlink" { if node.Type == "symlink" {
if err := node.restoreSymlinkTimestamps(path, utimes); err != nil { if err := node.restoreSymlinkTimestamps(path, utimes); err != nil {
return errors.Annotate(err, "UtimesNano") return err
} }
return nil return nil

View file

@ -6,6 +6,8 @@ import (
"syscall" "syscall"
"time" "time"
"unsafe" "unsafe"
"github.com/juju/errors"
) )
func (node *Node) OpenForReading() (*os.File, error) { func (node *Node) OpenForReading() (*os.File, error) {
@ -32,7 +34,13 @@ func (node Node) restoreSymlinkTimestamps(path string, utimes [2]syscall.Timespe
return err return err
} }
return utimesNanoAt(int(dir.Fd()), filepath.Base(path), utimes, AT_SYMLINK_NOFOLLOW) err = utimesNanoAt(int(dir.Fd()), filepath.Base(path), utimes, AT_SYMLINK_NOFOLLOW)
if err != nil {
return errors.Annotate(err, "UtimesNanoAt")
}
return nil
} }
// very lowlevel below // very lowlevel below