2dc4a231 | 22-Oct-2024 |
Atul Malakar <a.malakar@samsung.com> |
blob: Add support for variable metadata page size
Currently SPDK blobstore depends on 4KB atomicity of metadata. So, Metadata page size will be made variable based on the physical block size reporte
blob: Add support for variable metadata page size
Currently SPDK blobstore depends on 4KB atomicity of metadata. So, Metadata page size will be made variable based on the physical block size reported by the underlying device. This will enable blobstore to store metadata in IU-sized chunks, not always 4KB.
blobstore.c uses SPDK_BS_PAGE_SIZE (4KB) hardcoded at many places. To remove this make the metadata page size variable, phys_blocklen is added to spdk_bs_dev struct and md_page_size is added to spdk_bs_super_block struct.
Change-Id: I29d073eb4f4341a94a0675e70492b9186382f97f Signed-off-by: Atul Malakar <a.malakar@samsung.com> Reviewed-on: https://review.spdk.io/gerrit/c/spdk/spdk/+/25130 Community-CI: Broadcom CI <spdk-ci.pdl@broadcom.com> Community-CI: Mellanox Build Bot Reviewed-by: Ben Walker <ben@nvidia.com> Tested-by: SPDK CI Jenkins <sys_sgci@intel.com> Community-CI: Community CI Samsung <spdk.community.ci.samsung@gmail.com> Reviewed-by: Konrad Sztyber <konrad.sztyber@intel.com> Reviewed-by: Jim Harris <jim.harris@nvidia.com>
show more ...
|
d182ee1d | 22-Oct-2024 |
Yankun Li <yankun@staff.sina.com> |
lib/blobfs: Delete useless header references
Change-Id: I821eccc35e1ac1040f839d26a1e1cc9fbc743ac2 Signed-off-by: Yankun Li <yankun@staff.sina.com> Reviewed-on: https://review.spdk.io/gerrit/c/spdk/s
lib/blobfs: Delete useless header references
Change-Id: I821eccc35e1ac1040f839d26a1e1cc9fbc743ac2 Signed-off-by: Yankun Li <yankun@staff.sina.com> Reviewed-on: https://review.spdk.io/gerrit/c/spdk/spdk/+/25301 Reviewed-by: Jim Harris <jim.harris@samsung.com> Reviewed-by: GangCao <gang.cao@intel.com> Reviewed-by: Changpeng Liu <changpeliu@tencent.com> Community-CI: Community CI Samsung <spdk.community.ci.samsung@gmail.com> Community-CI: Broadcom CI <spdk-ci.pdl@broadcom.com> Tested-by: SPDK CI Jenkins <sys_sgci@intel.com>
show more ...
|
0eae0106 | 06-Sep-2024 |
Jim Harris <jim.harris@samsung.com> |
trace: do not define fn in SPDK_TRACE_REGISTER_FN
Newer lcov try to detect issues with function definitions, and throw warnings if function definitions have overlapping lines. Since SPDK_TRACE_REGIS
trace: do not define fn in SPDK_TRACE_REGISTER_FN
Newer lcov try to detect issues with function definitions, and throw warnings if function definitions have overlapping lines. Since SPDK_TRACE_REGISTER_FN defines both the constructor function and the trace function, it treats this as an overlap.
Note this is the only one of our REGISTER functions in SPDK that effectively defines two functions in the same macro.
So change the macro so that the user actually defines the trace function instead.
Signed-off-by: Jim Harris <jim.harris@samsung.com> Change-Id: Ib9d0d1af7674c5ff9b65c12c1e4a5b05e6e110f5 Reviewed-on: https://review.spdk.io/gerrit/c/spdk/spdk/+/24836 Reviewed-by: Michal Berger <michal.berger@intel.com> Reviewed-by: Aleksey Marchuk <alexeymar@nvidia.com> Tested-by: SPDK CI Jenkins <sys_sgci@intel.com> Reviewed-by: Konrad Sztyber <konrad.sztyber@intel.com> Community-CI: Mellanox Build Bot
show more ...
|
186b109d | 20-Aug-2024 |
Jim Harris <jim.harris@samsung.com> |
env: add SPDK_ENV_NUMA_ID_ANY and replace socket_id with numa_id
We will try to avoid further proliferation of "SOCKET_ID" to refer to a NUMA socket ID moving forward, and just use "NUMA_ID" to avoi
env: add SPDK_ENV_NUMA_ID_ANY and replace socket_id with numa_id
We will try to avoid further proliferation of "SOCKET_ID" to refer to a NUMA socket ID moving forward, and just use "NUMA_ID" to avoid confusion with TCP sockets.
Change all of the existing in-tree SPDK_ENV_SOCKET_ID_ANY uses to SPDK_ENV_NUMA_ID_ANY, but keep the old #define around, at least for now. Also change all 'socket_id' parameters to 'numa_id'.
We still have spdk_env_get_socket_id(), we will need to keep this but next patch will add spdk_env_get_numa_id().
Signed-off-by: Jim Harris <jim.harris@samsung.com> Change-Id: Idc31c29e32b708c24d88f9c6fecaf9a99e34ba1e Reviewed-on: https://review.spdk.io/gerrit/c/spdk/spdk/+/24607 Reviewed-by: Aleksey Marchuk <alexeymar@nvidia.com> Reviewed-by: Konrad Sztyber <konrad.sztyber@intel.com> Tested-by: SPDK CI Jenkins <sys_sgci@intel.com> Reviewed-by: Shuhei Matsumoto <smatsumoto@nvidia.com> Reviewed-by: Ben Walker <ben@nvidia.com> Community-CI: Mellanox Build Bot
show more ...
|
52939f25 | 09-Feb-2023 |
LiYankun <liyankun01@58.com> |
lib/blobfs: fix memory error for spdk_file_write
After calling tree_free_buffers, if the file->tree->present_mask is not equal to 0, the cache_buffer pointed to by file->last may have been freed, be
lib/blobfs: fix memory error for spdk_file_write
After calling tree_free_buffers, if the file->tree->present_mask is not equal to 0, the cache_buffer pointed to by file->last may have been freed, because there may be a cache_buffer->in_progress = true. so we must check that the last cache_buffer release has been released, otherwise spdk_file_write will be affected. memory error
issue: https://github.com/spdk/spdk/issues/2849
Change-Id: I815708952903a99487adeb3bbc45be7e5563634f Signed-off-by: LiYankun <liyankun01@58.com> Reviewed-on: https://review.spdk.io/gerrit/c/spdk/spdk/+/16763 Reviewed-by: Tomasz Zawadzki <tomasz.zawadzki@intel.com> Community-CI: Mellanox Build Bot Reviewed-by: Jim Harris <jim.harris@samsung.com> Tested-by: SPDK CI Jenkins <sys_sgci@intel.com>
show more ...
|
26d44a12 | 29-Mar-2024 |
Jim Harris <jim.harris@samsung.com> |
trace: rename owner to owner_type
We will be adding the real concept of an "owner" in upcoming patches. So change the existing "owner" to "owner_type" which more accurate reflects its meaning. For e
trace: rename owner to owner_type
We will be adding the real concept of an "owner" in upcoming patches. So change the existing "owner" to "owner_type" which more accurate reflects its meaning. For example, an "owner_type" can be OWNER_BDEV, but an actual "owner" would be some specific bdev identified by its name.
Signed-off-by: Jim Harris <jim.harris@samsung.com> Change-Id: Ieb25eb5a574a88b3812291f2345796e5bb66a54f Reviewed-on: https://review.spdk.io/gerrit/c/spdk/spdk/+/22645 Reviewed-by: Konrad Sztyber <konrad.sztyber@intel.com> Community-CI: Mellanox Build Bot Reviewed-by: Shuhei Matsumoto <smatsumoto@nvidia.com> Tested-by: SPDK CI Jenkins <sys_sgci@intel.com>
show more ...
|
84532e3d | 07-Feb-2024 |
Jim Harris <jim.harris@samsung.com> |
blobfs: do not defer cache pool allocation to mgmt thread
Before this patch, cache pool allocation would get deferred to a message sent to the cache pool mgmt spdk_thread. This meant that the cache
blobfs: do not defer cache pool allocation to mgmt thread
Before this patch, cache pool allocation would get deferred to a message sent to the cache pool mgmt spdk_thread. This meant that the cache pool would get allocated *after* blobfs called the init/load completion callback.
There is no need to defer the allocation, just allocate it directly from the blobstore init/load completion context.
While here, remove a `sleep 1` from the blobfs.sh test script. This sleep was masking the underlying issue here, giving blobfs time to run the deferred function allocating the cache pool.
Fixes issue #3250.
Signed-off-by: Jim Harris <jim.harris@samsung.com> Change-Id: I8f32b86d5a46083697cbc1c42c8207b45fb4f2b9 Reviewed-on: https://review.spdk.io/gerrit/c/spdk/spdk/+/21730 Community-CI: Mellanox Build Bot Reviewed-by: Tomasz Zawadzki <tomasz.zawadzki@intel.com> Tested-by: SPDK CI Jenkins <sys_sgci@intel.com> Reviewed-by: Aleksey Marchuk <alexeymar@nvidia.com>
show more ...
|
355312bf | 26-Jan-2024 |
Tomasz Zawadzki <tomasz.zawadzki@intel.com> |
so_ver: increase all major versions after SPDK 24.01
To 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.01
To 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 matching versions, 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 releases to update versions as needed. Yet allowing LTS to increase minor version separately.
This patch: - increases SO_VER by 1 for all components - resets SO_MINOR to 0 for all components
Due 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_ch
Short 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" {} +; done find . -name "Makefile" -exec \ sed -i -e "s/SO_MINOR := .*/SO_MINOR := 0/g" {} +
Signed-off-by: Tomasz Zawadzki <tomasz.zawadzki@intel.com> Change-Id: I0166d6be6c17bbbf985d48b5dfcb36f1d4af1b48 Reviewed-on: https://review.spdk.io/gerrit/c/spdk/spdk/+/21582 Reviewed-by: Konrad Sztyber <konrad.sztyber@intel.com> Tested-by: SPDK CI Jenkins <sys_sgci@intel.com>
show more ...
|
77a523e4 | 15-Jun-2023 |
hgy <hanguangyang@ruijie.com.cn> |
blobfs: fix debug_log uses ptr already freed
code style fix
Change-Id: I29cb46f7585a2be638357db484d32522fac3b3e8 Signed-off-by: guangyang han <hanguangyang@ruijie.com.cn> Reviewed-on: https://revi
blobfs: fix debug_log uses ptr already freed
code style fix
Change-Id: I29cb46f7585a2be638357db484d32522fac3b3e8 Signed-off-by: guangyang han <hanguangyang@ruijie.com.cn> Reviewed-on: https://review.spdk.io/gerrit/c/spdk/spdk/+/18752 Community-CI: Mellanox Build Bot Reviewed-by: Tomasz Zawadzki <tomasz.zawadzki@intel.com> Reviewed-by: Konrad Sztyber <konrad.sztyber@intel.com> Tested-by: SPDK CI Jenkins <sys_sgci@intel.com>
show more ...
|
5d1fa299 | 15-Jun-2023 |
hgy <hanguangyang@ruijie.com.cn> |
fix error code passing in rw path
Change-Id: I55f0b07cb3a7cac363b48b2563106e405ba049fa Signed-off-by: guangyang han <hanguangyang@ruijie.com.cn> Reviewed-on: https://review.spdk.io/gerrit/c/spdk/spd
fix error code passing in rw path
Change-Id: I55f0b07cb3a7cac363b48b2563106e405ba049fa Signed-off-by: guangyang han <hanguangyang@ruijie.com.cn> Reviewed-on: https://review.spdk.io/gerrit/c/spdk/spdk/+/18698 Community-CI: Mellanox Build Bot Tested-by: SPDK CI Jenkins <sys_sgci@intel.com> Reviewed-by: Konrad Sztyber <konrad.sztyber@intel.com> Reviewed-by: Tomasz Zawadzki <tomasz.zawadzki@intel.com>
show more ...
|
3359bf34 | 23-Jan-2023 |
Tomasz Zawadzki <tomasz.zawadzki@intel.com> |
so_ver: increase all major versions
To 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 versions
To 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 matching versions, 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 releases to update versions as needed. Yet allowing LTS to increase minor version separately.
Disabled test for increasing SO version without ABI change, as that is goal of this patch. This check shall be removed with SPDK 23.05 release. Looks like this was left over from prior LTS, to avoid that make sure it is only skipped when running against v23.01.x as latest release.
This patch: - increases SO_VER by 1 for all components - resets SO_MINOR to 0 for all components - removes suppressions for ABI tests
Short 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" {} +; done find . -name "Makefile" -exec \ sed -i -e "s/SO_MINOR := .*/SO_MINOR := 0/g" {} +
Change-Id: I3e5681802c0a5ac6d7d652a18896997cd07cc8bf Signed-off-by: Tomasz Zawadzki <tomasz.zawadzki@intel.com> Reviewed-on: https://review.spdk.io/gerrit/c/spdk/spdk/+/16419 Reviewed-by: Ben Walker <benjamin.walker@intel.com> Reviewed-by: Konrad Sztyber <konrad.sztyber@intel.com> Tested-by: SPDK CI Jenkins <sys_sgci@intel.com>
show more ...
|
bf94bb78 | 12-Jan-2023 |
GangCao <gang.cao@intel.com> |
lib/blobfs: add the missing lock operation
Change-Id: I9d02357688a11d06c5afb3d8be90a1f3b1927333 Signed-off-by: GangCao <gang.cao@intel.com> Reviewed-on: https://review.spdk.io/gerrit/c/spdk/spdk/+/1
lib/blobfs: add the missing lock operation
Change-Id: I9d02357688a11d06c5afb3d8be90a1f3b1927333 Signed-off-by: GangCao <gang.cao@intel.com> Reviewed-on: https://review.spdk.io/gerrit/c/spdk/spdk/+/16266 Reviewed-by: Changpeng Liu <changpeng.liu@intel.com> Reviewed-by: Aleksey Marchuk <alexeymar@nvidia.com> Reviewed-by: Jim Harris <james.r.harris@intel.com> Tested-by: SPDK CI Jenkins <sys_sgci@intel.com>
show more ...
|
9e843fdb | 15-Sep-2022 |
Evgeniy Kochetov <evgeniik@nvidia.com> |
blob: Add translate_lba operation
New `translate_lba` operation allows to translate blob lba to lba on the underlying bdev. It recurses down the whole chain of bs_dev's. The operation may fail to do
blob: Add translate_lba operation
New `translate_lba` operation allows to translate blob lba to lba on the underlying bdev. It recurses down the whole chain of bs_dev's. The operation may fail to do the translation when blob lba is not backed by the real bdev. For example, when we eventually hit zeroes device in the chain.
This operation is used in the next commit to get source LBA for copy operation.
Signed-off-by: Evgeniy Kochetov <evgeniik@nvidia.com> Change-Id: I89c2d03d1982d66b9137a3a3653a98c361984fab Reviewed-on: https://review.spdk.io/gerrit/c/spdk/spdk/+/14528 Tested-by: SPDK CI Jenkins <sys_sgci@intel.com> Reviewed-by: Jim Harris <james.r.harris@intel.com> Reviewed-by: Shuhei Matsumoto <smatsumoto@nvidia.com> Reviewed-by: Aleksey Marchuk <alexeymar@nvidia.com>
show more ...
|
a6dbe372 | 01-Nov-2022 |
paul luse <paul.e.luse@intel.com> |
update Intel copyright notices
per Intel policy to include file commit date using git cmd below. The policy does not apply to non-Intel (C) notices.
git log --follow -C90% --format=%ad --date defa
update Intel copyright notices
per Intel policy to include file commit date using git cmd below. The policy does not apply to non-Intel (C) notices.
git log --follow -C90% --format=%ad --date default <file> | tail -1
and then pull just the 4 digit year from the result.
Intel copyrights were not added to files where Intel either had no contribution ot the contribution lacked substance (ie license header 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 vast majority of files do have this last blank line. Simply there for consistency.
Signed-off-by: paul luse <paul.e.luse@intel.com> Change-Id: Id5b7ce4f658fe87132f14139ead58d6e285c04d4 Reviewed-on: https://review.spdk.io/gerrit/c/spdk/spdk/+/15192 Tested-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
show more ...
|
2e7a7fe5 | 22-Jun-2022 |
Evgeniy Kochetov <evgeniik@nvidia.com> |
blob: Optimize copy-on-write flow for clusters backed by zeroes device
Writing to unallocated cluster triggers copy-on-write sequence. If this cluster is backed by zeroes device we can skip the copy
blob: Optimize copy-on-write flow for clusters backed by zeroes device
Writing to unallocated cluster triggers copy-on-write sequence. If this cluster is backed by zeroes device we can skip the copy part. For a simple thin provisioned volume copy this shortcut is already implemented because `blob->parent_id == SPDK_BLOBID_INVALID`. But this will not work for thin provisioned volumes created from snapshot. In this case we need to traverse the whole stack of underlying `spdk_bs_dev` devices for specific cluster to check if it is zeroes backed.
This patch adds `is_zeroes` operation to `spdk_bs_dev`. For zeroes device it always returns 'true', for real bdev (`blob_bs_dev`) always returns false, for another layer of `blob_bs_dev` does lba conversion and forwards to backing device.
In blobstore's cluster copy flow we check if cluster is backed by zeroes device and skip copy part if it is.
Signed-off-by: Evgeniy Kochetov <evgeniik@nvidia.com> Change-Id: I640773ac78f8f466b96e96a34c3a6c3c91f87dab Reviewed-on: https://review.spdk.io/gerrit/c/spdk/spdk/+/13446 Tested-by: SPDK CI Jenkins <sys_sgci@intel.com> Community-CI: Mellanox Build Bot Community-CI: Broadcom CI <spdk-ci.pdl@broadcom.com> Reviewed-by: Shuhei Matsumoto <smatsumoto@nvidia.com> Reviewed-by: Aleksey Marchuk <alexeymar@nvidia.com> Reviewed-by: Jim Harris <james.r.harris@intel.com> Reviewed-by: Tomasz Zawadzki <tomasz.zawadzki@intel.com>
show more ...
|
475b86aa | 26-Aug-2022 |
Konrad Sztyber <konrad.sztyber@intel.com> |
print better errors when creating mempools from secondary process
Multiprocess is only supported by a few libraries (e.g. NVMe driver). Other libraries that don't support it will often fail on mempo
print better errors when creating mempools from secondary process
Multiprocess is only supported by a few libraries (e.g. NVMe driver). Other libraries that don't support it will often fail on mempool initialization when running as a secondary process, as the mempools are already created by the primary process. But the error messages are vague and don't indicate why this happened. So, this patch adds a check to see if a mempool exists after spdk_mempool_create() fails and prints an error message informing users that multiprocess is unsupported.
Signed-off-by: Konrad Sztyber <konrad.sztyber@intel.com> Change-Id: I6f915a94266e64dda380e3b269424cc579372a10 Reviewed-on: https://review.spdk.io/gerrit/c/spdk/spdk/+/14234 Community-CI: Mellanox Build Bot Tested-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> Reviewed-by: Dong Yi <dongx.yi@intel.com>
show more ...
|
e70dc52f | 20-Jul-2022 |
Jim Harris <james.r.harris@intel.com> |
blobfs: rename tree.h to cache_tree.h
Avoids conflict with public tree.h that can cause problems with abidiff.
Signed-off-by: Jim Harris <james.r.harris@intel.com> Change-Id: I3ccf4c0198f7975d8ebbe
blobfs: rename tree.h to cache_tree.h
Avoids conflict with public tree.h that can cause problems with abidiff.
Signed-off-by: Jim Harris <james.r.harris@intel.com> Change-Id: I3ccf4c0198f7975d8ebbee57f50c52f9f2e96fc0 Reviewed-on: https://review.spdk.io/gerrit/c/spdk/spdk/+/13730 Community-CI: Mellanox Build Bot Reviewed-by: Ben Walker <benjamin.walker@intel.com> Reviewed-by: Changpeng Liu <changpeng.liu@intel.com> Reviewed-by: Konrad Sztyber <konrad.sztyber@intel.com> Tested-by: SPDK CI Jenkins <sys_sgci@intel.com>
show more ...
|
dabca256 | 16-May-2022 |
yidong0635 <dongx.yi@intel.com> |
util: Extract a common lib between iovs and buf.
It's useful to add these APIs. spdk_copy_iovs_to_buf and spdk_copy_buf_to_iovs.
It prepares that other ones can call these. We don't need to define
util: Extract a common lib between iovs and buf.
It's useful to add these APIs. spdk_copy_iovs_to_buf and spdk_copy_buf_to_iovs.
It prepares that other ones can call these. We don't need to define them in static state repeatedly.
And add corresponding unit tests.
Change-Id: Ife40fec8d047a48af67b04e6c055e4932282abfb Signed-off-by: yidong0635 <dongx.yi@intel.com> Reviewed-on: https://review.spdk.io/gerrit/c/spdk/spdk/+/12075 Community-CI: Broadcom CI <spdk-ci.pdl@broadcom.com> Community-CI: Mellanox Build Bot Tested-by: SPDK CI Jenkins <sys_sgci@intel.com> Reviewed-by: Konrad Sztyber <konrad.sztyber@intel.com> Reviewed-by: Shuhei Matsumoto <smatsumoto@nvidia.com> Reviewed-by: Ben Walker <benjamin.walker@intel.com>
show more ...
|
488570eb | 03-Jun-2022 |
Jim Harris <james.r.harris@intel.com> |
Replace most BSD 3-clause license text with SPDX identifier.
Many open source projects have moved to using SPDX identifiers to specify license information, reducing the amount of boilerplate code in
Replace most BSD 3-clause license text with SPDX identifier.
Many open source projects have moved to using SPDX identifiers to specify license information, reducing the amount of boilerplate code in every source file. This patch replaces the bulk of SPDK .c, .cpp and Makefiles with the BSD-3-Clause identifier.
Almost all of these files share the exact same license text, and this patch only modifies the files that contain the most common license text. There can be slight variations because 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 text with SPDX identifier which is checked into scripts/spdx.sh.
Signed-off-by: Jim Harris <james.r.harris@intel.com> Change-Id: Iaa88ab5e92ea471691dc298cfe41ebfb5d169780 Reviewed-on: https://review.spdk.io/gerrit/c/spdk/spdk/+/12904 Community-CI: Broadcom CI <spdk-ci.pdl@broadcom.com> Community-CI: Mellanox Build Bot Tested-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>
show more ...
|
57eee182 | 21-Mar-2022 |
yidong0635 <dongx.yi@intel.com> |
blobfs: Add missing error checks for strdup.
Here were some cases for file->name using strdup missing check for no memory, but some had. So add them.
Signed-off-by: yidong0635 <dongx.yi@intel.com>
blobfs: Add missing error checks for strdup.
Here were some cases for file->name using strdup missing check for no memory, but some had. So add them.
Signed-off-by: yidong0635 <dongx.yi@intel.com> Change-Id: I91feeea3711f127135aedf37e53624811a4ab5e8 Reviewed-on: https://review.spdk.io/gerrit/c/spdk/spdk/+/11989 Community-CI: Broadcom CI <spdk-ci.pdl@broadcom.com> Community-CI: Mellanox Build Bot Tested-by: SPDK CI Jenkins <sys_sgci@intel.com> Reviewed-by: Aleksey Marchuk <alexeymar@mellanox.com> Reviewed-by: Changpeng Liu <changpeng.liu@intel.com>
show more ...
|
047c067c | 31-Jan-2022 |
Tomasz Zawadzki <tomasz.zawadzki@intel.com> |
so_ver: increase all major versions
To 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 versions
To 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 matching versions, 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 releases to update versions as needed. Yet allowing LTS to increase minor version separately.
Disabled test for increasing SO version without ABI change, as that is goal of this patch. This check shall be removed with SPDK 22.05 release.
This patch: - increases SO_VER by 1 for all components - resets SO_MINOR to 0 for all components - removes suppressions for ABI tests
Signed-off-by: Tomasz Zawadzki <tomasz.zawadzki@intel.com> Change-Id: Id1a5358882dc496faa5b0b5c9a63b326c378c551 Reviewed-on: https://review.spdk.io/gerrit/c/spdk/spdk/+/11361 Tested-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>
show more ...
|
c37e776e | 22-Sep-2021 |
Krzysztof Karas <krzysztof.karas@intel.com> |
trace: move all trace definitions to a separate file
This is to help with binding trace objects together and for the convenience (all trace definitions are in one place instad of being scattered acc
trace: move all trace definitions to a separate file
This is to help with binding trace objects together and for the convenience (all trace definitions are in one place instad of being scattered accross multiple files).
Change-Id: Ib15bc9c2eeee9c4d0816bcee509ab69f3f558e19 Signed-off-by: Krzysztof Karas <krzysztof.karas@intel.com> Reviewed-on: https://review.spdk.io/gerrit/c/spdk/spdk/+/9574 Community-CI: Broadcom CI <spdk-ci.pdl@broadcom.com> Tested-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: Konrad Sztyber <konrad.sztyber@gmail.com>
show more ...
|
f01146ae | 05-Oct-2021 |
Jim Harris <james.r.harris@intel.com> |
blob: use uint64_t for unmap and write_zeroes lba count
Previous patches (5363eb3c) tried to work around the 32-bit unmap and write_zeroes LBA counts by breaking up larger operations into smaller ch
blob: use uint64_t for unmap and write_zeroes lba count
Previous patches (5363eb3c) tried to work around the 32-bit unmap and write_zeroes LBA counts by breaking up larger operations into smaller chunks of max size UINT32_MAX lba chunks.
But some SSDs may just ignore unmap operations that are not aligned to full physical block boundaries - and a UINT32_MAX lba unmap on a 512B logical / 4KiB physical SSD would not be aligned. If the SSD decided to ignore the unmap/deallocate (which it is allowed to do according to NVMe spec), we could end up with not unmapping *any* blocks. Probably SSDs should always be trying hard to unmap as many blocks as possible, but let's not try to depend on that in blobstore.
So one option would be to break them into chunks close to UINT32_MAX which are still aligned to 4KiB boundaries. But the better fix is to just change the unmap and write_zeroes APIs to take 64-bit arguments, and then we can avoid the chunking altogether.
Fixes issue #2190.
Signed-off-by: Jim Harris <james.r.harris@intel.com> Change-Id: I23998e493a764d466927c3520c7a8c7f943000a6 Reviewed-on: https://review.spdk.io/gerrit/c/spdk/spdk/+/9737 Community-CI: Broadcom CI <spdk-ci.pdl@broadcom.com> Community-CI: Mellanox Build Bot Reviewed-by: Xiaodong Liu <xiaodong.liu@intel.com> Reviewed-by: Changpeng Liu <changpeng.liu@intel.com> Reviewed-by: Aleksey Marchuk <alexeymar@mellanox.com> Reviewed-by: Dong Yi <dongx.yi@intel.com> Reviewed-by: Ben Walker <benjamin.walker@intel.com> Reviewed-by: Tomasz Zawadzki <tomasz.zawadzki@intel.com> Tested-by: SPDK CI Jenkins <sys_sgci@intel.com>
show more ...
|
3e158bd5 | 17-May-2021 |
Konrad Sztyber <konrad.sztyber@intel.com> |
lib/trace: record string arguments as (const char *)
Now that `spdk_trace_record` receives variadic arguments, we no longer have to pass strings as uint64_t, but can pass them directly as pointers.
lib/trace: record string arguments as (const char *)
Now that `spdk_trace_record` receives variadic arguments, we no longer have to pass strings as uint64_t, but can pass them directly as pointers. That also means that the recorded strings can be longer than 8B (up to 40B).
This patch changes the blobfs code to pass the filenames as strings and gets rid of the code that converted them to uint64_t.
Additionally, the maximum length of string arguments printed by `app/trace/trace` has been extended to 16 and they're also padded to 16 characters, to better align with other argument types.
Signed-off-by: Konrad Sztyber <konrad.sztyber@intel.com> Change-Id: Ibe94452bf1b27eba2b15ca8608d0c3b55c2db360 Reviewed-on: https://review.spdk.io/gerrit/c/spdk/spdk/+/7957 Tested-by: SPDK CI Jenkins <sys_sgci@intel.com> Community-CI: Mellanox Build Bot Reviewed-by: Ziye Yang <ziye.yang@intel.com> Reviewed-by: Jim Harris <james.r.harris@intel.com> Reviewed-by: Aleksey Marchuk <alexeymar@mellanox.com>
show more ...
|
2ef4855e | 13-Jun-2021 |
Zhiqiang Liu <liuzhiqiang26@huawei.com> |
blobfs: check return value of strdup in spdk_fs_create_file_async()
In spdk_fs_create_file_async(), file->name is set to strdup(name). We should check whether file->name is equal to NULL.
Signed-of
blobfs: check return value of strdup in spdk_fs_create_file_async()
In spdk_fs_create_file_async(), file->name is set to strdup(name). We should check whether file->name is equal to NULL.
Signed-off-by: Zhiqiang Liu <liuzhiqiang26@huawei.com> Change-Id: I2219cc353eb4711290aee2599505f57af9088bb2 Reviewed-on: https://review.spdk.io/gerrit/c/spdk/spdk/+/8302 Community-CI: Mellanox Build Bot Reviewed-by: Ziye Yang <ziye.yang@intel.com> Reviewed-by: Aleksey Marchuk <alexeymar@mellanox.com> Tested-by: SPDK CI Jenkins <sys_sgci@intel.com>
show more ...
|