The downside is that it relies on a specific naming scheme and requires the end-user to understand that scheme.
One of my goals when building this is that it should work with any subvolume no matter what it was named. If I create a subvolume called "bob" and create a snapper config for it, it should just work. It shouldn't require me to know that I also need to create a "bob.snapshots" and then add an additional entry to /etc/fstab. Further, what happens if you rename "@" to "monkey". How would you then know that the snapshots in "@.snapshots" need to be restored to "monkey"?
The current system handles all that transparently.
true ! I understand. I guess if its something I know about and manage carefully, its no big deal. But if its something created by the GUI for a lot of users who might start messing, it would be trouble !
I take that as a personal failure when I was testing. Although I don't use much nested subvolumes ( prefer flat + mounting structure ), I do sometimes have to do it to skip backup and snapshots ( things like temp or cache ).