For comparison, here's the behaviour of an OpenSSH SFTP server (serving an ext3 filesystem on linux):
$ sftp localhost Connecting to localhost... andrew@localhost's password: sftp> cd /tmp sftp> mkdir directory1 sftp> mkdir directory2 sftp> rename directory1 directory2 Couldn't rename file "/tmp/directory1" to "/tmp/directory2": Failure
So it's not just a peculiarity of the OpenSSH's sftp client.
For comparison, here's the behaviour of an OpenSSH SFTP server (serving an ext3 filesystem on linux):
$ sftp localhost localhost' s password:
Connecting to localhost...
andrew@
sftp> cd /tmp
sftp> mkdir directory1
sftp> mkdir directory2
sftp> rename directory1 directory2
Couldn't rename file "/tmp/directory1" to "/tmp/directory2": Failure
So it's not just a peculiarity of the OpenSSH's sftp client.