Volume namespaces - fixes 771

Fixes #771.

Some temporary code is in place so this doesn't break the rest of the system.
Did we capture all cases, can we remove this now? Looks suspect leaving an `assert` in application code to be merged in to master. I guess from the XXX comment this is just a debugging convenience for existing tests.