All of lore.kernel.org
 help / color / mirror / Atom feed
* librados api cleanup
@ 2011-02-14 23:00 Sage Weil
  2011-02-15  0:04 ` Colin McCabe
  0 siblings, 1 reply; 5+ messages in thread
From: Sage Weil @ 2011-02-14 23:00 UTC (permalink / raw)
  To: ceph-devel

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


^ permalink raw reply	[flat|nested] 5+ messages in thread

end of thread, other threads:[~2011-02-18 22:55 UTC | newest]

Thread overview: 5+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2011-02-14 23:00 librados api cleanup Sage Weil
2011-02-15  0:04 ` Colin McCabe
2011-02-18 21:36   ` Sage Weil
2011-02-18 22:49     ` Colin McCabe
2011-02-18 22:55       ` Tommi Virtanen

This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.