[lxc-users] Using shiftfs with NFS mounted filesystem
Michael Eager
eager at eagerm.com
Sat Jul 18 18:16:16 UTC 2020
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 at devel devel]$ cd tmp
[eager at devel tmp]$ ls
[eager at devel tmp]$ touch x
touch: cannot touch 'x': Permission denied
[eager at devel tmp]$ ls -l
total 512
-rw-rw-r-- 1 eager eager 0 Jul 18 17:56 x
Deleting a file:
[eager at devel tmp]$ rm x
rm: remove write-protected regular empty file 'x'? y
rm: cannot remove 'x': Permission denied
[eager at 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 at devel tmp]$ ls -l
total 0
[eager at devel tmp]$ touch x
touch: cannot touch 'x': Stale file handle
[eager at devel tmp]$ ls -l
total 0
But I can create a different file 'y', albeit with the permission error:
[eager at devel tmp]$ touch y
touch: cannot touch 'y': Permission denied
[eager at 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
More information about the lxc-users
mailing list