node.jslibuv

What does the "EXDEV: cross-device link not permitted" error mean?


What does this error actually mean? What is a "cross-device link"?

It is mentioned on this libuv page but it doesn't give any details beyond "cross-device link not permitted".


Solution

  • It is used for EXDEV on Linux:

    See man rename manpage:

    EXDEV oldpath and newpath are not on the same mounted filesystem. (Linux permits a filesystem to be mounted at multiple points, but rename() does not work across different mount points, even if the same filesystem is mounted on both.)

    This error is also used when there is ERROR_NOT_SAME_DEVICE on Windows, see:

    For more info see:

    winerror.h 0x80070011 #define ERROR_NOT_SAME_DEVICE The system cannot move the file to a different disk drive.