so_ver: increase all major versions after SPDK 24.01To allow SO_MINOR updates on LTS for the whole year it is supported,the major version for all components needs to be increased.This is to preve
so_ver: increase all major versions after SPDK 24.01To allow SO_MINOR updates on LTS for the whole year it is supported,the major version for all components needs to be increased.This is to prevent scenario where two versions exists with matchingversions, but conflicting ABI.Ex. Next SPDK release adds an API call increasing the minor version,then LTS needs just a subset of those additions.Increasing major so version after LTS, allows the future releasesto update versions as needed. Yet allowing LTS to increase minorversion separately.This patch:- increases SO_VER by 1 for all components- resets SO_MINOR to 0 for all componentsDue to patch below being introduced after v24.01 code freeze,bdev lib version should not be increased:61623c5ca9 bdev: add spdk_bdev_io padding in place of io_submit_chShort reference to how the versions were changed:MAX=$(git grep "SO_VER := " | cut -d" " -f 3 | sort -ubnr | head -1)for((i=$MAX;i>0;i-=1)); do find . -name "Makefile" -exec \ sed -i -e "s/SO_VER := $i\$/SO_VER := $(($i+1))/g" {} +; donefind . -name "Makefile" -exec \ sed -i -e "s/SO_MINOR := .*/SO_MINOR := 0/g" {} +Signed-off-by: Tomasz Zawadzki <tomasz.zawadzki@intel.com>Change-Id: I0166d6be6c17bbbf985d48b5dfcb36f1d4af1b48Reviewed-on: https://review.spdk.io/gerrit/c/spdk/spdk/+/21582Reviewed-by: Konrad Sztyber <konrad.sztyber@intel.com>Tested-by: SPDK CI Jenkins <sys_sgci@intel.com>
show more ...
so_ver: increase all major versionsTo allow SO_MINOR updates on LTS for the whole year it is supported,the major version for all components needs to be increased.This is to prevent scenario where
so_ver: increase all major versionsTo allow SO_MINOR updates on LTS for the whole year it is supported,the major version for all components needs to be increased.This is to prevent scenario where two versions exists with matchingversions, but conflicting ABI.Ex. Next SPDK release adds an API call increasing the minor version,then LTS needs just a subset of those additions.Increasing major so version after LTS, allows the future releasesto update versions as needed. Yet allowing LTS to increase minorversion separately.Disabled test for increasing SO version without ABI change, asthat is goal of this patch. This check shall be removed with SPDK 23.05release.Looks like this was left over from prior LTS, to avoid thatmake sure it is only skipped when running against v23.01.x as latestrelease.This patch:- increases SO_VER by 1 for all components- resets SO_MINOR to 0 for all components- removes suppressions for ABI testsShort reference to how the versions were changed:MAX=$(git grep "SO_VER := " | cut -d" " -f 3 | sort -ubnr | head -1)for((i=$MAX;i>0;i-=1)); do find . -name "Makefile" -exec \ sed -i -e "s/SO_VER := $i\$/SO_VER := $(($i+1))/g" {} +; donefind . -name "Makefile" -exec \ sed -i -e "s/SO_MINOR := .*/SO_MINOR := 0/g" {} +Change-Id: I3e5681802c0a5ac6d7d652a18896997cd07cc8bfSigned-off-by: Tomasz Zawadzki <tomasz.zawadzki@intel.com>Reviewed-on: https://review.spdk.io/gerrit/c/spdk/spdk/+/16419Reviewed-by: Ben Walker <benjamin.walker@intel.com>Reviewed-by: Konrad Sztyber <konrad.sztyber@intel.com>Tested-by: SPDK CI Jenkins <sys_sgci@intel.com>
update Intel copyright noticesper Intel policy to include file commit date using git cmdbelow. The policy does not apply to non-Intel (C) notices.git log --follow -C90% --format=%ad --date defa
update Intel copyright noticesper Intel policy to include file commit date using git cmdbelow. The policy does not apply to non-Intel (C) notices.git log --follow -C90% --format=%ad --date default <file> | tail -1and then pull just the 4 digit year from the result.Intel copyrights were not added to files where Intel either hadno contribution ot the contribution lacked substance (ie licenseheader updates, formatting changes, etc). Contribution date used"--follow -C95%" to get the most accurate date.Note that several files in this patch didn't end the license/(c)block with a blank comment line so these were added as the vastmajority of files do have this last blank line. Simply there forconsistency.Signed-off-by: paul luse <paul.e.luse@intel.com>Change-Id: Id5b7ce4f658fe87132f14139ead58d6e285c04d4Reviewed-on: https://review.spdk.io/gerrit/c/spdk/spdk/+/15192Tested-by: SPDK CI Jenkins <sys_sgci@intel.com>Reviewed-by: Jim Harris <james.r.harris@intel.com>Reviewed-by: Ben Walker <benjamin.walker@intel.com>Community-CI: Mellanox Build Bot
Replace most BSD 3-clause license text with SPDX identifier.Many open source projects have moved to using SPDX identifiersto specify license information, reducing the amount ofboilerplate code in
Replace most BSD 3-clause license text with SPDX identifier.Many open source projects have moved to using SPDX identifiersto specify license information, reducing the amount ofboilerplate code in every source file. This patch replacesthe bulk of SPDK .c, .cpp and Makefiles with the BSD-3-Clauseidentifier.Almost all of these files share the exact same license text,and this patch only modifies the files that contain themost common license text. There can be slight variationsbecause the third clause contains company names - most say"Intel Corporation", but there are instances for Nvidia,Samsung, Eideticom and even "the copyright holder".Used a bash script to automate replacement of the license textwith SPDX identifier which is checked into scripts/spdx.sh.Signed-off-by: Jim Harris <james.r.harris@intel.com>Change-Id: Iaa88ab5e92ea471691dc298cfe41ebfb5d169780Reviewed-on: https://review.spdk.io/gerrit/c/spdk/spdk/+/12904Community-CI: Broadcom CI <spdk-ci.pdl@broadcom.com>Community-CI: Mellanox Build BotTested-by: SPDK CI Jenkins <sys_sgci@intel.com>Reviewed-by: Aleksey Marchuk <alexeymar@nvidia.com>Reviewed-by: Changpeng Liu <changpeng.liu@intel.com>Reviewed-by: Dong Yi <dongx.yi@intel.com>Reviewed-by: Konrad Sztyber <konrad.sztyber@intel.com>Reviewed-by: Paul Luse <paul.e.luse@intel.com>Reviewed-by: <qun.wan@intel.com>
so_ver: increase all major versionsTo allow SO_MINOR updates on LTS for the whole year it is supported,the major version for all components needs to be increased.This is to prevent scenario where two versions exists with matchingversions, but conflicting ABI.Ex. Next SPDK release adds an API call increasing the minor version,then LTS needs just a subset of those additions.Increasing major so version after LTS, allows the future releasesto update versions as needed. Yet allowing LTS to increase minorversion separately.Disabled test for increasing SO version without ABI change, asthat is goal of this patch. This check shall be removed with SPDK 22.05release.This patch:- increases SO_VER by 1 for all components- resets SO_MINOR to 0 for all components- removes suppressions for ABI testsSigned-off-by: Tomasz Zawadzki <tomasz.zawadzki@intel.com>Change-Id: Id1a5358882dc496faa5b0b5c9a63b326c378c551Reviewed-on: https://review.spdk.io/gerrit/c/spdk/spdk/+/11361Tested-by: SPDK CI Jenkins <sys_sgci@intel.com>Community-CI: Broadcom CI <spdk-ci.pdl@broadcom.com>Reviewed-by: Jim Harris <james.r.harris@intel.com>Reviewed-by: Ben Walker <benjamin.walker@intel.com>
so_ver: increase all major versionsTo allow SO_MINOR updates on LTS for the whole year it is supported,the major version for all components needs to be increased.This is to prevent scenario where two versions exists with matchingversions, but conflicting ABI.Ex. Next SPDK release adds an API call increasing the minor version,then LTS needs just a subset of those additions.Increasing major so version after LTS, allows the quarterly releasesto update versions as needed. Yet allowing LTS to increase minorversion separately.Disabled test for increasing SO version without ABI change, asthat is goal of this patch. This check shall be removed with SPDK 21.04release.This patch:- increases SO_VER by 1 for all components- resets SO_MINOR to 0 for all components- removes suppressions for ABI testsSigned-off-by: Tomasz Zawadzki <tomasz.zawadzki@intel.com>Change-Id: I44d01154430a074103bd21c7084f44932e81fe72Reviewed-on: https://review.spdk.io/gerrit/c/spdk/spdk/+/6167Community-CI: Broadcom CICommunity-CI: Mellanox Build BotTested-by: SPDK CI Jenkins <sys_sgci@intel.com>Reviewed-by: Ben Walker <benjamin.walker@intel.com>Reviewed-by: Jim Harris <james.r.harris@intel.com>
mk/lib: add a check that major and minor version is set for libs.Also, while we are here, consolidate setting SO_SUFFIX to one spot.Previously, it was possible for a library to slip throughwitho
mk/lib: add a check that major and minor version is set for libs.Also, while we are here, consolidate setting SO_SUFFIX to one spot.Previously, it was possible for a library to slip throughwithout an SO version.Signed-off-by: Seth Howell <seth.howell@intel.com>Change-Id: I4db5fa5839502d266c6259892e5719b05134518cReviewed-on: https://review.spdk.io/gerrit/c/spdk/spdk/+/2361Tested-by: SPDK CI Jenkins <sys_sgci@intel.com>Community-CI: Mellanox Build BotCommunity-CI: Broadcom CIReviewed-by: Paul Luse <paul.e.luse@intel.com>Reviewed-by: Ben Walker <benjamin.walker@intel.com>Reviewed-by: Aleksey Marchuk <alexeymar@mellanox.com>Reviewed-by: Tomasz Zawadzki <tomasz.zawadzki@intel.com>
make: remove spdk.map.As of now, all of the libraries and modules have their ownmap file specified. Get rid of the generic top level one andadd a test to make sure that these files have been spec
make: remove spdk.map.As of now, all of the libraries and modules have their ownmap file specified. Get rid of the generic top level one andadd a test to make sure that these files have been specified.Signed-off-by: Seth Howell <seth.howell@intel.com>Change-Id: I329004e7442c7975731fc973455c93e724982952Reviewed-on: https://review.spdk.io/gerrit/c/spdk/spdk/+/2359Community-CI: Mellanox Build BotCommunity-CI: Broadcom CITested-by: SPDK CI Jenkins <sys_sgci@intel.com>Reviewed-by: Tomasz Zawadzki <tomasz.zawadzki@intel.com>Reviewed-by: Jim Harris <james.r.harris@intel.com>Reviewed-by: Darek Stojaczyk <dariusz.stojaczyk@intel.com>
test: add generic unlink wrapperreduce library uses unlink, but the unit tests need tooverride it in a specific way.But linking unit tests with LTO requires the wrapperdefinitions be in objects
test: add generic unlink wrapperreduce library uses unlink, but the unit tests need tooverride it in a specific way.But linking unit tests with LTO requires the wrapperdefinitions be in objects/libraries listed *after*the object/library that refers to it. So we need tomake the unlink wrapper somewhat generic. We do thisby exporting a string and callback function that theuser can set to enable a user-defined function to becalled when unlink() is called with a specific filename.Also revert 3ef6d06 as part of this patch, since weno longer require the workaround that it implemented.Fixes issue #1357.Signed-off-by: Jim Harris <james.r.harris@intel.com>Change-Id: I1ee4c424ad31fe7d91d7b524ed47aedd279e5b5cReviewed-on: https://review.spdk.io/gerrit/c/spdk/spdk/+/1948Community-CI: Mellanox Build BotTested-by: SPDK CI Jenkins <sys_sgci@intel.com>Reviewed-by: Ben Walker <benjamin.walker@intel.com>Reviewed-by: Tomasz Zawadzki <tomasz.zawadzki@intel.com>
make: rev SO versions individually for libraries.This will allow us to keep track of compatibility issues on aper-library basis.Change-Id: Ib0c796adb1efe1570212a503ed660bef6f142b6eSigned-off-by
make: rev SO versions individually for libraries.This will allow us to keep track of compatibility issues on aper-library basis.Change-Id: Ib0c796adb1efe1570212a503ed660bef6f142b6eSigned-off-by: Seth Howell <seth.howell@intel.com>Reviewed-on: https://review.spdk.io/gerrit/c/spdk/spdk/+/1067Tested-by: SPDK CI Jenkins <sys_sgci@intel.com>Reviewed-by: Jim Harris <james.r.harris@intel.com>Reviewed-by: Ben Walker <benjamin.walker@intel.com>
test: Add mocks for sendmsg and recvmsgThese will be used from the posix sock layer.Change-Id: I6427d9e9aee889e11ba7e36876112a5aba449e31Signed-off-by: Ben Walker <benjamin.walker@intel.com>Revi
test: Add mocks for sendmsg and recvmsgThese will be used from the posix sock layer.Change-Id: I6427d9e9aee889e11ba7e36876112a5aba449e31Signed-off-by: Ben Walker <benjamin.walker@intel.com>Reviewed-on: https://review.gerrithub.io/c/spdk/spdk/+/471751Tested-by: SPDK CI Jenkins <sys_sgci@intel.com>Reviewed-by: Paul Luse <paul.e.luse@intel.com>Reviewed-by: Alexey Marchuk <alexeymar@mellanox.com>Reviewed-by: Shuhei Matsumoto <shuhei.matsumoto.xt@hitachi.com>Reviewed-by: Jim Harris <james.r.harris@intel.com>
test: Add a mock for writevThis is useful for testing partial sends in the socket layer.Change-Id: Ib5bb62d641ad8d6a23a662261f7c72f5ba55c813Signed-off-by: Ben Walker <benjamin.walker@intel.com>
test: Add a mock for writevThis is useful for testing partial sends in the socket layer.Change-Id: Ib5bb62d641ad8d6a23a662261f7c72f5ba55c813Signed-off-by: Ben Walker <benjamin.walker@intel.com>Reviewed-on: https://review.gerrithub.io/c/spdk/spdk/+/470520Tested-by: SPDK CI Jenkins <sys_sgci@intel.com>Reviewed-by: Alexey Marchuk <alexeymar@mellanox.com>Reviewed-by: Darek Stojaczyk <dariusz.stojaczyk@intel.com>Reviewed-by: Tomasz Zawadzki <tomasz.zawadzki@intel.com>Reviewed-by: Jim Harris <james.r.harris@intel.com>Reviewed-by: Shuhei Matsumoto <shuhei.matsumoto.xt@hitachi.com>
thread: Eliminate use of pthread_self and thread_idsSPDK threads are no longer mapped 1:1 to system threads. They areinstead identified by the memory address of the spdk_thread object.Change-Id:
thread: Eliminate use of pthread_self and thread_idsSPDK threads are no longer mapped 1:1 to system threads. They areinstead identified by the memory address of the spdk_thread object.Change-Id: I417f8376cebd2ee94f624f4436e6394b51486063Signed-off-by: Ben Walker <benjamin.walker@intel.com>Reviewed-on: https://review.gerrithub.io/c/437999Tested-by: SPDK CI Jenkins <sys_sgci@intel.com>Chandler-Test-Pool: SPDK Automated Test System <sys_sgsw@intel.com>Reviewed-by: Jim Harris <james.r.harris@intel.com>Reviewed-by: Changpeng Liu <changpeng.liu@intel.com>Reviewed-by: Shuhei Matsumoto <shuhei.matsumoto.xt@hitachi.com>
ut_mock: rename library from spdk_mock to ut_mockThis matches the lib/ut_mock directory name, and alsoavoids the final library being named spdk_spdk_mock.a.Signed-off-by: Jim Harris <james.r.har
ut_mock: rename library from spdk_mock to ut_mockThis matches the lib/ut_mock directory name, and alsoavoids the final library being named spdk_spdk_mock.a.Signed-off-by: Jim Harris <james.r.harris@intel.com>Change-Id: I80ec09568d0455d1f131e45694b6e2d536e6ca91Reviewed-on: https://review.gerrithub.io/433909Tested-by: SPDK CI Jenkins <sys_sgci@intel.com>Reviewed-by: Ben Walker <benjamin.walker@intel.com>Reviewed-by: Darek Stojaczyk <dariusz.stojaczyk@intel.com>
test: Simplify the mock libraryUnify the regular mocks and the pointer mocks. Simplifyseveral of the #defines.Change-Id: Ica8c69dbb70a685a55b5961b73fd7872f451c305Signed-off-by: Ben Walker <benj
test: Simplify the mock libraryUnify the regular mocks and the pointer mocks. Simplifyseveral of the #defines.Change-Id: Ica8c69dbb70a685a55b5961b73fd7872f451c305Signed-off-by: Ben Walker <benjamin.walker@intel.com>Reviewed-on: https://review.gerrithub.io/418884Tested-by: SPDK CI Jenkins <sys_sgci@intel.com>Chandler-Test-Pool: SPDK Automated Test System <sys_sgsw@intel.com>Reviewed-by: Jim Harris <james.r.harris@intel.com>Reviewed-by: Changpeng Liu <changpeng.liu@intel.com>
test/mock: add pthread_selfThis will be used to simulate multi-threading forbdev unit tests.While here, alphabetize the existing calls - callochad been inserted out of order in a couple of plac
test/mock: add pthread_selfThis will be used to simulate multi-threading forbdev unit tests.While here, alphabetize the existing calls - callochad been inserted out of order in a couple of places.Signed-off-by: Jim Harris <james.r.harris@intel.com>Change-Id: I559cd1fd79e78f03ebdac313e0bbedbcdde4a8c1Reviewed-on: https://review.gerrithub.io/377968Reviewed-by: Daniel Verkamp <daniel.verkamp@intel.com>Tested-by: SPDK Automated Test System <sys_sgsw@intel.com>Reviewed-by: Ben Walker <benjamin.walker@intel.com>Reviewed-by: Paul Luse <paul.e.luse@intel.com>
blob: add readv/writev supportMost of the work here revolves around having to splitan I/O that spans a cluster boundary. In this casewe need to allocate a separate iov array, and thenissue each
blob: add readv/writev supportMost of the work here revolves around having to splitan I/O that spans a cluster boundary. In this casewe need to allocate a separate iov array, and thenissue each sub-I/O serially, copying the relevantsubset of the original iov array.Signed-off-by: Jim Harris <james.r.harris@intel.com>Change-Id: I0d46b3f832245900d109ee6c78cc6d49cf96428bReviewed-on: https://review.gerrithub.io/374880Reviewed-by: Daniel Verkamp <daniel.verkamp@intel.com>Tested-by: SPDK Automated Test System <sys_sgsw@intel.com>Reviewed-by: Ben Walker <benjamin.walker@intel.com>
tests: macro-ize the creation and use of wrappers and stubsIncludes macros for wrappers (for syscalls) and stubs(for SPDK functions) including an example of syscallwrapper as well as a stub with
tests: macro-ize the creation and use of wrappers and stubsIncludes macros for wrappers (for syscalls) and stubs(for SPDK functions) including an example of syscallwrapper as well as a stub with both pointer and nonpointer values.Change-Id: I9b19d81d5b9cbf2bbb327f58dbf985b3b253e800Signed-off-by: Paul Luse <paul.e.luse@intel.com>Reviewed-on: https://review.gerrithub.io/366348Reviewed-by: Jim Harris <james.r.harris@intel.com>Tested-by: SPDK Automated Test System <sys_sgsw@intel.com>Reviewed-by: Daniel Verkamp <daniel.verkamp@intel.com>
test: add wrap capabilityThis patch doesn't use it yet but sets up the ability to so thatupcoming unit test pathces can. The next patch will include useof wrap in one nvme UT and then following t
test: add wrap capabilityThis patch doesn't use it yet but sets up the ability to so thatupcoming unit test pathces can. The next patch will include useof wrap in one nvme UT and then following that the wrap andtoday's use of globally controlled stubs will be morphed into asimple mock type capability for spdk unit tests.Change-Id: I252160266f0b5c76e50fd213cb3e1686d48b9d0eSigned-off-by: Paul Luse <paul.e.luse@intel.com>Reviewed-on: https://review.gerrithub.io/363441Tested-by: SPDK Automated Test System <sys_sgsw@intel.com>Reviewed-by: Daniel Verkamp <daniel.verkamp@intel.com>Reviewed-by: Ben Walker <benjamin.walker@intel.com>