Closed atlanticaccent closed 2 years ago
The error message CrossesDevices
makes me think that for some reason, calling persist is causing the folder to be persisted on a different disk than the temp directory. That would imply that the OS has been installed on one drive/device, but been configured to keep it's default tmp
directory on another drive/device - which I have to say is unusual.
I'll see if there might be some way to abstract over this edge case and prevent this
That would imply that the OS has been installed on one drive/device, but been configured to keep it's default
tmp
directory on another drive/device - which I have to say is unusual.
This is standard practice on a Linux-based system. /tmp isn't really the same disk as the rest of the mounts, per se. It's actually it's own filesystem. A sample mount
command would output something similar to this
tmpfs on /tmp type tmpfs
/dev/sda3 on / type ext4
In this (simplified) sample mount
output, disk sda3 is mounted at root, covering the root dir and home dirs (/home). With this in mind, it seems that /tmp is being considered a different device. I don't think I've ever seen any *nix setup that has the /tmp dir actually mounted to the physical disk. tmpfs is very much temporary: it is always lost upon reboot. I imagine that rust has some built-in way to try to deal with this, as I'd be willing to wager other projects have run into this in the past. If nothing else, hopefully this explanation helps you figure something out.
Originally posted by @TheDukeofErl in https://github.com/atlanticaccent/starsector-mod-manager-rust/issues/158#issuecomment-1145468797