A process holding an open descriptor on a disk that vanished from the bus doesn’t get ENOENT (No such file or directory) — it gets EIO (I/O error):

Error: EIO: i/o error, scandir '/data/backups'

The distinction points the finger: ENOENT would mean a wrong path, a config bug, a volume not mounted at startup. EIO means the path existed and the storage underneath died afterward — cable, controller, disk. Right software, failing hardware.

When a container starts spitting EIO, check dmesg/journalctl -k for a USB or SATA reset before restarting the container. Restarting won’t bring the disk back.