librados api cleanup

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



There are a few problems with the current librados api (at least the C 
bindings).  The main one is that there is an implicit assumption that you 
can only interact with a single cluster from the same process.  
rados_initalize() takes argc/argv, allowing you to pass in configuration 
options and/or a config file location, and it is assume that is the 
cluster that is referenced when you open up a pool.

Beyond that, there are some cosmetic issues with function naming, argument 
ordering, and so forth.  If we're going to fix the main problem and break 
compatibility, we should take the opportunity to clean up the rest.  And 
make the change sooner rather than later to minimize the pain.

See http://tracker.newdream.net/issues/801 and the librados_api branch in 
ceph.git.

In order to make it really work the way it looks, though, we need to 
identiy and eliminate as many remaining instances of common static 
variables.  Currently, for example, the configuration state is static 
(in this case, shared between clusters).  For things like 
debugging/logging, that's fine, but for other options it can be 
problematic.

Are there other problems that people have run into?  How important are 
these issues?  At the very lease we can stick this stuff on the long term 
roadmap.

sage

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


[Index of Archives]     [CEPH Users]     [Ceph Large]     [Information on CEPH]     [Linux BTRFS]     [Linux USB Devel]     [Video for Linux]     [Linux Audio Users]     [Yosemite News]     [Linux Kernel]     [Linux SCSI]
  Powered by Linux