containerd / continuity

A transport-agnostic, filesystem metadata manifest system
https://containerd.io
Apache License 2.0
139 stars 67 forks source link

Fix Lchmod() for Linux+Go1.11 #120

Closed kolyshkin closed 6 years ago

kolyshkin commented 6 years ago

This fixes the bug that Go 1.11 uncovered (rendering driver.Lchmod() useless as it always returns an error now. Found during moby rebase to go-1.11beta1 ( https://github.com/moby/moby/pull/37358#issuecomment-404032896).

This set also optimizes and cleans up some things here and there. Please see individual commit messages for all the details.

The initial 3 commits are preparations:

The 4th commit is the fix itself:

The last one is a small post-fix followup:

kolyshkin commented 6 years ago

Patchset updated to remove sysx.Fchmodat() entirely and use golang.org/x/sys/unix directly as suggested by @dmcgowan. This looks way better.

dmcgowan commented 6 years ago

LGTM

crosbymichael commented 6 years ago

LGTM