I think xfs uses a uuid in its filesystem so that you don't mount a filesystem twich when you got multiple paths to this filesystem. There is a special mount-option called nouuid which makes the kernel ignore the uuid. Because the uuid of the original filesystem is the same as the snapshot-uuid you will have to use this option to mount an xfs-snapshot. And I used xfs-evms-snapshots with evms 1.2.1 for a long time without any problems with the vfs-lock-patch which came with evms 1.2.1. Very old kernels had a problem with ro-xfs-filesystems but this has been resolved now. Perhaps you will have to add the option ro to the mount too when mounting a ro-snapshot.