_createFile opened the cache file with O_RDWR but not O_CREATE, relying on the file already existing. When the file had been removed underneath rclone - either by _checkObject dropping a stale entry during open, or by external deletion - the open failed and surfaced a hard "IO error" to the application instead of recreating the file. Add O_CREATE so the cache self-heals in that case.