Re: librados3

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

 



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.

I agree. The change in name has caused problems in the past with
upgrades and I'm not sure it's necessary if we implemented versioning
akin to https://gcc.gnu.org/onlinedocs/libstdc++/manual/abi.html ?

The problem, as Alan has mentioned, is maintenance. Kefu, how much of
a headache would this sort of version maintenance actually be?

>
> On Thu, Oct 19, 2017 at 6:13 AM, Sage Weil <sweil@xxxxxxxxxx> wrote:
>> On Thu, 19 Oct 2017, Jason Dillaman wrote:
>>> As long as we plan to continue to ship librados2 side-by-side with
>>> librados3 for a while, I'm fine with starting down that path for
>>> mimic. There are a lot of applications linked against librados2
>>> floating in the wild.
>>>
>>> For luminous, we could perhaps just drop the "_mempool" member
>>> variable from bufferlist and chance the semantics where the caller
>>> needs to add at least a single buffer::raw before the mempool can be
>>> assigned. That preserves the ABI since we aren't changing the size of
>>> bufferlist and preserves the mempool functionality (with a little
>>> extra work).  That tweak would only be needed for the first
>>> buffer::ptr appended to the bufferlist since subsequent appends can
>>> just copy the mempool value from the first buffer::ptr.
>>
>> I think that will still be sufficient for bluestore (which relies on
>> mempool accounting to make its cache trimming work).  I can give it a try
>> today!
>>
>> sage
>>
>>> On Thu, Oct 19, 2017 at 6:43 AM, John Spray <jspray@xxxxxxxxxx> wrote:
>>> > On Thu, Oct 19, 2017 at 10:25 AM, kefu chai <tchaikov@xxxxxxxxx> wrote:
>>> >> in luminous, we introduced a change not backward compatible with
>>> >> pre-luminous librados. see see http://tracker.ceph.com/issues/21573.
>>> >> and i cannot see an obvious solution without bumping up the so version
>>> >> of librados to 3.
>>> >>
>>> >> if we have the luxury to do it,  we will be able to give librados an
>>> >> overhaul. for a todo list, see http://pad.ceph.com/p/librados3.
>>> >>
>>> >> what do you think?
>>> >
>>> > I've added a couple of items to the pad for deprecated bits to remove
>>> > when we go up a version.
>>> >
>>> > I guess we would do the version bump for Mimic and for Luminous we
>>> > will just have to apologetically tell people they need to recompile?
>>> >
>>> > Or we could have a so.3 version (ABI change only) in Luminous that
>>> > just bumps the version to force a recompile, and a so.4 version in
>>> > Mimic that actually makes the API changes?
>>> >
>>> > John
>>> >
>>> >>
>>> >> --
>>> >> Regards
>>> >> Kefu Chai
>>> >> --
>>> >> 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
>>>
>>>
>>>
>>> --
>>> Jason
>>> --
>>> 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
>>>
>>>
>> --
>> 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
> --
> 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



-- 
Cheers,
Brad
--
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