moby/daemon/graphdriver
Vivek Goyal 6cc55dd65b devmapper: Fail to start container if xfs_nospace_max_retries can't be enforced
We just introduced a new tunable dm.xfs_nospace_max_retries. But this tunable
will work only on new kernels where xfs supports this feature. On older
kernels xfs does not allow tuning this behavior.

There are two issues. First one is that if xfsSetNospaceRetries() fails,
it returns error but leaves the device activated and mounted. We should
be unmounting the device and deactivate it before returning.
 
Second issue is, if docker is started on older kernel, with
dm.xfs_nospace_max_retries specified, then docker will silently ignore the
fact that /sys file to tweak this behavior is not present and will continue.
But I think it might be better to fail container creation/start if kernel
does not support this feature.

This patch fixes it. After this patch, user will get an error like following
when container is run.

# docker run -ti fedora bash
docker: Error response from daemon: devmapper: user specified daemon option dm.xfs_nospace_max_retries but it does not seem to be supported on this system :open /sys/fs/xfs/dm-5/error/metadata/ENOSPC/max_retries: no such file or directory.

Signed-off-by: Vivek Goyal <vgoyal@redhat.com>
2016-09-07 14:03:01 -04:00
..
aufs wrong id when testing exists in daemon aufs 2016-08-16 16:42:45 +08:00
btrfs Add disk quota support for btrfs 2016-05-05 14:35:13 +08:00
devmapper devmapper: Fail to start container if xfs_nospace_max_retries can't be enforced 2016-09-07 14:03:01 -04:00
graphtest Update diff apply test to check sub directories 2016-07-26 12:03:55 -07:00
overlay Don't create devices if in a user namespace 2016-08-12 16:26:58 -04:00
overlay2 Avoid fork on mount for overlay2 in common case 2016-08-22 11:43:10 -07:00
register Add separate overlay2 driver 2016-06-08 00:16:01 -07:00
vfs Adding readOnly parameter to graphdriver Create method 2016-04-06 13:52:53 -07:00
windows Merge pull request #25509 from Microsoft/jjh/23079 2016-08-12 09:32:22 -07:00
zfs Merge pull request #24745 from daehyeok/logrus 2016-07-28 16:50:19 -07:00
counter.go Add reference counting to aufs 2016-05-23 15:57:23 -07:00
driver.go use %s instead of %q when format in graphdirver log 2016-07-30 02:12:55 +08:00
driver_freebsd.go Move layer mount refcounts to mountedLayer 2016-03-23 14:42:52 -07:00
driver_linux.go aufs,overlay: disable on eCryptfs 2016-06-01 21:00:35 +03:00
driver_solaris.go Refactoring for logrus formatting 2016-07-18 12:53:34 -06:00
driver_unsupported.go Get the Docker Engine to build clean on Solaris 2016-05-23 16:37:12 -07:00
driver_windows.go Windows: Remove windowsdiff driver 2016-05-20 16:18:19 -07:00
fsdiff.go Fix logrus formatting 2016-06-11 13:16:55 -07:00
plugin.go plugins: experimental support for new plugin management 2016-06-14 14:20:27 -07:00
plugin_unsupported.go Create extpoint for graphdrivers 2015-09-09 20:24:35 -04:00
proxy.go Adding readOnly parameter to graphdriver Create method 2016-04-06 13:52:53 -07:00