Moving files between btrfs subvolumes doesn't work because they're
different volumes.
However, it's possible to reflink the files to their new location, then
remove the original.
Rather than forcing the user to do the cp+rm dance that -- in the distant
past -- was required to move files between different hard disks, please add
an option to /bin/mv to use (or try using) reflinks for moving files.
Using reflinks automatigally when a "normal" rename(2) fails may be a
sensible default, but should be turnoffable.