• Ilya Dryomov's avatar
    libceph: crush_location infrastructure · 45e6aa9f
    Ilya Dryomov authored
    Allow expressing client's location in terms of CRUSH hierarchy as
    a set of (bucket type name, bucket name) pairs.  The userspace syntax
    "crush_location = key1=value1 key2=value2" is incompatible with mount
    options and needed adaptation.  Key-value pairs are separated by '|'
    and we use ':' instead of '=' to separate keys from values.  So for:
    
      crush_location = host=foo rack=bar
    
    one would write:
    
      crush_location=host:foo|rack:bar
    
    As in userspace, "multipath" locations are supported, so indicating
    locality for parallel hierarchies is possible:
    
      crush_location=rack:foo1|rack:foo2|datacenter:bar
    Signed-off-by: default avatarIlya Dryomov <idryomov@gmail.com>
    Reviewed-by: default avatarJeff Layton <jlayton@kernel.org>
    45e6aa9f
ceph_common.c 20.9 KB