librados3

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

 



we plan to introduce some non-backward-compatible changes[0] in
librados in the coming nautilus release. to be specific, these changes
are not API/ABI compatible with existing librados2. so i think it's
time to bump up the soversion of librados from 2 to 3.  as bumping up
soversion is a major change in the life cycle of a library, i think we
will expect following changes:

0. piggyback more non-backward-compatible changes listed in
https://pad.ceph.com/p/librados3 in this change, so we can have less
soversion bump up.
1. in nautilus, librados3 and librados3-{dev,devel} will be packaged
instead, librados2* will be maintained in LTS releases.
2. we will have separated C++ and C API librados after this change. so
librados3 will only provide the C API of librados, the C++ API will be
offered by libradospp, (the name may vary if you suggest a better
one). and they will be versioned and packaged separately, and will not
depend on each other. a PR is posted to do this, see [1]
3. in order to enable user to install librados2 and librados3 at the
same time, libceph-common.so will be versioned since nautilus.
libceph-common.so is an internal shared library used by ceph
libraries, tools and daemons. librados depends on libceph-common.
4. some executables/libraries' dependencies will be updated
accordingly . for instance, librbd will depend on libradospp.

if this model works fine, i guess we probably could expand it to librbd.

any concerns?

BTW, we discussed this topic last year the same time, see
https://www.spinics.net/lists/ceph-devel/msg38830.html =)

---
[0] for instance, https://github.com/ceph/ceph/pull/24498
[1] https://github.com/ceph/ceph/pull/24616
[2] a trello card for librados3:
https://trello.com/c/pmRkawYV/165-librados3-api-update-cleanup

-- 
Regards
Kefu Chai



[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