I'm running LXD on a Centos 8 host, kernel-4.18.0. I built and installed the shiftfs module.

I added a device to a container which mounts a local file system in the container: $ lxc config device add devel devel disk path=/<container-path> source=/<host-path> shift=true
(Both container and mounted fs are named "devel".)

This appears to work with a local FS. Files which were owned by "root" on the host system show up as owned by "root" in the container, not by "nobody". I can create and delete files normally.

When the host filesystem is NFS mounted, it initially appears correct in the container, but there are several odd behaviors:

Creating a file:
[eager@devel devel]$ cd tmp
[eager@devel tmp]$ ls
[eager@devel tmp]$ touch x
touch: cannot touch 'x': Permission denied
[eager@devel tmp]$ ls -l
total 512
-rw-rw-r-- 1 eager eager 0 Jul 18 17:56 x

Deleting a file:
[eager@devel tmp]$ rm x
rm: remove write-protected regular empty file 'x'? y
rm: cannot remove 'x': Permission denied
[eager@devel tmp]$ ls -l
total 512
-rw-rw-r-- 1 eager eager 0 Jul 18 17:56 x

When I remove the file 'x' on the host, it's gone in the container, but trying to create 'x' again fails with a different error:
[eager@devel tmp]$ ls -l
total 0
[eager@devel tmp]$ touch x
touch: cannot touch 'x': Stale file handle
[eager@devel tmp]$ ls -l
total 0

But I can create a different file 'y', albeit with the permission error:
[eager@devel tmp]$ touch y
touch: cannot touch 'y': Permission denied
[eager@devel tmp]$ ls -l
total 1.0K
-rw-rw-r-- 1 eager eager 0 Jul 18 18:07 y


Something seems to be broken.  Is there a way to fix this?

--
Michael Eager

_______________________________________________
lxc-users mailing list
lxc-users@lists.linuxcontainers.org
http://lists.linuxcontainers.org/listinfo/lxc-users

Reply via email to