mirror of
https://github.com/NVIDIA/nvidia-container-toolkit
synced 2025-02-16 09:32:27 +00:00
Exclude libnvidia-allocator from graphics mounts
Signed-off-by: Evan Lezar <elezar@nvidia.com>
This commit is contained in:
parent
9d4294450d
commit
beb921fafe
@ -146,6 +146,27 @@ func newGraphicsLibrariesDiscoverer(logger logger.Interface, driver *root.Driver
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
// Mounts discovers the required libraries and filters out libnvidia-allocator.so.
|
||||||
|
// The library libnvidia-allocator.so is already handled by either the *.RM_VERSION
|
||||||
|
// injection or by libnvidia-container. We therefore filter it out here as a
|
||||||
|
// workaround for the case where libnvidia-container will re-mount this in the
|
||||||
|
// container, which causes issues with shared mount propagation.
|
||||||
|
func (d graphicsDriverLibraries) Mounts() ([]Mount, error) {
|
||||||
|
mounts, err := d.Discover.Mounts()
|
||||||
|
if err != nil {
|
||||||
|
return nil, fmt.Errorf("failed to get library mounts: %v", err)
|
||||||
|
}
|
||||||
|
|
||||||
|
var filtered []Mount
|
||||||
|
for _, mount := range mounts {
|
||||||
|
if d.isDriverLibrary(filepath.Base(mount.Path), "libnvidia-allocator.so") {
|
||||||
|
continue
|
||||||
|
}
|
||||||
|
filtered = append(filtered, mount)
|
||||||
|
}
|
||||||
|
return filtered, nil
|
||||||
|
}
|
||||||
|
|
||||||
// Create necessary library symlinks for graphics drivers
|
// Create necessary library symlinks for graphics drivers
|
||||||
func (d graphicsDriverLibraries) Hooks() ([]Hook, error) {
|
func (d graphicsDriverLibraries) Hooks() ([]Hook, error) {
|
||||||
mounts, err := d.Discover.Mounts()
|
mounts, err := d.Discover.Mounts()
|
||||||
|
@ -62,11 +62,7 @@ func TestGraphicsLibrariesDiscoverer(t *testing.T) {
|
|||||||
return mounts, nil
|
return mounts, nil
|
||||||
},
|
},
|
||||||
},
|
},
|
||||||
expectedMounts: []Mount{
|
expectedMounts: nil,
|
||||||
{
|
|
||||||
Path: "/usr/lib64/libnvidia-allocator.so.123.45.67",
|
|
||||||
},
|
|
||||||
},
|
|
||||||
expectedHooks: []Hook{
|
expectedHooks: []Hook{
|
||||||
{
|
{
|
||||||
Lifecycle: "createContainer",
|
Lifecycle: "createContainer",
|
||||||
@ -121,9 +117,6 @@ func TestGraphicsLibrariesDiscoverer(t *testing.T) {
|
|||||||
},
|
},
|
||||||
},
|
},
|
||||||
expectedMounts: []Mount{
|
expectedMounts: []Mount{
|
||||||
{
|
|
||||||
Path: "/usr/lib64/libnvidia-allocator.so.123.45.67",
|
|
||||||
},
|
|
||||||
{
|
{
|
||||||
Path: "/usr/lib64/libnvidia-vulkan-producer.so.123.45.67",
|
Path: "/usr/lib64/libnvidia-vulkan-producer.so.123.45.67",
|
||||||
},
|
},
|
||||||
|
Loading…
Reference in New Issue
Block a user