podman: `--mount type=glob` does not preserve symlinks
Broken out of https://github.com/containers/podman/issues/20000:
Here’s an example.
I’m using this line in my module file to do the glob mount:
"type=glob,source=/usr/lib64/libcuda*,destination=/usr/lib64,ro",
Here are our target libraries on the host system:
stephey@perlmutter:login24:/usr/lib64> ls -la | grep libcuda
lrwxrwxrwx 1 root root 29 Mar 28 20:44 libcudadebugger.so.1 -> libcudadebugger.so.525.105.17
-rwxr-xr-x 1 root root 10490248 Mar 28 20:44 libcudadebugger.so.525.105.17
lrwxrwxrwx 1 root root 12 Mar 28 20:44 libcuda.so -> libcuda.so.1
lrwxrwxrwx 1 root root 21 Mar 28 20:44 libcuda.so.1 -> libcuda.so.525.105.17
-rwxr-xr-x 1 root root 29867944 Mar 28 20:44 libcuda.so.525.105.17
stephey@perlmutter:login24:/usr/lib64>
Here are the mounted libraries inside the container running with my gpu module:
root@8dd9e54b936a:/usr/lib64# ls -la | grep libcuda
-rwxr-xr-x 1 nobody nogroup 29867944 Mar 29 03:44 libcuda.so
-rwxr-xr-x 1 nobody nogroup 29867944 Mar 29 03:44 libcuda.so.1
-rwxr-xr-x 1 nobody nogroup 29867944 Mar 29 03:44 libcuda.so.525.105.17
-rwxr-xr-x 1 nobody nogroup 10490248 Mar 29 03:44 libcudadebugger.so.1
-rwxr-xr-x 1 nobody nogroup 10490248 Mar 29 03:44 libcudadebugger.so.525.105.17
root@8dd9e54b936a:/usr/lib64#
We’d like the existing symlinks to be preserved.
_Originally posted by @lastephey in https://github.com/containers/podman/issues/20000#issuecomment-1728649786_
About this issue
- Original URL
- State: closed
- Created 9 months ago
- Comments: 15 (12 by maintainers)
Commits related to this issue
- new mount option to preserve symlinks WIP Fixes: #20098 Fixes: issues.redhat.com/browse/RUN-1935 Signed-off-by: Valentin Rothberg <vrothberg@redhat.com> — committed to vrothberg/libpod by vrothberg 9 months ago
- new mount option to preserve symlinks WIP Fixes: #20098 Fixes: issues.redhat.com/browse/RUN-1935 Signed-off-by: Valentin Rothberg <vrothberg@redhat.com> — committed to vrothberg/libpod by vrothberg 9 months ago
- new 'copy-symlink' mount option Add a new copy-symlink mount option supported by crun 1.11+ to re-create/copy a symlink if it's the source of a mount. By default the kernel will resolve the symlink ... — committed to vrothberg/libpod by vrothberg 9 months ago
- new 'copy-symlink' mount option Add a new copy-symlink mount option supported by crun 1.11+ to re-create/copy a symlink if it's the source of a mount. By default the kernel will resolve the symlink ... — committed to vrothberg/libpod by vrothberg 9 months ago
- new 'copy-symlink' mount option Add a new copy-symlink mount option supported by crun 1.11+ to re-create/copy a symlink if it's the source of a mount. By default the kernel will resolve the symlink ... — committed to vrothberg/libpod by vrothberg 9 months ago
- new 'no-dereference' mount option Add a new `no-dereference` mount option supported by crun 1.11+ to re-create/copy a symlink if it's the source of a mount. By default the kernel will resolve the sy... — committed to vrothberg/libpod by vrothberg 9 months ago
I had another chat with @giuseppe on this issue. We settled on adding a new mount option that will work for all mount types, not only the glob one.