Revendor zfs to to fix integer overflow

This currently breaks armhf builds.

Signed-off-by: Brian Goff <cpuguy83@gmail.com>
This commit is contained in:
Brian Goff 2021-03-24 21:36:47 +00:00
parent 31a0f92df1
commit 1a9c6f557b
4 changed files with 9 additions and 6 deletions

2
go.mod
View File

@ -18,7 +18,7 @@ require (
github.com/containerd/nri v0.0.0-20210316161719-dbaa18c31c14 github.com/containerd/nri v0.0.0-20210316161719-dbaa18c31c14
github.com/containerd/ttrpc v1.0.2 github.com/containerd/ttrpc v1.0.2
github.com/containerd/typeurl v1.0.1 github.com/containerd/typeurl v1.0.1
github.com/containerd/zfs v0.0.0-20210322090317-0e92c2247fb7 github.com/containerd/zfs v0.0.0-20210324211415-d5c4544f0433
github.com/containernetworking/plugins v0.8.6 github.com/containernetworking/plugins v0.8.6
github.com/coreos/go-systemd/v22 v22.1.0 github.com/coreos/go-systemd/v22 v22.1.0
github.com/davecgh/go-spew v1.1.1 github.com/davecgh/go-spew v1.1.1

4
go.sum
View File

@ -158,8 +158,8 @@ github.com/containerd/typeurl v1.0.1 h1:PvuK4E3D5S5q6IqsPDCy928FhP0LUIGcmZ/Yhgp5
github.com/containerd/typeurl v1.0.1/go.mod h1:TB1hUtrpaiO88KEK56ijojHS1+NeF0izUACaJW2mdXg= github.com/containerd/typeurl v1.0.1/go.mod h1:TB1hUtrpaiO88KEK56ijojHS1+NeF0izUACaJW2mdXg=
github.com/containerd/zfs v0.0.0-20200918131355-0a33824f23a2/go.mod h1:8IgZOBdv8fAgXddBT4dBXJPtxyRsejFIpXoklgxgEjw= github.com/containerd/zfs v0.0.0-20200918131355-0a33824f23a2/go.mod h1:8IgZOBdv8fAgXddBT4dBXJPtxyRsejFIpXoklgxgEjw=
github.com/containerd/zfs v0.0.0-20210301145711-11e8f1707f62/go.mod h1:A9zfAbMlQwE+/is6hi0Xw8ktpL+6glmqZYtevJgaB8Y= github.com/containerd/zfs v0.0.0-20210301145711-11e8f1707f62/go.mod h1:A9zfAbMlQwE+/is6hi0Xw8ktpL+6glmqZYtevJgaB8Y=
github.com/containerd/zfs v0.0.0-20210322090317-0e92c2247fb7 h1:8vskJ2uVsiu9pjODDUnyj6gKZ6mNPMlqPgfqV6gnuRc= github.com/containerd/zfs v0.0.0-20210324211415-d5c4544f0433 h1:oFJf1mMvgJAt2QwgEsXLMQK/qRTY8JXwsCV7No1uCb8=
github.com/containerd/zfs v0.0.0-20210322090317-0e92c2247fb7/go.mod h1:m+m51S1DvAP6r3FcmYCp54bQ34pyOwTieQDNRIRHsFY= github.com/containerd/zfs v0.0.0-20210324211415-d5c4544f0433/go.mod h1:m+m51S1DvAP6r3FcmYCp54bQ34pyOwTieQDNRIRHsFY=
github.com/containernetworking/cni v0.7.1/go.mod h1:LGwApLUm2FpoOfxTDEeq8T9ipbpZ61X79hmU3w8FmsY= github.com/containernetworking/cni v0.7.1/go.mod h1:LGwApLUm2FpoOfxTDEeq8T9ipbpZ61X79hmU3w8FmsY=
github.com/containernetworking/cni v0.8.0 h1:BT9lpgGoH4jw3lFC7Odz2prU5ruiYKcgAjMCbgybcKI= github.com/containernetworking/cni v0.8.0 h1:BT9lpgGoH4jw3lFC7Odz2prU5ruiYKcgAjMCbgybcKI=
github.com/containernetworking/cni v0.8.0/go.mod h1:LGwApLUm2FpoOfxTDEeq8T9ipbpZ61X79hmU3w8FmsY= github.com/containernetworking/cni v0.8.0/go.mod h1:LGwApLUm2FpoOfxTDEeq8T9ipbpZ61X79hmU3w8FmsY=

View File

@ -36,6 +36,9 @@ const (
// active := filepath.Join(dataset.Name, id) // active := filepath.Join(dataset.Name, id)
// committed := active + "@" + snapshotSuffix // committed := active + "@" + snapshotSuffix
snapshotSuffix = "snapshot" snapshotSuffix = "snapshot"
// Using this typed MaxInt64 to prevent integer overlow on 32bit
maxSnapshotSize int64 = math.MaxInt64
) )
type snapshotter struct { type snapshotter struct {
@ -140,8 +143,8 @@ func (z *snapshotter) usage(ctx context.Context, key string) (snapshots.Usage, e
return snapshots.Usage{}, err return snapshots.Usage{}, err
} }
if sDataset.Used > math.MaxInt64 { if int64(sDataset.Used) > maxSnapshotSize {
return snapshots.Usage{}, errors.Errorf("Dataset size exceeds maximum snapshot size of %v bytes", math.MaxInt64) return snapshots.Usage{}, errors.Errorf("Dataset size exceeds maximum snapshot size of %d bytes", maxSnapshotSize)
} }
usage = snapshots.Usage{ usage = snapshots.Usage{

2
vendor/modules.txt vendored
View File

@ -105,7 +105,7 @@ github.com/containerd/ttrpc/plugin
# github.com/containerd/typeurl v1.0.1 # github.com/containerd/typeurl v1.0.1
## explicit ## explicit
github.com/containerd/typeurl github.com/containerd/typeurl
# github.com/containerd/zfs v0.0.0-20210322090317-0e92c2247fb7 # github.com/containerd/zfs v0.0.0-20210324211415-d5c4544f0433
## explicit ## explicit
github.com/containerd/zfs github.com/containerd/zfs
github.com/containerd/zfs/plugin github.com/containerd/zfs/plugin