multifs: Allow filesystems to be assigned RADOS namespace as well as pool for metadata and data
Everywhere we accept a pool argument currently (e.g. in "ceph fs new"), we should additionally accept a RADOS namespace.
This will enable multiple-filesystem users to have their filesystems sharing RADOS pools, rather than having to have a pool per filesystem.
We should probably have a simple syntax like "mypool:mynamespace" for these arguments, such that existing pool-only arguments will continue to work and use the default namespace.
#1 Updated by John Spray over 2 years ago
Note: once we do this, we have to start using two separate messengers in the MDS for rados client vs. cephfs server (or some other solution that gives unique entity ids but still presents the rank as the ID to old clients).
It's so that we don't have multiple daemons with the same rank (but different filesystem IDs) touching the same pool (doesn't happen at moment but will happen when using namespaces) the incarnation logic works to preserve operation order on crashes.
#3 Updated by John Spray over 2 years ago
Just in case I lose it, the draft code for splitting messengers was here: https://github.com/jcsp/ceph/tree/wip-15399-twomsg