Skip to content

STORAGE — the data location

Raised by the storage checks. Hardlinks and one mount point explains what each of these costs.

CodeSeverityExitWhat it meansWhat to do
STORAGE-1warning1The data location cannot hardlink, so imports copy: each takes minutes rather than being instant, uses twice the disk while it runs, and torrents cannot seed from the library copy. Where the filesystem type explains it — exFAT, FAT, SMB, NFS, the WSL2 boundary — the message names that.Choose a location that hardlinks, or continue in copy mode. The services are configured to copy, so imports still work.
STORAGE-2error1The data location exists and cannot be written to. The services have to own what they import, so every import fails far from where the cause shows.Give the account that runs the services write access to the data location.
STORAGE-3error1The data location could not be reached. A stack that wrote into a missing mount point would build a phantom library on the system disk.Check the location exists and any drive holding it is connected.
STORAGE-4warning1Free space is low, or is projected to run out against what is already queued. A disk that fills partway through an import leaves half a file behind and stalls the queue.Free space on the data location, thin the download queue, or move it to a larger volume.
STORAGE-5error1The data location used to hardlink and no longer does — usually a drive that came back mounted with different options. Every import since has been copying.Check how the data location is mounted, and remount it as it was. A network share remounted without the right options is the common cause.
STORAGE-6error1You own the data location and the containers cannot write it: they run as one user and group, and the directory's ownership and mode do not allow them. Imports fail inside the services.Give the service user ownership of the data location, or write access to it.
STORAGE-7warning1A service sees more than one mount beneath the data location, so each is its own filesystem inside the container and a file moved between them is copied rather than linked. Nothing is broken — imports take longer and use twice the space.Mount the data location once and keep the downloads and the library as directories beneath it. Where the layout is deliberate, lemonfiber doctor --accept storage.single-mount settles it.
STORAGE-8warning1The stack is copying imports where it was set up to hardlink them, because the data location stopped hardlinking under it. Imports still work, using twice the disk.Restore the location's hardlink support, then run the storage check again.
STORAGE-9error1DATA_ROOT names an NFS export whose server is not a host name or an address, or whose export is not an absolute path free of characters that would change the mount options. Written as it stands it would mount something other than what it says, so the project is not written from it.Set DATA_ROOT to an absolute path or to nfs://<server>/<export> with lemonfiber config set DATA_ROOT, which checks it before it is kept.

What each severity and each exit means is on every error by code, beside every other family.