Ceph use crush algorithm to provide the mapping of objects to OSD servers. This 
is great for clients so they could talk to with these OSDs directly. However 
there are some scenarios where the application needs to access the crush map, 
for load-balancing as an example. 

Currently Ceph doesn't provides any API to render the layout. If your 
application needs to access the crush map you'll going to rely on the command 
'ceph osd map pool_name obj_name'. With this libcrush.so we could let the 
application to choose which nodes to access. The other advantage is we could 
provide some other bindings(python, go) based on this also.

>From the git log we find libcrush was there before but removed out since 
>Argonaut. Can anyone kindly share us the background of this change?


Thanks, -yuan

--
To unsubscribe from this list: send the line "unsubscribe ceph-devel" in
the body of a message to [email protected]
More majordomo info at  http://vger.kernel.org/majordomo-info.html

Reply via email to