mirror of
https://github.com/moby/moby.git
synced 2022-11-09 12:21:53 -05:00
c7a38c2c06
Due to a bug in Golang (github.com/golang#27640), the "character device" bit was omitted when checking file-modes with `os.ModeType`. This bug was resolved in Go 1.12, but as a result, graphdrivers would no longer recognize "device" files, causing pulling of images that have a file with this filemode to fail; failed to register layer: unknown file type for /var/lib/docker/vfs/dir/.../dev/console The current code checked for an exact match of Modes to be set. The `os.ModeCharDevice` and `os.ModeDevice` bits will always be set in tandem, however, because the code was only looking for an exact match, this detection broke now that `os.ModeCharDevice` was added. This patch changes the code to be more defensive, and instead check if the `os.ModeDevice` bit is set (either with, or without the `os.ModeCharDevice` bit). In addition, some information was added to the error-message if no type was matched, to assist debugging in case additional types are added in future. Signed-off-by: Sebastiaan van Stijn <github@gone.nl> |
||
---|---|---|
.. | ||
aufs | ||
btrfs | ||
copy | ||
devmapper | ||
graphtest | ||
lcow | ||
overlay | ||
overlay2 | ||
overlayutils | ||
quota | ||
register | ||
vfs | ||
windows | ||
zfs | ||
counter.go | ||
driver.go | ||
driver_freebsd.go | ||
driver_linux.go | ||
driver_test.go | ||
driver_unsupported.go | ||
driver_windows.go | ||
errors.go | ||
fsdiff.go | ||
plugin.go | ||
proxy.go |