Added failed umount force retry

This commit is contained in:
2026-07-29 18:37:01 +01:00
parent 660b76f82d
commit 8433951546

25
main.py
View File

@@ -38,6 +38,7 @@ class AppState:
diskEventQueue: Queue[DiskEvent] = Queue() diskEventQueue: Queue[DiskEvent] = Queue()
diskState: DiskState = "disconnected" diskState: DiskState = "disconnected"
config = Config() config = Config()
failedUmount: bool = False
def saveConfig(config: Config, path: Path) -> None: def saveConfig(config: Config, path: Path) -> None:
@@ -174,19 +175,31 @@ def mountDisk(state: AppState) -> None:
def unmountDisk(state: AppState) -> None: def unmountDisk(state: AppState) -> None:
try: if not state.failedUmount:
try:
subprocess.run(
[
"umount",
f"/mnt/{state.config.diskSerial}",
],
check=True,
)
print("unmounting disk")
except subprocess.CalledProcessError:
state.failedUmount = True
else:
state.diskState = "disconnected"
else:
subprocess.run( subprocess.run(
[ [
"umount", "umount",
"-f",
f"/mnt/{state.config.diskSerial}", f"/mnt/{state.config.diskSerial}",
], ],
check=True, check=False,
) )
print("unmounting disk")
except subprocess.CalledProcessError:
pass
else:
state.diskState = "disconnected" state.diskState = "disconnected"
state.failedUmount = False
def main() -> None: def main() -> None: