From 034219c75eb6fa97eb41afa30c71f7d7bbac8fd8 Mon Sep 17 00:00:00 2001 From: adam Date: Sat, 7 Mar 2026 03:48:46 +0000 Subject: [PATCH] Set LD_LIBRARY_PATH only for zpool subprocess, not globally --- docker-compose.yml | 2 +- services/zfs.py | 6 ++++++ 2 files changed, 7 insertions(+), 1 deletion(-) diff --git a/docker-compose.yml b/docker-compose.yml index 62b9621..e4caf43 100644 --- a/docker-compose.yml +++ b/docker-compose.yml @@ -17,4 +17,4 @@ services: - TZ=America/Denver - UVICORN_LOG_LEVEL=info - ZPOOL_BIN=/host/zpool - - LD_LIBRARY_PATH=/host/lib + - ZFS_HOST_LIB=/host/lib diff --git a/services/zfs.py b/services/zfs.py index 55394e3..b2bc657 100644 --- a/services/zfs.py +++ b/services/zfs.py @@ -15,10 +15,16 @@ async def get_zfs_pool_map() -> dict[str, str]: """ pool_map = {} 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( ZPOOL_BIN, "status", "-P", stdout=asyncio.subprocess.PIPE, stderr=asyncio.subprocess.PIPE, + env=env, ) stdout, _ = await proc.communicate() if proc.returncode != 0: