Re: librados3

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

 



On 10/25/2017 01:35 AM, kefu chai wrote:
thanks for your inputs, guys!

On Fri, Oct 20, 2017 at 8:15 AM, Brad Hubbard <bhubbard@xxxxxxxxxx> wrote:
On Fri, Oct 20, 2017 at 1:26 AM, Alan Somers <asomers@xxxxxxxxxxx> wrote:
Would it be possible to use ELF symbol versioning to bump the versions
of all affected functions without bumping the .so number?  That would
provide an upgrade path for distros.  The downside is that the new
librados would need to keep compat shims for old clients.

we don't release header files and library with versioned symbols at
least in pre-mimic, so i don't think this approach would help the
librados client to link against the expected old functions. see the
output of

$ objdump -x bin/rados | grep -A42 References


anyway, thanks to Jason and Sage, we now have a fix for the
ceph::buffer ABI incompatibility and it's backported to luminous. see
https://github.com/ceph/ceph/pull/18408. probably we won't have
librados3 in this release.

The most common culprit for ABI issues is bufferlist since we expose the
internal ceph type directly. This has caused problems with almost every
release lately.

At this point it it seems worth finally separating the internal and
external types there, without doing a full new version of librados.

It may be possible to do this without introducing a new type, by freezing the existing bufferlist as the external type for librados and librbd, and making a conversion if necessary. We could add a true pimpl wrapper as a new type to avoid the overhead of conversion if it is a problem.

Josh
--
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