Revision tags: v25.01-rc1 |
|
#
a2f5e1c2 |
| 08-Nov-2024 |
Jinlong Chen <chenjinlong.cjl@alibaba-inc.com> |
blob: don't free bs when spdk_bs_destroy/spdk_bs_unload fails
Error handling of spdk_bs_destroy and spdk_bs_unload is confusing. They may or may not free the spdk_blob_store structure on error, depe
blob: don't free bs when spdk_bs_destroy/spdk_bs_unload fails
Error handling of spdk_bs_destroy and spdk_bs_unload is confusing. They may or may not free the spdk_blob_store structure on error, depending on when the error happens. And users can not know if the structure has been freed after the processes finished, thus unable to handle it correctly.
To fix this problem, we only free the structure when there are no errors happended. In this way, users can be sure that the structure pointer is still valid after the failed opertation. They can then retry the operation or debug the failure.
Fixes #3560.
Change-Id: I4f7194ab8fce4f1a408ce3e6500514fd214427d4 Signed-off-by: Jinlong Chen <chenjinlong.cjl@alibaba-inc.com> Reviewed-on: https://review.spdk.io/gerrit/c/spdk/spdk/+/25472 Reviewed-by: Jim Harris <jim.harris@nvidia.com> Reviewed-by: GangCao <gang.cao@intel.com> Reviewed-by: Yankun Li <845245370@qq.com> Community-CI: Community CI Samsung <spdk.community.ci.samsung@gmail.com> Tested-by: SPDK CI Jenkins <sys_sgci@intel.com> Reviewed-by: Ben Walker <ben@nvidia.com> Community-CI: Mellanox Build Bot
show more ...
|
#
0f59982b |
| 08-Nov-2024 |
Jinlong Chen <chenjinlong.cjl@alibaba-inc.com> |
blob: don't use bs_load_ctx_fail in bs_write_used_* functions
bs_write_used_* functions are used both in blobstore loading and unloading processes. However, the two processes actually need different
blob: don't use bs_load_ctx_fail in bs_write_used_* functions
bs_write_used_* functions are used both in blobstore loading and unloading processes. However, the two processes actually need different error handling logics.
Let the functions call their callbacks direclty instead of calling bs_load_ctx_fail for error cases, so that we can use different error handling logics for loading and unloading.
Change-Id: I4865eb91f1d8aa36e3ca64779c08a252433a7b34 Signed-off-by: Jinlong Chen <chenjinlong.cjl@alibaba-inc.com> Reviewed-on: https://review.spdk.io/gerrit/c/spdk/spdk/+/25471 Reviewed-by: Jim Harris <jim.harris@nvidia.com> Community-CI: Community CI Samsung <spdk.community.ci.samsung@gmail.com> Community-CI: Mellanox Build Bot Tested-by: SPDK CI Jenkins <sys_sgci@intel.com> Reviewed-by: Ben Walker <ben@nvidia.com>
show more ...
|
#
04524ea4 |
| 08-Nov-2024 |
Jinlong Chen <chenjinlong.cjl@alibaba-inc.com> |
blob: fix possible memory leak in bs loading
If I/O errors happen during blobstore loading, the allocated memory for spdk_bs_load_ctx->mask may be leaked.
Change-Id: I7e802dfb1b719b1ba23f70bdb216e7
blob: fix possible memory leak in bs loading
If I/O errors happen during blobstore loading, the allocated memory for spdk_bs_load_ctx->mask may be leaked.
Change-Id: I7e802dfb1b719b1ba23f70bdb216e7f9cb35357e Signed-off-by: Jinlong Chen <chenjinlong.cjl@alibaba-inc.com> Reviewed-on: https://review.spdk.io/gerrit/c/spdk/spdk/+/25470 Tested-by: SPDK CI Jenkins <sys_sgci@intel.com> Reviewed-by: Ben Walker <ben@nvidia.com> Community-CI: Mellanox Build Bot Community-CI: Community CI Samsung <spdk.community.ci.samsung@gmail.com> Reviewed-by: Jim Harris <jim.harris@nvidia.com>
show more ...
|
#
6c84c86e |
| 15-Nov-2024 |
Yankun Li <yankun@staff.sina.com> |
lib/blob: destroy spdk_bs_dev instance and call cb_fn
If the bs_opts_copy fails, release spdk_bs_dev and call the callback function cb_fn.
Change-Id: Ibc473caaec873f53fb86df78543d5930855bba65 Signe
lib/blob: destroy spdk_bs_dev instance and call cb_fn
If the bs_opts_copy fails, release spdk_bs_dev and call the callback function cb_fn.
Change-Id: Ibc473caaec873f53fb86df78543d5930855bba65 Signed-off-by: Yankun Li <yankun@staff.sina.com> Reviewed-on: https://review.spdk.io/gerrit/c/spdk/spdk/+/25440 Community-CI: Mellanox Build Bot Community-CI: Community CI Samsung <spdk.community.ci.samsung@gmail.com> Tested-by: SPDK CI Jenkins <sys_sgci@intel.com> Reviewed-by: GangCao <gang.cao@intel.com> Reviewed-by: Shuhei Matsumoto <smatsumoto@nvidia.com> Reviewed-by: Jim Harris <jim.harris@nvidia.com> Reviewed-by: Ben Walker <ben@nvidia.com>
show more ...
|
#
9885e1d2 |
| 14-Nov-2024 |
Yankun Li <yankun@staff.sina.com> |
lib/blob: cluster_sz must be a multiple of PAGE
Change-Id: I3e6fb061339e74f3f4f3a700e107213bde6c1689 Signed-off-by: Yankun Li <yankun@staff.sina.com> Reviewed-on: https://review.spdk.io/gerrit/c/spd
lib/blob: cluster_sz must be a multiple of PAGE
Change-Id: I3e6fb061339e74f3f4f3a700e107213bde6c1689 Signed-off-by: Yankun Li <yankun@staff.sina.com> Reviewed-on: https://review.spdk.io/gerrit/c/spdk/spdk/+/25433 Community-CI: Community CI Samsung <spdk.community.ci.samsung@gmail.com> Reviewed-by: GangCao <gang.cao@intel.com> Reviewed-by: Konrad Sztyber <konrad.sztyber@intel.com> Reviewed-by: Jim Harris <jim.harris@nvidia.com> Community-CI: Broadcom CI <spdk-ci.pdl@broadcom.com> Tested-by: SPDK CI Jenkins <sys_sgci@intel.com>
show more ...
|
#
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 ...
|
#
3299bf6d |
| 23-Oct-2024 |
Jim Harris <jim.harris@samsung.com> |
blob: remove all references to pages as io_units
When blobstore was first created, everything was in terms of 4KB pages - this included metadata page size and the unit for I/O operations.
A bit lat
blob: remove all references to pages as io_units
When blobstore was first created, everything was in terms of 4KB pages - this included metadata page size and the unit for I/O operations.
A bit later, we introduced concept of "io_unit". If a blobstore was put on a bdev with 512 blocksize, then the io_unit could be 512 bytes.
But when this happened, we should have changed all of the blobstore code such that remaining "page" references only referred to metadata pages. Instead, we left a bunch of places where we would convert various values to/from a number of 4KB pages, and then to the number of io_units. This made the code quite confusing, since direct conversion to/from io_units would have been much clearer.
This existing problem was exacerbated with the upcoming patch to support variable metadata page sizes. We need things like spdk_bs_get_page_size() to return the size of the metadata pages, which may not be 4KB.
So make all of the changes necessary such that all references to "page" now means "metadata page". This includes removing the spdk_blob_get_num_pages() function, which no longer makes sense.
Signed-off-by: Jim Harris <jim.harris@samsung.com> Change-Id: I66e93e7a4325a3b032bb16edaf657ef12044e1fd Reviewed-on: https://review.spdk.io/gerrit/c/spdk/spdk/+/25368 Community-CI: Mellanox Build Bot Community-CI: Broadcom CI <spdk-ci.pdl@broadcom.com> Tested-by: SPDK CI Jenkins <sys_sgci@intel.com> Reviewed-by: Ben Walker <ben@nvidia.com> Community-CI: Community CI Samsung <spdk.community.ci.samsung@gmail.com> Reviewed-by: Konrad Sztyber <konrad.sztyber@intel.com>
show more ...
|
#
671ee5e0 |
| 24-Oct-2024 |
Jim Harris <jim.harris@samsung.com> |
blob: add bs_init_per_cluster_fields() helper function
This eliminates code that was duplicated in three different places. It also prepares for adding fields for io_units_per_cluster in an upcoming
blob: add bs_init_per_cluster_fields() helper function
This eliminates code that was duplicated in three different places. It also prepares for adding fields for io_units_per_cluster in an upcoming patch.
Signed-off-by: Jim Harris <jim.harris@samsung.com> Change-Id: Id41ea51a0291a13a39caf0225597cd500d2a515c Reviewed-on: https://review.spdk.io/gerrit/c/spdk/spdk/+/25367 Community-CI: Community CI Samsung <spdk.community.ci.samsung@gmail.com> Reviewed-by: Ben Walker <ben@nvidia.com> Reviewed-by: Konrad Sztyber <konrad.sztyber@intel.com> Community-CI: Mellanox Build Bot Community-CI: Broadcom CI <spdk-ci.pdl@broadcom.com> Tested-by: SPDK CI Jenkins <sys_sgci@intel.com>
show more ...
|
Revision tags: v24.09, v25.01-pre, v24.09-rc1 |
|
#
952532af |
| 21-Aug-2024 |
Jinlong Chen <chenjinlong.cjl@alibaba-inc.com> |
blob: use uint64_t for cluster start page index
When creating blobstore on devices with more than 16 TiB space, the start page index of clusters can execeed UINT32_MAX and result in overflow in uint
blob: use uint64_t for cluster start page index
When creating blobstore on devices with more than 16 TiB space, the start page index of clusters can execeed UINT32_MAX and result in overflow in uint32_t representation.
Use uint64_t instead of uint32_t to avoid the overflow.
Change-Id: I8e2586251b1b31ef7520b870af537c3f5792508e Signed-off-by: Jinlong Chen <chenjinlong.cjl@alibaba-inc.com> Reviewed-on: https://review.spdk.io/gerrit/c/spdk/spdk/+/24619 Reviewed-by: Konrad Sztyber <konrad.sztyber@intel.com> Community-CI: Broadcom CI <spdk-ci.pdl@broadcom.com> Reviewed-by: Jim Harris <jim.harris@samsung.com> Community-CI: Mellanox Build Bot Reviewed-by: Changpeng Liu <changpeliu@tencent.com> Tested-by: SPDK CI Jenkins <sys_sgci@intel.com> Reviewed-by: GangCao <gang.cao@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 ...
|
#
8d8e7cd0 |
| 20-Aug-2024 |
Hadi Moshayedi <hadi@ubicloud.com> |
blob: add the blob_unref_back_bs_dev helper function.
This is used when a blob doesn't need its current bs_dev anymore. In current patch we just simply destroy the bs_dev, but in the next commit we'
blob: add the blob_unref_back_bs_dev helper function.
This is used when a blob doesn't need its current bs_dev anymore. In current patch we just simply destroy the bs_dev, but in the next commit we'll extend the logic to the case where there can be multiple refs to the same bs_dev.
Change-Id: Ie959b681735373400db6d4c56dddf44f6facc316 Signed-off-by: Hadi Moshayedi <hadi@ubicloud.com> Reviewed-on: https://review.spdk.io/gerrit/c/spdk/spdk/+/24600 Tested-by: SPDK CI Jenkins <sys_sgci@intel.com> Reviewed-by: Konrad Sztyber <konrad.sztyber@intel.com> Community-CI: Mellanox Build Bot Reviewed-by: Damiano Cipriani <damiano.cipriani@suse.com> Reviewed-by: Mike Gerdts <mgerdts@nvidia.com> Reviewed-by: Jim Harris <jim.harris@samsung.com>
show more ...
|
Revision tags: v24.05, v24.09-pre, v24.05-rc1 |
|
#
d3594f84 |
| 15-Mar-2024 |
xupeng-mingtu <jingmamour@gmail.com> |
lib/blob: fix data inconsistency when unmap a thin-provisioned blob that is backed
The issue may happen in this case: 1.create lvol A from snapshot B 2.write data to A_cluster1 3.unmap A_cluster1
lib/blob: fix data inconsistency when unmap a thin-provisioned blob that is backed
The issue may happen in this case: 1.create lvol A from snapshot B 2.write data to A_cluster1 3.unmap A_cluster1 4.read data from lba coverd by A_cluster1 the result of step 4 should be zero, but it’s actually the data in B_cluster1
Change-Id: If08bdf392d8d3dee737fcacca03bd9f04faa3933 Signed-off-by: xupeng-mingtu <jingmamour@gmail.com> Reviewed-on: https://review.spdk.io/gerrit/c/spdk/spdk/+/22325 Tested-by: SPDK CI Jenkins <sys_sgci@intel.com> Reviewed-by: Jim Harris <jim.harris@samsung.com> Reviewed-by: Tomasz Zawadzki <tomasz@tzawadzki.com> Community-CI: Mellanox Build Bot Reviewed-by: Mateusz Kozlowski <mateusz.kozlowski@solidigm.com>
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 ...
|
#
c6c1234d |
| 11-Jul-2024 |
xupeng-mingtu <jingmamour@gmail.com> |
add new trace BLOB_REQ_SET_START and BLOB_REQ_SET_COMPLETE.
Through the both new trace, the bdev_io trace of lvol and the bdev_io trace of base bdev of blobstore can be connected in series. Like thi
add new trace BLOB_REQ_SET_START and BLOB_REQ_SET_COMPLETE.
Through the both new trace, the bdev_io trace of lvol and the bdev_io trace of base bdev of blobstore can be connected in series. Like this:
RDMA_REQ_RDY_TO_EXECUTE id: r31 BDEV_IO_START size: 8 id: i2964 (r31) BLOB_REQ_SET_START id: a11 (i2964) BDEV_IO_START size: 8 id: i2965 (a11) BDEV_NVME_IO_START id: N2957 (i2965) NVME_PCIE_SUBMIT id: p2959 (N2957) NVME_PCIE_COMPLETE id: p2959 (N2957) BDEV_NVME_IO_DONE id: N2957 (i2965) BDEV_IO_DONE id: i2965 (a11) BLOB_REQ_SET_COMPLETE id: a11 (i2964) BDEV_IO_DONE id: i2964 (r31) RDMA_REQ_EXECUTED id: r31
Change-Id: I607428b094031814627ac4192b9e3defe7ed5337 Signed-off-by: Xupeng Mingtu <jingmamour@gmail.com> Reviewed-on: https://review.spdk.io/gerrit/c/spdk/spdk/+/24130 Reviewed-by: Konrad Sztyber <konrad.sztyber@intel.com> Community-CI: Mellanox Build Bot Tested-by: SPDK CI Jenkins <sys_sgci@intel.com> Reviewed-by: Jim Harris <jim.harris@samsung.com>
show more ...
|
#
34edd9f1 |
| 10-Jul-2024 |
Kamil Godzwon <kamilx.godzwon@intel.com> |
general: fix misspells and typos
Signed-off-by: Kamil Godzwon <kamilx.godzwon@intel.com> Change-Id: Iab206ef526eb7032c6681a3145450010c91705a4 Reviewed-on: https://review.spdk.io/gerrit/c/spdk/spdk/+
general: fix misspells and typos
Signed-off-by: Kamil Godzwon <kamilx.godzwon@intel.com> Change-Id: Iab206ef526eb7032c6681a3145450010c91705a4 Reviewed-on: https://review.spdk.io/gerrit/c/spdk/spdk/+/24120 Community-CI: Mellanox Build Bot Reviewed-by: Karol Latecki <karol.latecki@intel.com> Tested-by: SPDK CI Jenkins <sys_sgci@intel.com> Reviewed-by: Aleksey Marchuk <alexeymar@nvidia.com> Reviewed-by: Jim Harris <jim.harris@samsung.com>
show more ...
|
#
a95bbf23 |
| 01-Jul-2024 |
Hadi Moshayedi <hadi@ubicloud.com> |
blob: set parent_id properly on spdk_bs_blob_set_external_parent.
Based on `doc/blob.md`, `blob->parent_id` of esnap clones should be set to `SPDK_BLOBID_EXTERNAL_SNAPSHOT`.
Previously, `spdk_bs_bl
blob: set parent_id properly on spdk_bs_blob_set_external_parent.
Based on `doc/blob.md`, `blob->parent_id` of esnap clones should be set to `SPDK_BLOBID_EXTERNAL_SNAPSHOT`.
Previously, `spdk_bs_blob_set_external_parent` didn't do this. This caused some features which relied on this, like copy-on-write, to not work properly.
This change fixes this.
Change-Id: I13305d088efbff51aa7e066a7e42b13993d212a3 Signed-off-by: Hadi Moshayedi <hadi@ubicloud.com> Reviewed-on: https://review.spdk.io/gerrit/c/spdk/spdk/+/23971 Reviewed-by: Krzysztof Karas <krzysztof.karas@intel.com> Reviewed-by: Tomasz Zawadzki <tomasz.zawadzki@intel.com> Tested-by: SPDK CI Jenkins <sys_sgci@intel.com> Community-CI: Mellanox Build Bot Reviewed-by: Jim Harris <jim.harris@samsung.com> Reviewed-by: Damiano Cipriani <damiano.cipriani@suse.com>
show more ...
|
#
16d862d0 |
| 22-Jun-2024 |
wangyalong <wang597672534@gmail.com> |
lib/blob: Handle numerical overflows in the unmap process.
In function blob_free_cluster_msg(), ctx->cluster(U32) may get a number that exceeds U32_max. When the LBA (unit of blocklen) of the cluste
lib/blob: Handle numerical overflows in the unmap process.
In function blob_free_cluster_msg(), ctx->cluster(U32) may get a number that exceeds U32_max. When the LBA (unit of blocklen) of the cluster to be released exceeds U32_max, data overflow occurs, and the cluster located in the LBA%U32_max will be released, resulting in data inconsistencies or coredump on bs_release_cluster():148.
For example, if the blocklen of lvstore is 512 bytes, and the ctx->cluster type is U32, the maximum offset of the cluster that can be represented is only ((1<<32)-1)*512=2TB. If the LBA of cluster to release exceeded, the problem will occur.
Fixes #3358
Change-Id: Idfe7a56f866321770c2a5f3d0189f2c0a42ac7b0 Signed-off-by: wangyalong <wang597672534@gmail.com> Reviewed-on: https://review.spdk.io/gerrit/c/spdk/spdk/+/23816 Community-CI: Mellanox Build Bot Tested-by: SPDK CI Jenkins <sys_sgci@intel.com> Reviewed-by: Changpeng Liu <changpeng.liu@intel.com> Reviewed-by: Shuhei Matsumoto <smatsumoto@nvidia.com> Reviewed-by: Mateusz Kozlowski <mateusz.kozlowski@solidigm.com>
show more ...
|
Revision tags: LTS, v24.01, v24.05-pre, v24.01-rc1 |
|
#
77c07d07 |
| 25-Oct-2023 |
Damiano Cipriani <damiano.cipriani@suse.com> |
blob: add blob set external parent
Implemented a new function to set an external snapshot as the parent of a blob. The previous parent of the blob, if any, can be another external snapshot or a snap
blob: add blob set external parent
Implemented a new function to set an external snapshot as the parent of a blob. The previous parent of the blob, if any, can be another external snapshot or a snapshot; if the blob is not a clone, it must be thin-provisioned.
Change-Id: Ib9eda0fba04428d058109a1eacdec084ef050a65 Signed-off-by: Damiano Cipriani <damiano.cipriani@suse.com> Reviewed-on: https://review.spdk.io/gerrit/c/spdk/spdk/+/21689 Reviewed-by: Jim Harris <jim.harris@samsung.com> Reviewed-by: Tomasz Zawadzki <tomasz.zawadzki@intel.com> Community-CI: Mellanox Build Bot Tested-by: SPDK CI Jenkins <sys_sgci@intel.com>
show more ...
|
Revision tags: v23.09, v24.01-pre, v23.09-rc1 |
|
#
7b8c7efe |
| 28-Jul-2023 |
Damiano Cipriani <damiano.cipriani@suse.com> |
blob: add blob set parent
Implemented a new function to set a snapshot as the parent of a blob. The previous parent of the blob, if any, can be another snapshot or an external snapshot; if the blob
blob: add blob set parent
Implemented a new function to set a snapshot as the parent of a blob. The previous parent of the blob, if any, can be another snapshot or an external snapshot; if the blob is not a clone, it must be thin-provisioned.
Change-Id: I00eeefd352f437c587433d56f1988e7a607d2bf8 Signed-off-by: Damiano Cipriani <damiano.cipriani@suse.com> Reviewed-on: https://review.spdk.io/gerrit/c/spdk/spdk/+/19304 Reviewed-by: Jim Harris <jim.harris@samsung.com> Tested-by: SPDK CI Jenkins <sys_sgci@intel.com> Reviewed-by: Tomasz Zawadzki <tomasz.zawadzki@intel.com> Community-CI: Mellanox Build Bot
show more ...
|
#
cb9ee3bb |
| 13-Sep-2023 |
Damiano Cipriani <damiano.cipriani@suse.com> |
blob: add blob_set_back_bs_dev function
This function does mostly the same as what spdk_blob_set_esnap_bs_dev did before, it will be used in reparent operations. So, the function blob_frozen_destroy
blob: add blob_set_back_bs_dev function
This function does mostly the same as what spdk_blob_set_esnap_bs_dev did before, it will be used in reparent operations. So, the function blob_frozen_destroy_esnap_channels has been renamed to blob_set_back_bs_dev_frozen.
Change-Id: Icbf16e5533b6d3230792a36bf0bcf61379fe9546 Signed-off-by: Damiano Cipriani <damiano.cipriani@suse.com> Reviewed-on: https://review.spdk.io/gerrit/c/spdk/spdk/+/21688 Reviewed-by: Jim Harris <jim.harris@samsung.com> Reviewed-by: Shuhei Matsumoto <smatsumoto@nvidia.com> Tested-by: SPDK CI Jenkins <sys_sgci@intel.com> Reviewed-by: Tomasz Zawadzki <tomasz.zawadzki@intel.com> Community-CI: Mellanox Build Bot
show more ...
|
#
d148fba3 |
| 30-Apr-2024 |
Mateusz Kozlowski <mateusz.kozlowski@solidigm.com> |
lib/blob: Handling of concurrent unmaps to a cluster
Only release clusters for the first unmap.
Fixes #3358
Change-Id: I79810a6611c57df1d0c280616d5666d2f7487d33 Signed-off-by: Mateusz Kozlowski <m
lib/blob: Handling of concurrent unmaps to a cluster
Only release clusters for the first unmap.
Fixes #3358
Change-Id: I79810a6611c57df1d0c280616d5666d2f7487d33 Signed-off-by: Mateusz Kozlowski <mateusz.kozlowski@solidigm.com> Reviewed-on: https://review.spdk.io/gerrit/c/spdk/spdk/+/23014 Community-CI: Mellanox Build Bot Tested-by: SPDK CI Jenkins <sys_sgci@intel.com> Reviewed-by: Jim Harris <jim.harris@samsung.com> Reviewed-by: Tomasz Zawadzki <tomasz.zawadzki@intel.com>
show more ...
|
#
4c88d56d |
| 26-Jul-2023 |
Damiano Cipriani <damiano.cipriani@suse.com> |
blob: add shallow copy status callback
Added a callback to shallow copy function that will be repeteadly called during operation with status updates like the number of clusters actually copied.
Cha
blob: add shallow copy status callback
Added a callback to shallow copy function that will be repeteadly called during operation with status updates like the number of clusters actually copied.
Change-Id: I6f2fb94fb38e8b17636ee2b5e106cd2a44697d09 Signed-off-by: Damiano Cipriani <damiano.cipriani@suse.com> Reviewed-on: https://review.spdk.io/gerrit/c/spdk/spdk/+/19248 Tested-by: SPDK CI Jenkins <sys_sgci@intel.com> Reviewed-by: Jim Harris <jim.harris@samsung.com> Community-CI: Mellanox Build Bot Reviewed-by: Tomasz Zawadzki <tomasz.zawadzki@intel.com>
show more ...
|
#
2dbbbbd8 |
| 01-Sep-2023 |
Damiano Cipriani <damiano.cipriani@suse.com> |
blob: keep count of allocated clusters number
A new variable has been added in spdk_blob_mut_data to store the number of allocated clusters in clusters array. Also a new method to get this value has
blob: keep count of allocated clusters number
A new variable has been added in spdk_blob_mut_data to store the number of allocated clusters in clusters array. Also a new method to get this value has been added.
Change-Id: Ibac9344bcf7e4c5e6e12cf78a6eae0a4d6755acb Signed-off-by: Damiano Cipriani <damiano.cipriani@suse.com> Reviewed-on: https://review.spdk.io/gerrit/c/spdk/spdk/+/19712 Reviewed-by: Jim Harris <jim.harris@samsung.com> Tested-by: SPDK CI Jenkins <sys_sgci@intel.com> Reviewed-by: Tomasz Zawadzki <tomasz.zawadzki@intel.com> Community-CI: Mellanox Build Bot
show more ...
|
#
1666fcfc |
| 26-Jul-2023 |
Damiano Cipriani <damiano.cipriani@suse.com> |
blob: add shallow copy over a given device
A shallow copy will copy over the destination device only the cluster allocated to the blob discarding those belonging to the blob's parent snapshot, if an
blob: add shallow copy over a given device
A shallow copy will copy over the destination device only the cluster allocated to the blob discarding those belonging to the blob's parent snapshot, if any.
Change-Id: I763ba9d952b74bce2d5827abe1fc3f41b8ebd209 Signed-off-by: Damiano Cipriani <damiano.cipriani@suse.com> Reviewed-on: https://review.spdk.io/gerrit/c/spdk/spdk/+/19247 Reviewed-by: Shuhei Matsumoto <smatsumoto@nvidia.com> Community-CI: Mellanox Build Bot Reviewed-by: Jim Harris <jim.harris@samsung.com> Tested-by: SPDK CI Jenkins <sys_sgci@intel.com> Reviewed-by: Tomasz Zawadzki <tomasz.zawadzki@intel.com>
show more ...
|
#
00311abc |
| 18-Mar-2024 |
Diwakar Sharma <diwakar.sharma@datacore.com> |
blob: handle IO to a resized blob
When a blob is resized and is backed by a another blob like a snapshot, then the resized blob has more number of clusters compared to backing device. Since the blob
blob: handle IO to a resized blob
When a blob is resized and is backed by a another blob like a snapshot, then the resized blob has more number of clusters compared to backing device. Since the blob is thin, either originally or as a result of creating snapshot, the IOs to the new cluster ranges fail as there is no cluster to be looked at in the backing. This patch introduces mechanism to handle reads by zeroeing out the payload which is trailing beyond cluster range, and handle writes by validating backing dev cluster range during copy-on-write.
Change-Id: Ib204b922819775396e53ffb718e8230ebf8fa46b Signed-off-by: Diwakar Sharma <diwakar.sharma@datacore.com> Co-authored-by: Diwakar Sharma <diwakar.sharma@datacore.com> Co-authored-by: Jim Harris <james.r.harris@intel.com> Reviewed-on: https://review.spdk.io/gerrit/c/spdk/spdk/+/22377 Community-CI: Mellanox Build Bot Reviewed-by: Shuhei Matsumoto <smatsumoto@nvidia.com> Reviewed-by: Jim Harris <jim.harris@samsung.com> Tested-by: SPDK CI Jenkins <sys_sgci@intel.com>
show more ...
|