On Tue, Jan 20, 2009 at 7:20 PM, Konrad Rzeszutek
<kon...@virtualiron.com> wrote:
>
>> > I would recommend that you provide as the first variable in all of the 
>> > structs
>> > an unsigned int called 'version'. This way if the structs are extended they
>> > would be backwards compatible and there is an easy way to identify which
>> > version of structs they are.
>> >
>>
>> Erm, given the amount of programs which will probably end up using this (not
>> all that much) a distro should be able to easily rebuild all those in case of
>> an ABI change and thus a soname bump. I understand what you are trying to say
>> here, but IMHO the added complexity and ugliness is not worth it.
>
> I disagree. The ABI in a distro is a holy thing. When a Linux distro releases 
> their
> libraries (look for example at libvirt), they can't modify it for the next 7 
> years
> (sure they can do it underneath the covers, but look at the Red Hat kernel 
> with
> those #ifdef __GENKSYSM__ to work-around this).
>
> I am curious to understand what is complex and ugly about it? Could you be
> more specific please.

I agree that having a stable binary interface is very important for a
shared library. But if glibc doesn't have versioned structs, why would
these be needed in an iscsi library ? Please keep in mind that it is
possible to define a new version of a shared library in case the ABI
changes.

Bart.

--~--~---------~--~----~------------~-------~--~----~
You received this message because you are subscribed to the Google Groups 
"open-iscsi" group.
To post to this group, send email to open-iscsi@googlegroups.com
To unsubscribe from this group, send email to 
open-iscsi+unsubscr...@googlegroups.com
For more options, visit this group at http://groups.google.com/group/open-iscsi
-~----------~----~----~----~------~----~------~--~---

Reply via email to