Added failed umount force retry

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

15
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,6 +175,7 @@ def mountDisk(state: AppState) -> None:
def unmountDisk(state: AppState) -> None: def unmountDisk(state: AppState) -> None:
if not state.failedUmount:
try: try:
subprocess.run( subprocess.run(
[ [
@@ -184,9 +186,20 @@ def unmountDisk(state: AppState) -> None:
) )
print("unmounting disk") print("unmounting disk")
except subprocess.CalledProcessError: except subprocess.CalledProcessError:
pass state.failedUmount = True
else: else:
state.diskState = "disconnected" state.diskState = "disconnected"
else:
subprocess.run(
[
"umount",
"-f",
f"/mnt/{state.config.diskSerial}",
],
check=False,
)
state.diskState = "disconnected"
state.failedUmount = False
def main() -> None: def main() -> None: