Steps to reproduce:
1. cd /tmp; mkdir a;
2. sudo btrfs subvolume snapshot / /tmp/a
causes `ERROR: incorrect snapshot name '/'` whereas `ERROR /tmp/a is an existing directory` would be way more helpful
experienced with `btrfs-progs` 4.3.1
Actually the problem is in '/' in the source path (or '.'). If you create another subvolume (say b), do 'snapshot b a', then it works and creates 'a/b'. This behaviour is consistent with 'cp' copying directories, but there's a bug in btrfs-progs that mistakenly refuses to use '/' or '.' as source subvolume.