On Thu, Dec 15, 2016 at 01:30:21PM -0500, Jonathan Lebon wrote: > The Docker docs also has a breakdown of incompatibilities: > > https://docs.docker.com/engine/userguide/storagedriver/overlayfs-driver/#/overlayfs-compatibility > > Notably, there's the open(2) issue that has already been > mentioned. The second issue is that rename(2) can fail if > trying to move a dir across the lower and upper dirs: > > $ mkdir lower upper work merged > $ mkdir lower/dir > $ sudo mount -t overlay overlay \ > -olowerdir=$PWD/lower,upperdir=$PWD/upper,workdir=$PWD/work \ > merged > $ python -c 'import os; os.rename("merged/dir", "merged/dir2")' > Traceback (most recent call last): > File "<string>", line 1, in <module> > OSError: [Errno 18] Invalid cross-device link > > So you have to watch for EXDEV and fall back on copying.
I think renaming of directories from lower to upper has been taken care of by miklos in his tree and it should show up in 4.10 kernel. https://git.kernel.org/cgit/linux/kernel/git/mszeredi/vfs.git/commit/?h=overlayfs-linus&id=79a95dbf629f39b0379cde43ac50351567ffa50e Vivek