moby/container
Kir Kolyshkin 7f1c6bf5a7 pkg/mount: wrap mount/umount errors
The errors returned from Mount and Unmount functions are raw
syscall.Errno errors (like EPERM or EINVAL), which provides
no context about what has happened and why.

Similar to os.PathError type, introduce mount.Error type
with some context. The error messages will now look like this:

> mount /tmp/mount-tests/source:/tmp/mount-tests/target, flags: 0x1001: operation not permitted

or

> mount tmpfs:/tmp/mount-test-source-516297835: operation not permitted

Before this patch, it was just

> operation not permitted

[v2: add Cause()]
[v3: rename MountError to Error, document Cause()]
[v4: fixes; audited all users]
[v5: make Error type private; changes after @cpuguy83 reviews]

Signed-off-by: Kir Kolyshkin <kolyshkin@gmail.com>
(cherry picked from commit 6533136961)
Signed-off-by: Kir Kolyshkin <kolyshkin@gmail.com>
2019-06-05 11:50:50 -07:00
..
stream Fix fd leak on attach 2018-05-31 10:11:18 -04:00
archive.go container.BaseFS: check for nil before deref 2018-03-13 21:24:48 -07:00
container.go Merge pull request #37092 from cpuguy83/local_logger 2018-08-20 07:01:41 +01:00
container_unit_test.go Update tests to use gotest.tools 👼 2018-06-13 09:04:30 +02:00
container_unix.go pkg/mount: wrap mount/umount errors 2019-06-05 11:50:50 -07:00
container_windows.go UnmountIpcMount: simplify 2019-06-04 15:21:22 -07:00
env.go Add canonical import comment 2018-02-05 16:51:57 -05:00
env_test.go Add canonical import comment 2018-02-05 16:51:57 -05:00
health.go Add canonical import comment 2018-02-05 16:51:57 -05:00
history.go Add canonical import comment 2018-02-05 16:51:57 -05:00
memory_store.go Add canonical import comment 2018-02-05 16:51:57 -05:00
memory_store_test.go Add canonical import comment 2018-02-05 16:51:57 -05:00
monitor.go Add canonical import comment 2018-02-05 16:51:57 -05:00
mounts_unix.go Add canonical import comment 2018-02-05 16:51:57 -05:00
mounts_windows.go Add canonical import comment 2018-02-05 16:51:57 -05:00
state.go Switch from x/net/context -> context 2018-04-23 13:52:44 -07:00
state_test.go Add canonical import comment 2018-02-05 16:51:57 -05:00
store.go Add canonical import comment 2018-02-05 16:51:57 -05:00
view.go Various code-cleanup 2018-05-23 17:50:54 +02:00
view_test.go Update tests to use gotest.tools 👼 2018-06-13 09:04:30 +02:00