The changes recently added to mount-image-callback under bug 1493188 that were targeted at supporting 'overlay' filesystem type while still supporting 'overlayfs' may result in exiting with "unsupported" when a mount would work.
The changes basically said:
if overlay in /proc/filesystems:
return GOOD
modprobe --quiet --use-blacklist overlay
if overlay in /proc/filesystems:
return GOOD
return BAD
the path that fails now that previously succeeded is when 'modprobe' would not work, but 'mount -t overlay' *would*. This occurs in build systems where the running kernel is of one version and code is running in a chroot that does not have access to the kernel modules in /lib/modules/.
'mount -t overlay' works in this scenario because the mount abi call passes the filesystem type 'overlay', and the kernel then does:
fs/filesystems.c: if (!fs && (request_module("fs-%.*s", len, name) == 0))
The kernel's scope is not chrooted, so the module gets loaded and everything is happy.
The changes recently added to mount-image- callback under bug 1493188 that were targeted at supporting 'overlay' filesystem type while still supporting 'overlayfs' may result in exiting with "unsupported" when a mount would work.
The changes basically said:
if overlay in /proc/filesystems:
return GOOD
modprobe --quiet --use-blacklist overlay
if overlay in /proc/filesystems:
return GOOD
return BAD
the path that fails now that previously succeeded is when 'modprobe' would not work, but 'mount -t overlay' *would*. This occurs in build systems where the running kernel is of one version and code is running in a chroot that does not have access to the kernel modules in /lib/modules/.
'mount -t overlay' works in this scenario because the mount abi call passes the filesystem type 'overlay', and the kernel then does: ms.c: if (!fs && (request_ module( "fs-%.* s", len, name) == 0))
fs/filesyste
The kernel's scope is not chrooted, so the module gets loaded and everything is happy.