feat: reserve downloads and protect slot cleanup
This commit is contained in:
@@ -1195,6 +1195,23 @@ class ControllerStore:
|
||||
)
|
||||
return True
|
||||
|
||||
def pending_deletions(self) -> list[DeleteToken]:
|
||||
with self._lock:
|
||||
rows = self.connection.execute(
|
||||
"""
|
||||
SELECT slot_number, generation FROM slots
|
||||
WHERE media_state = 'deleting' ORDER BY slot_number
|
||||
"""
|
||||
).fetchall()
|
||||
return [
|
||||
DeleteToken(
|
||||
slot=row["slot_number"],
|
||||
generation=row["generation"],
|
||||
reason="recovered_interrupted_deletion",
|
||||
)
|
||||
for row in rows
|
||||
]
|
||||
|
||||
def begin_expired_deletions(self, now: float | None = None) -> list[DeleteToken]:
|
||||
now = self._now() if now is None else now
|
||||
tokens: list[DeleteToken] = []
|
||||
|
||||
Reference in New Issue
Block a user