Este é um problema no kernel do Linux. Não está olhando para o verdadeiro super-bloco dos sistemas de arquivos de origem e destino:
17926 rename("d1/foo", "d2/foo") = -1 EXDEV (Invalid cross-device link)
Parece que o problema está em do_rename()
( fs/namei.c
):
error = -EXDEV;
if (oldnd.mnt != newnd.mnt)
goto exit2;
* suspiro *