Set LD_LIBRARY_PATH only for zpool subprocess, not globally
This commit is contained in:
@@ -17,4 +17,4 @@ services:
|
|||||||
- TZ=America/Denver
|
- TZ=America/Denver
|
||||||
- UVICORN_LOG_LEVEL=info
|
- UVICORN_LOG_LEVEL=info
|
||||||
- ZPOOL_BIN=/host/zpool
|
- ZPOOL_BIN=/host/zpool
|
||||||
- LD_LIBRARY_PATH=/host/lib
|
- ZFS_HOST_LIB=/host/lib
|
||||||
|
|||||||
@@ -15,10 +15,16 @@ async def get_zfs_pool_map() -> dict[str, str]:
|
|||||||
"""
|
"""
|
||||||
pool_map = {}
|
pool_map = {}
|
||||||
try:
|
try:
|
||||||
|
env = os.environ.copy()
|
||||||
|
host_lib = os.environ.get("ZFS_HOST_LIB")
|
||||||
|
if host_lib:
|
||||||
|
env["LD_LIBRARY_PATH"] = host_lib
|
||||||
|
|
||||||
proc = await asyncio.create_subprocess_exec(
|
proc = await asyncio.create_subprocess_exec(
|
||||||
ZPOOL_BIN, "status", "-P",
|
ZPOOL_BIN, "status", "-P",
|
||||||
stdout=asyncio.subprocess.PIPE,
|
stdout=asyncio.subprocess.PIPE,
|
||||||
stderr=asyncio.subprocess.PIPE,
|
stderr=asyncio.subprocess.PIPE,
|
||||||
|
env=env,
|
||||||
)
|
)
|
||||||
stdout, _ = await proc.communicate()
|
stdout, _ = await proc.communicate()
|
||||||
if proc.returncode != 0:
|
if proc.returncode != 0:
|
||||||
|
|||||||
Reference in New Issue
Block a user