Hello, touch /tmp/foo; mount /tmp /mnt --bind; strace -e rename mv /tmp/foo /mnt/bar Ideally, I would expect, that since /tmp and /mnt are the same filesystem, that the move operation would complete without _copying_ the file. But strace returns rename("/tmp/foo", "/mnt/bar") = -1 EXDEV (Invalid cross-device link) The piece of code identified is fs/namei.c:2578:do_rename() error = -EXDEV; if (oldnd.mnt != newnd.mnt) goto exit2; Why is EXDEV returned when _vfs mountpoints_ are crossed? Should not it be more like the following? error = -EXDEV; if (oldnd.mnt->mnt_sb != newnd.mnt->mnt_sb) goto exit2; Jan -- - To unsubscribe from this list: send the line "unsubscribe linux-fsdevel" in the body of a message to majordomo@xxxxxxxxxxxxxxx More majordomo info at http://vger.kernel.org/majordomo-info.html