Make `move_dir()` atomic again