All of lore.kernel.org
 help / color / mirror / Atom feed
* [SPDK] Re: SPDK ABI Improvements
@ 2020-03-18 10:08 Nabarro, Tom
  0 siblings, 0 replies; 4+ messages in thread
From: Nabarro, Tom @ 2020-03-18 10:08 UTC (permalink / raw)
  To: spdk

[-- Attachment #1: Type: text/plain, Size: 1925 bytes --]

Is v20.01.1 still scheduled for release on the 20th March?

Regards
Tom
-----Original Message-----
From: Howell, Seth <seth.howell(a)intel.com> 
Sent: Tuesday, March 17, 2020 8:04 PM
To: Storage Performance Development Kit <spdk(a)lists.01.org>
Subject: [SPDK] SPDK ABI Improvements

Hello All,

We are taking several steps towards solidifying the ABI strategy for SPDK. These include the following:


  1.  Creating an ABI major/minor versioning scheme for all shared libraries. When a new symbol is added to a library, the shared object minor version will be incremented to show that the library is still backwards compatible. When a symbol is removed or changed, the ABI major version will be updated to indicate that the library is no longer backwards compatible. This versioning scheme will be enforced by the following new test in the SPDK CI: https://review.spdk.io/gerrit/c/spdk/spdk/+/1068.
  2.  Incrementing the shared object version of each library independently.
  3.  Creating individual map files for each shared library.

As we create individual map files for the libraries, ABIs are likely to change, so please keep an eye out for changes in the major/minor version of SPDK libraries as you continue to link your applications to them.

Thank you,

Seth Howell
_______________________________________________
SPDK mailing list -- spdk(a)lists.01.org
To unsubscribe send an email to spdk-leave(a)lists.01.org
---------------------------------------------------------------------
Intel Corporation (UK) Limited
Registered No. 1134945 (England)
Registered Office: Pipers Way, Swindon SN3 1RJ
VAT No: 860 2173 47

This e-mail and any attachments may contain confidential material for
the sole use of the intended recipient(s). Any review or distribution
by others is strictly prohibited. If you are not the intended
recipient, please contact the sender and delete all copies.

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

* [SPDK] Re: SPDK ABI Improvements
@ 2020-03-18 12:48 Luse, Paul E
  0 siblings, 0 replies; 4+ messages in thread
From: Luse, Paul E @ 2020-03-18 12:48 UTC (permalink / raw)
  To: spdk

[-- Attachment #1: Type: text/plain, Size: 2317 bytes --]

Indeed...

-----Original Message-----
From: Nabarro, Tom [mailto:tom.nabarro(a)intel.com] 
Sent: Wednesday, March 18, 2020 3:08 AM
To: Storage Performance Development Kit <spdk(a)lists.01.org>
Subject: [SPDK] Re: SPDK ABI Improvements

Is v20.01.1 still scheduled for release on the 20th March?

Regards
Tom
-----Original Message-----
From: Howell, Seth <seth.howell(a)intel.com> 
Sent: Tuesday, March 17, 2020 8:04 PM
To: Storage Performance Development Kit <spdk(a)lists.01.org>
Subject: [SPDK] SPDK ABI Improvements

Hello All,

We are taking several steps towards solidifying the ABI strategy for SPDK. These include the following:


  1.  Creating an ABI major/minor versioning scheme for all shared libraries. When a new symbol is added to a library, the shared object minor version will be incremented to show that the library is still backwards compatible. When a symbol is removed or changed, the ABI major version will be updated to indicate that the library is no longer backwards compatible. This versioning scheme will be enforced by the following new test in the SPDK CI: https://review.spdk.io/gerrit/c/spdk/spdk/+/1068.
  2.  Incrementing the shared object version of each library independently.
  3.  Creating individual map files for each shared library.

As we create individual map files for the libraries, ABIs are likely to change, so please keep an eye out for changes in the major/minor version of SPDK libraries as you continue to link your applications to them.

Thank you,

Seth Howell
_______________________________________________
SPDK mailing list -- spdk(a)lists.01.org
To unsubscribe send an email to spdk-leave(a)lists.01.org
---------------------------------------------------------------------
Intel Corporation (UK) Limited
Registered No. 1134945 (England)
Registered Office: Pipers Way, Swindon SN3 1RJ
VAT No: 860 2173 47

This e-mail and any attachments may contain confidential material for
the sole use of the intended recipient(s). Any review or distribution
by others is strictly prohibited. If you are not the intended
recipient, please contact the sender and delete all copies.
_______________________________________________
SPDK mailing list -- spdk(a)lists.01.org
To unsubscribe send an email to spdk-leave(a)lists.01.org

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

* [SPDK] Re: SPDK ABI Improvements
@ 2020-04-13 19:03 Howell, Seth
  0 siblings, 0 replies; 4+ messages in thread
From: Howell, Seth @ 2020-04-13 19:03 UTC (permalink / raw)
  To: spdk

[-- Attachment #1: Type: text/plain, Size: 3475 bytes --]

Hi All,

Just a friendly reminder about the ABI improvements we are trying to make and that we have added a new test to the unittest job in the CI that will check your patches for any added, removed, or modified symbols.

If you modify, add, or remove any symbols, you will need to update the SO version of the library to which that symbol belongs. Added symbols will require you to update the minor version, removed or modified symbols will require you to update the major version. This can be done by modifying the following variables in the top level Makefile of your library (e.g. lib/sock/Makefile, module/bdev/malloc/Makefile):
SO_VER: The major version
SO_MINOR: The minor version

Currently any variable beginning with spdk_ is exported via the SPDK libraries as a public symbol even if it is not in a public header. This is because of the global spdk map file we use. I am currently working on remedying that by creating individual map files for each library.

The test that checks for any changes to the ABI will notify you of any changes you need to make to the SO versions or if you made an unnecessary change to the SO version that should be reverted

Those lines of text look like this:

"Please update the major SO version for {shared object}. API functions or variables have been removed since last release"

"Please update the major SO version for {shared object}. API functions or variables have been changed since last release"

"Please update the minor SO version for {shared object}. API functions or variables have been added since last release"

"SO name for {shared object} changed without a change to abi. Please revert that change" - This one occurs when you change a shared object version unnecessarily.

"SO major version for {shared object} was bumped. Please reset the minor version to 0." - This one occurs when you bump the major version of a library, but fail to reset the minor version to 0.

I hope this helps anyone who is facing issues with navigating the new changes to SPDK map files or symbols within the libraries.

Thanks,

Seth

-----Original Message-----
From: Howell, Seth <seth.howell(a)intel.com> 
Sent: Tuesday, March 17, 2020 1:04 PM
To: Storage Performance Development Kit <spdk(a)lists.01.org>
Subject: [SPDK] SPDK ABI Improvements

Hello All,

We are taking several steps towards solidifying the ABI strategy for SPDK. These include the following:


  1.  Creating an ABI major/minor versioning scheme for all shared libraries. When a new symbol is added to a library, the shared object minor version will be incremented to show that the library is still backwards compatible. When a symbol is removed or changed, the ABI major version will be updated to indicate that the library is no longer backwards compatible. This versioning scheme will be enforced by the following new test in the SPDK CI: https://review.spdk.io/gerrit/c/spdk/spdk/+/1068.
  2.  Incrementing the shared object version of each library independently.
  3.  Creating individual map files for each shared library.

As we create individual map files for the libraries, ABIs are likely to change, so please keep an eye out for changes in the major/minor version of SPDK libraries as you continue to link your applications to them.

Thank you,

Seth Howell
_______________________________________________
SPDK mailing list -- spdk(a)lists.01.org
To unsubscribe send an email to spdk-leave(a)lists.01.org

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

* [SPDK] Re: SPDK ABI Improvements
@ 2020-04-13 20:48 Luse, Paul E
  0 siblings, 0 replies; 4+ messages in thread
From: Luse, Paul E @ 2020-04-13 20:48 UTC (permalink / raw)
  To: spdk

[-- Attachment #1: Type: text/plain, Size: 3969 bytes --]

Thanks Seth.. These improvements are a strong sign of continued SW quality improvement.  Excellent work!

-Paul

-----Original Message-----
From: Howell, Seth [mailto:seth.howell(a)intel.com] 
Sent: Monday, April 13, 2020 12:03 PM
To: Storage Performance Development Kit <spdk(a)lists.01.org>
Subject: [SPDK] Re: SPDK ABI Improvements

Hi All,

Just a friendly reminder about the ABI improvements we are trying to make and that we have added a new test to the unittest job in the CI that will check your patches for any added, removed, or modified symbols.

If you modify, add, or remove any symbols, you will need to update the SO version of the library to which that symbol belongs. Added symbols will require you to update the minor version, removed or modified symbols will require you to update the major version. This can be done by modifying the following variables in the top level Makefile of your library (e.g. lib/sock/Makefile, module/bdev/malloc/Makefile):
SO_VER: The major version
SO_MINOR: The minor version

Currently any variable beginning with spdk_ is exported via the SPDK libraries as a public symbol even if it is not in a public header. This is because of the global spdk map file we use. I am currently working on remedying that by creating individual map files for each library.

The test that checks for any changes to the ABI will notify you of any changes you need to make to the SO versions or if you made an unnecessary change to the SO version that should be reverted

Those lines of text look like this:

"Please update the major SO version for {shared object}. API functions or variables have been removed since last release"

"Please update the major SO version for {shared object}. API functions or variables have been changed since last release"

"Please update the minor SO version for {shared object}. API functions or variables have been added since last release"

"SO name for {shared object} changed without a change to abi. Please revert that change" - This one occurs when you change a shared object version unnecessarily.

"SO major version for {shared object} was bumped. Please reset the minor version to 0." - This one occurs when you bump the major version of a library, but fail to reset the minor version to 0.

I hope this helps anyone who is facing issues with navigating the new changes to SPDK map files or symbols within the libraries.

Thanks,

Seth

-----Original Message-----
From: Howell, Seth <seth.howell(a)intel.com>
Sent: Tuesday, March 17, 2020 1:04 PM
To: Storage Performance Development Kit <spdk(a)lists.01.org>
Subject: [SPDK] SPDK ABI Improvements

Hello All,

We are taking several steps towards solidifying the ABI strategy for SPDK. These include the following:


  1.  Creating an ABI major/minor versioning scheme for all shared libraries. When a new symbol is added to a library, the shared object minor version will be incremented to show that the library is still backwards compatible. When a symbol is removed or changed, the ABI major version will be updated to indicate that the library is no longer backwards compatible. This versioning scheme will be enforced by the following new test in the SPDK CI: https://review.spdk.io/gerrit/c/spdk/spdk/+/1068.
  2.  Incrementing the shared object version of each library independently.
  3.  Creating individual map files for each shared library.

As we create individual map files for the libraries, ABIs are likely to change, so please keep an eye out for changes in the major/minor version of SPDK libraries as you continue to link your applications to them.

Thank you,

Seth Howell
_______________________________________________
SPDK mailing list -- spdk(a)lists.01.org
To unsubscribe send an email to spdk-leave(a)lists.01.org _______________________________________________
SPDK mailing list -- spdk(a)lists.01.org
To unsubscribe send an email to spdk-leave(a)lists.01.org

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

end of thread, other threads:[~2020-04-13 20:48 UTC | newest]

Thread overview: 4+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2020-03-18 10:08 [SPDK] Re: SPDK ABI Improvements Nabarro, Tom
  -- strict thread matches above, loose matches on Subject: below --
2020-03-18 12:48 Luse, Paul E
2020-04-13 19:03 Howell, Seth
2020-04-13 20:48 Luse, Paul E

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.