Added failed umount force retry
This commit is contained in:
15
main.py
15
main.py
@@ -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:
|
||||||
|
|||||||
Reference in New Issue
Block a user