From 9933796ae83cea9d4d9b239c76440c1ff14c4e7b Mon Sep 17 00:00:00 2001 From: zounengren Date: Wed, 22 Sep 2021 10:22:53 +0800 Subject: [PATCH] replace pkg/errors Signed-off-by: Zou Nengren --- btrfs.go | 36 ++++++++++++++++++------------------ go.mod | 4 +--- go.sum | 2 -- helpers.go | 4 +--- 4 files changed, 20 insertions(+), 26 deletions(-) diff --git a/btrfs.go b/btrfs.go index f9c30b3..c60ab56 100644 --- a/btrfs.go +++ b/btrfs.go @@ -28,13 +28,13 @@ static char* get_name_btrfs_ioctl_vol_args_v2(struct btrfs_ioctl_vol_args_v2* bt import "C" import ( + "errors" + "fmt" "os" "path/filepath" "sort" "syscall" "unsafe" - - "github.com/pkg/errors" ) // maxByteSliceSize is the smallest size that Go supports on various platforms. @@ -99,7 +99,7 @@ func SubvolInfo(path string) (info Info, err error) { return *info, nil } - return info, errors.Errorf("%q not found", path) + return info, fmt.Errorf("%q not found", path) } func subvolMap(path string) (map[uint64]*Info, error) { @@ -273,13 +273,13 @@ func SubvolCreate(path string) error { args.fd = C.__s64(fp.Fd()) if len(name) > C.BTRFS_PATH_NAME_MAX { - return errors.Errorf("%q too long for subvolume", name) + return fmt.Errorf("%q too long for subvolume", name) } nameptr := (*[maxByteSliceSize]byte)(unsafe.Pointer(&args.name[0]))[:C.BTRFS_PATH_NAME_MAX:C.BTRFS_PATH_NAME_MAX] copy(nameptr[:C.BTRFS_PATH_NAME_MAX], []byte(name)) if err := ioctl(fp.Fd(), C.BTRFS_IOC_SUBVOL_CREATE, uintptr(unsafe.Pointer(&args))); err != nil { - return errors.Wrap(err, "btrfs subvolume create failed") + return fmt.Errorf("btrfs subvolume create failed: %w", err) } return nil @@ -292,13 +292,13 @@ func SubvolSnapshot(dst, src string, readonly bool) error { dstfp, err := openSubvolDir(dstdir) if err != nil { - return errors.Wrapf(err, "opening snapshot destination subvolume failed") + return fmt.Errorf("opening snapshot destination subvolume failed: %w", err) } defer dstfp.Close() srcfp, err := openSubvolDir(src) if err != nil { - return errors.Wrapf(err, "opening snapshot source subvolume failed") + return fmt.Errorf("opening snapshot source subvolume failed: %w", err) } defer srcfp.Close() @@ -308,7 +308,7 @@ func SubvolSnapshot(dst, src string, readonly bool) error { name := C.get_name_btrfs_ioctl_vol_args_v2(&args) if len(dstname) > C.BTRFS_SUBVOL_NAME_MAX { - return errors.Errorf("%q too long for subvolume", dstname) + return fmt.Errorf("%q too long for subvolume", dstname) } nameptr := (*[maxByteSliceSize]byte)(unsafe.Pointer(name))[:C.BTRFS_SUBVOL_NAME_MAX:C.BTRFS_SUBVOL_NAME_MAX] @@ -319,7 +319,7 @@ func SubvolSnapshot(dst, src string, readonly bool) error { } if err := ioctl(dstfp.Fd(), C.BTRFS_IOC_SNAP_CREATE_V2, uintptr(unsafe.Pointer(&args))); err != nil { - return errors.Wrapf(err, "snapshot create failed") + return fmt.Errorf("snapshot create failed: %w", err) } return nil @@ -330,7 +330,7 @@ func SubvolDelete(path string) error { dir, name := filepath.Split(path) fp, err := openSubvolDir(dir) if err != nil { - return errors.Wrapf(err, "failed opening %v", path) + return fmt.Errorf("failed opening %v: %w", path, err) } defer fp.Close() @@ -341,7 +341,7 @@ func SubvolDelete(path string) error { return nil } - return errors.Wrapf(err, "failed walking subvolume %v", p) + return fmt.Errorf("failed walking subvolume %v: %w", p, err) } if !fi.IsDir() { @@ -357,7 +357,7 @@ func SubvolDelete(path string) error { } if err := SubvolDelete(p); err != nil { - return errors.Wrapf(err, "recursive delete of %v failed", p) + return fmt.Errorf("recursive delete of %v failed: %w", p, err) } return filepath.SkipDir // children get walked by call above. @@ -367,14 +367,14 @@ func SubvolDelete(path string) error { var args C.struct_btrfs_ioctl_vol_args if len(name) > C.BTRFS_SUBVOL_NAME_MAX { - return errors.Errorf("%q too long for subvolume", name) + return fmt.Errorf("%q too long for subvolume", name) } nameptr := (*[maxByteSliceSize]byte)(unsafe.Pointer(&args.name[0]))[:C.BTRFS_SUBVOL_NAME_MAX:C.BTRFS_SUBVOL_NAME_MAX] copy(nameptr[:C.BTRFS_SUBVOL_NAME_MAX], []byte(name)) if err := ioctl(fp.Fd(), C.BTRFS_IOC_SNAP_DESTROY, uintptr(unsafe.Pointer(&args))); err != nil { - return errors.Wrapf(err, "failed removing subvolume %v", path) + return fmt.Errorf("failed removing subvolume %v: %w", path, err) } return nil @@ -383,7 +383,7 @@ func SubvolDelete(path string) error { func openSubvolDir(path string) (*os.File, error) { fp, err := os.Open(path) if err != nil { - return nil, errors.Wrapf(err, "opening %v as subvolume failed", path) + return nil, fmt.Errorf("opening %v as subvolume failed: %w", path, err) } return fp, nil @@ -391,7 +391,7 @@ func openSubvolDir(path string) (*os.File, error) { func isStatfsSubvol(statfs *syscall.Statfs_t) error { if int64(statfs.Type) != int64(C.BTRFS_SUPER_MAGIC) { - return errors.Errorf("not a btrfs filesystem") + return fmt.Errorf("not a btrfs filesystem") } return nil @@ -399,13 +399,13 @@ func isStatfsSubvol(statfs *syscall.Statfs_t) error { func isFileInfoSubvol(fi os.FileInfo) error { if !fi.IsDir() { - errors.Errorf("must be a directory") + return errors.New("must be a directory") } stat := fi.Sys().(*syscall.Stat_t) if stat.Ino != C.BTRFS_FIRST_FREE_OBJECTID { - return errors.Errorf("incorrect inode type") + return fmt.Errorf("incorrect inode type") } return nil diff --git a/go.mod b/go.mod index 36889c0..6b12cd0 100644 --- a/go.mod +++ b/go.mod @@ -1,5 +1,3 @@ module github.com/containerd/btrfs -go 1.15 - -require github.com/pkg/errors v0.9.1 +go 1.16 diff --git a/go.sum b/go.sum index 7c401c3..e69de29 100644 --- a/go.sum +++ b/go.sum @@ -1,2 +0,0 @@ -github.com/pkg/errors v0.9.1 h1:FEBLx1zS214owpjy7qsBeixbURkuhQAwrK5UwLGTwt4= -github.com/pkg/errors v0.9.1/go.mod h1:bwawxfHBFNV+L2hUp1rHADufV3IMtnDRdf1r5NINEl0= diff --git a/helpers.go b/helpers.go index 475f1c6..4f0c8f1 100644 --- a/helpers.go +++ b/helpers.go @@ -30,8 +30,6 @@ import ( "os" "strings" "unsafe" - - "github.com/pkg/errors" ) func subvolID(fd uintptr) (uint64, error) { @@ -95,7 +93,7 @@ func findMountPoint(path string) (string, error) { } if mount == "" { - return "", errors.Errorf("mount point of %v not found", path) + return "", fmt.Errorf("mount point of %v not found", path) } return mount, nil