Browse Source

vendor: update continuity to 0377f7d767206

This is to include the Go 1.11 fix
(https://github.com/containerd/continuity/pull/120).

Signed-off-by: Kir Kolyshkin <kolyshkin@gmail.com>
Kir Kolyshkin 7 years ago
parent
commit
c64a2448d1

+ 1 - 1
vendor.conf

@@ -116,7 +116,7 @@ google.golang.org/genproto 694d95ba50e67b2e363f3483057db5d4910c18f9
 # containerd
 github.com/containerd/containerd b41633746ed4833f52c3c071e8edcfa2713e5677
 github.com/containerd/fifo 3d5202aec260678c48179c56f40e6f38a095738c
-github.com/containerd/continuity d3c23511c1bf5851696cba83143d9cbcd666869b
+github.com/containerd/continuity 0377f7d767206f3a9e8881d0f02267b0d89c7a62
 github.com/containerd/cgroups fe281dd265766145e943a034aa41086474ea6130
 github.com/containerd/console 5d1b48d6114b8c9666f0c8b916f871af97b0a761
 github.com/containerd/go-runc f271fa2021de855d4d918dbef83c5fe19db1bdd

+ 0 - 13
vendor/github.com/containerd/continuity/driver/driver_unix.go

@@ -6,7 +6,6 @@ import (
 	"errors"
 	"fmt"
 	"os"
-	"path/filepath"
 	"sort"
 
 	"github.com/containerd/continuity/devices"
@@ -26,18 +25,6 @@ func (d *driver) Mkfifo(path string, mode os.FileMode) error {
 	return devices.Mknod(path, mode, 0, 0)
 }
 
-// Lchmod changes the mode of an file not following symlinks.
-func (d *driver) Lchmod(path string, mode os.FileMode) (err error) {
-	if !filepath.IsAbs(path) {
-		path, err = filepath.Abs(path)
-		if err != nil {
-			return
-		}
-	}
-
-	return sysx.Fchmodat(0, path, uint32(mode), sysx.AtSymlinkNofollow)
-}
-
 // Getxattr returns all of the extended attributes for the file at path p.
 func (d *driver) Getxattr(p string) (map[string][]byte, error) {
 	xattrs, err := sysx.Listxattr(p)

+ 19 - 0
vendor/github.com/containerd/continuity/driver/lchmod_linux.go

@@ -0,0 +1,19 @@
+package driver
+
+import (
+	"os"
+
+	"golang.org/x/sys/unix"
+)
+
+// Lchmod changes the mode of a file not following symlinks.
+func (d *driver) Lchmod(path string, mode os.FileMode) error {
+	// On Linux, file mode is not supported for symlinks,
+	// and fchmodat() does not support AT_SYMLINK_NOFOLLOW,
+	// so symlinks need to be skipped entirely.
+	if st, err := os.Stat(path); err == nil && st.Mode()&os.ModeSymlink != 0 {
+		return nil
+	}
+
+	return unix.Fchmodat(unix.AT_FDCWD, path, uint32(mode), 0)
+}

+ 14 - 0
vendor/github.com/containerd/continuity/driver/lchmod_unix.go

@@ -0,0 +1,14 @@
+// +build darwin freebsd solaris
+
+package driver
+
+import (
+	"os"
+
+	"golang.org/x/sys/unix"
+)
+
+// Lchmod changes the mode of a file not following symlinks.
+func (d *driver) Lchmod(path string, mode os.FileMode) error {
+	return unix.Fchmodat(unix.AT_FDCWD, path, uint32(mode), unix.AT_SYMLINK_NOFOLLOW)
+}

+ 2 - 2
vendor/github.com/containerd/continuity/fs/du.go

@@ -10,8 +10,8 @@ type Usage struct {
 
 // DiskUsage counts the number of inodes and disk usage for the resources under
 // path.
-func DiskUsage(roots ...string) (Usage, error) {
-	return diskUsage(roots...)
+func DiskUsage(ctx context.Context, roots ...string) (Usage, error) {
+	return diskUsage(ctx, roots...)
 }
 
 // DiffUsage counts the numbers of inodes and disk usage in the

+ 7 - 1
vendor/github.com/containerd/continuity/fs/du_unix.go

@@ -24,7 +24,7 @@ func newInode(stat *syscall.Stat_t) inode {
 	}
 }
 
-func diskUsage(roots ...string) (Usage, error) {
+func diskUsage(ctx context.Context, roots ...string) (Usage, error) {
 
 	var (
 		size   int64
@@ -37,6 +37,12 @@ func diskUsage(roots ...string) (Usage, error) {
 				return err
 			}
 
+			select {
+			case <-ctx.Done():
+				return ctx.Err()
+			default:
+			}
+
 			inoKey := newInode(fi.Sys().(*syscall.Stat_t))
 			if _, ok := inodes[inoKey]; !ok {
 				inodes[inoKey] = struct{}{}

+ 7 - 1
vendor/github.com/containerd/continuity/fs/du_windows.go

@@ -8,7 +8,7 @@ import (
 	"path/filepath"
 )
 
-func diskUsage(roots ...string) (Usage, error) {
+func diskUsage(ctx context.Context, roots ...string) (Usage, error) {
 	var (
 		size int64
 	)
@@ -21,6 +21,12 @@ func diskUsage(roots ...string) (Usage, error) {
 				return err
 			}
 
+			select {
+			case <-ctx.Done():
+				return ctx.Err()
+			default:
+			}
+
 			size += fi.Size()
 			return nil
 		}); err != nil {

+ 0 - 18
vendor/github.com/containerd/continuity/sysx/chmod_darwin.go

@@ -1,18 +0,0 @@
-package sysx
-
-const (
-	// AtSymlinkNoFollow defined from AT_SYMLINK_NOFOLLOW in <sys/fcntl.h>
-	AtSymlinkNofollow = 0x20
-)
-
-const (
-
-	// SYS_FCHMODAT defined from golang.org/sys/unix
-	SYS_FCHMODAT = 467
-)
-
-// These functions will be generated by generate.sh
-//    $ GOOS=darwin GOARCH=386 ./generate.sh chmod
-//    $ GOOS=darwin GOARCH=amd64 ./generate.sh chmod
-
-//sys  Fchmodat(dirfd int, path string, mode uint32, flags int) (err error)

+ 0 - 25
vendor/github.com/containerd/continuity/sysx/chmod_darwin_386.go

@@ -1,25 +0,0 @@
-// mksyscall.pl -l32 chmod_darwin.go
-// MACHINE GENERATED BY THE COMMAND ABOVE; DO NOT EDIT
-
-package sysx
-
-import (
-	"syscall"
-	"unsafe"
-)
-
-// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT
-
-func Fchmodat(dirfd int, path string, mode uint32, flags int) (err error) {
-	var _p0 *byte
-	_p0, err = syscall.BytePtrFromString(path)
-	if err != nil {
-		return
-	}
-	_, _, e1 := syscall.Syscall6(SYS_FCHMODAT, uintptr(dirfd), uintptr(unsafe.Pointer(_p0)), uintptr(mode), uintptr(flags), 0, 0)
-	use(unsafe.Pointer(_p0))
-	if e1 != 0 {
-		err = errnoErr(e1)
-	}
-	return
-}

+ 0 - 25
vendor/github.com/containerd/continuity/sysx/chmod_darwin_amd64.go

@@ -1,25 +0,0 @@
-// mksyscall.pl chmod_darwin.go
-// MACHINE GENERATED BY THE COMMAND ABOVE; DO NOT EDIT
-
-package sysx
-
-import (
-	"syscall"
-	"unsafe"
-)
-
-// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT
-
-func Fchmodat(dirfd int, path string, mode uint32, flags int) (err error) {
-	var _p0 *byte
-	_p0, err = syscall.BytePtrFromString(path)
-	if err != nil {
-		return
-	}
-	_, _, e1 := syscall.Syscall6(SYS_FCHMODAT, uintptr(dirfd), uintptr(unsafe.Pointer(_p0)), uintptr(mode), uintptr(flags), 0, 0)
-	use(unsafe.Pointer(_p0))
-	if e1 != 0 {
-		err = errnoErr(e1)
-	}
-	return
-}

+ 0 - 17
vendor/github.com/containerd/continuity/sysx/chmod_freebsd.go

@@ -1,17 +0,0 @@
-package sysx
-
-const (
-	// AtSymlinkNoFollow defined from AT_SYMLINK_NOFOLLOW in <sys/fcntl.h>
-	AtSymlinkNofollow = 0x200
-)
-
-const (
-
-	// SYS_FCHMODAT defined from golang.org/sys/unix
-	SYS_FCHMODAT = 490
-)
-
-// These functions will be generated by generate.sh
-//    $ GOOS=freebsd GOARCH=amd64 ./generate.sh chmod
-
-//sys  Fchmodat(dirfd int, path string, mode uint32, flags int) (err error)

+ 0 - 25
vendor/github.com/containerd/continuity/sysx/chmod_freebsd_amd64.go

@@ -1,25 +0,0 @@
-// mksyscall.pl chmod_freebsd.go
-// MACHINE GENERATED BY THE COMMAND ABOVE; DO NOT EDIT
-
-package sysx
-
-import (
-	"syscall"
-	"unsafe"
-)
-
-// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT
-
-func Fchmodat(dirfd int, path string, mode uint32, flags int) (err error) {
-	var _p0 *byte
-	_p0, err = syscall.BytePtrFromString(path)
-	if err != nil {
-		return
-	}
-	_, _, e1 := syscall.Syscall6(SYS_FCHMODAT, uintptr(dirfd), uintptr(unsafe.Pointer(_p0)), uintptr(mode), uintptr(flags), 0, 0)
-	use(unsafe.Pointer(_p0))
-	if e1 != 0 {
-		err = errnoErr(e1)
-	}
-	return
-}

+ 0 - 12
vendor/github.com/containerd/continuity/sysx/chmod_linux.go

@@ -1,12 +0,0 @@
-package sysx
-
-import "syscall"
-
-const (
-	// AtSymlinkNoFollow defined from AT_SYMLINK_NOFOLLOW in /usr/include/linux/fcntl.h
-	AtSymlinkNofollow = 0x100
-)
-
-func Fchmodat(dirfd int, path string, mode uint32, flags int) error {
-	return syscall.Fchmodat(dirfd, path, mode, flags)
-}

+ 0 - 11
vendor/github.com/containerd/continuity/sysx/chmod_solaris.go

@@ -1,11 +0,0 @@
-package sysx
-
-import "golang.org/x/sys/unix"
-
-const (
-	AtSymlinkNofollow = unix.AT_SYMLINK_NOFOLLOW
-)
-
-func Fchmodat(dirfd int, path string, mode uint32, flags int) error {
-	return unix.Fchmodat(dirfd, path, mode, flags)
-}

+ 0 - 1
vendor/github.com/containerd/continuity/sysx/xattr_darwin.go

@@ -8,7 +8,6 @@ package sysx
 //sys  setxattr(path string, attr string, data []byte, flags int) (err error)
 //sys  removexattr(path string, attr string, options int) (err error)
 //sys  listxattr(path string, dest []byte, options int) (sz int, err error)
-//sys  Fchmodat(dirfd int, path string, mode uint32, flags int) (err error)
 
 const (
 	xattrNoFollow = 0x01