check / check (push) Waiting to run
List and ListStream walked the destination with afero.Walk, which uses Lstat and so reported a symlinked metadata/ or blobs/ directory as one file, while Put, Get and Stat follow the link. The store then listed as empty, and prune removed the local snapshot records and deleted every blob. The listings, and DeletePartialUploads, which remote nuke uses, now walk a view of the filesystem without its Lstat method, so afero falls back to Stat and enters the link. A prefix lists as empty only when it is truly missing: when it or a directory above it is a symlink whose target is missing, such as a link to an unmounted volume, the listing fails. Judgement call: a symlink loop is not detected; it is followed until the system refuses the path, and the listing fails. Model: opus-5-5