History log of /spdk/test/unit/lib/blob/blob.c/blob_ut.c (Results 1 – 25 of 222)
Revision (<<< Hide revision tags) (Show revision tags >>>) Date Author Comments
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 ...


# 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 ...


# 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 ...


# 60164a9d 24-Oct-2024 Jim Harris <jim.harris@samsung.com>

test/unit/blob: do not hardcode size of reserved field

bs_test_recover_cluster_count() builds a super block field by
field. But it zeroes the reserved field with a hardcoded size, instead
of getting

test/unit/blob: do not hardcode size of reserved field

bs_test_recover_cluster_count() builds a super block field by
field. But it zeroes the reserved field with a hardcoded size, instead
of getting the size of the reserved field.

Signed-off-by: Jim Harris <jim.harris@samsung.com>
Change-Id: I04be4ec8bf65d8e95b592ca5d262961026b72d95
Reviewed-on: https://review.spdk.io/gerrit/c/spdk/spdk/+/25369
Community-CI: Broadcom CI <spdk-ci.pdl@broadcom.com>
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: Ben Walker <ben@nvidia.com>
Reviewed-by: Konrad Sztyber <konrad.sztyber@intel.com>
Reviewed-by: Alliswell <hisunzhenliang@outlook.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 ...


# 82d52845 22-Oct-2024 Jim Harris <jim.harris@samsung.com>

test/unit/blob: use io_unit_size in more places

When blobstore was first created, we had concept of "page size". This
size was used both as the block size of blobs (i.e. the units that
users could r

test/unit/blob: use io_unit_size in more places

When blobstore was first created, we had concept of "page size". This
size was used both as the block size of blobs (i.e. the units that
users could read/write) and the metadata page size. They were both
hardcoded to 4096.

"io unit size" was introduced a long time ago. This allowed IO in
sizes different than 4096, usually 512. spdk_bs_get_io_unit_size()
can be used to get this value.

We are also working on support for metadata pages sizes greater than
4096. spdk_bs_get_page_size() will continue to return the size of a
metadata page, it may just not always be 4096.

But the unit tests in a lot of places use "page size" when "io unit
size" should be used instead. Many of the unit tests use 4096 as the
default blocklen, so everything still worked. But let's change
these to use io_unit_size correctly now, so that they will still pass
when the large IU metadata page sizes are introduced.

Signed-off-by: Jim Harris <jim.harris@samsung.com>
Change-Id: I81d9d9b711a20e84bb31181dd167d2f7916500e0
Reviewed-on: https://review.spdk.io/gerrit/c/spdk/spdk/+/25315
Community-CI: Broadcom CI <spdk-ci.pdl@broadcom.com>
Community-CI: Mellanox Build Bot
Tested-by: SPDK CI Jenkins <sys_sgci@intel.com>
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>

show more ...


# 1390df9e 22-Oct-2024 Jim Harris <jim.harris@samsung.com>

test/unit/blob: do not make assumptions about first data cluster

A bunch of blobstore unit tests make assumptions that the first
data cluster is cluster index 1 (meaning cluster index 0 contains
all

test/unit/blob: do not make assumptions about first data cluster

A bunch of blobstore unit tests make assumptions that the first
data cluster is cluster index 1 (meaning cluster index 0 contains
all of the metadata).

But to support variable metadata page sizes, this assumption is no
longer valid. For example, with 16KB metadata page sizes, the
metadata will take up more than 1 cluster.

So improve the unit tests to remove assumptions in this area.

Signed-off-by: Jim Harris <jim.harris@samsung.com>
Change-Id: If5112b8bcb7124cadc292dd1fde466cbf3d91cd4
Reviewed-on: https://review.spdk.io/gerrit/c/spdk/spdk/+/25314
Community-CI: Broadcom CI <spdk-ci.pdl@broadcom.com>
Reviewed-by: Ben Walker <ben@nvidia.com>
Tested-by: SPDK CI Jenkins <sys_sgci@intel.com>
Reviewed-by: Konrad Sztyber <konrad.sztyber@intel.com>
Community-CI: Community CI Samsung <spdk.community.ci.samsung@gmail.com>
Community-CI: Mellanox Build Bot

show more ...


# 1b0a702c 23-Oct-2024 Jim Harris <jim.harris@samsung.com>

test/unit/blob: remove useless asserts from bs_grow_live_*** unit tests

There are a couple of asserts that do nothing but make assumptions
that the metadata only consumes one cluster. Remove them si

test/unit/blob: remove useless asserts from bs_grow_live_*** unit tests

There are a couple of asserts that do nothing but make assumptions
that the metadata only consumes one cluster. Remove them since this
assumption will be invalid in upcoming patches which support
larger md page sizes.

Signed-off-by: Jim Harris <jim.harris@samsung.com>
Change-Id: I86d0fe487939669d01b604d0155188356a12f794
Reviewed-on: https://review.spdk.io/gerrit/c/spdk/spdk/+/25313
Community-CI: Broadcom CI <spdk-ci.pdl@broadcom.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>
Reviewed-by: Konrad Sztyber <konrad.sztyber@intel.com>

show more ...


# 8fb14726 23-Oct-2024 Jim Harris <jim.harris@samsung.com>

test/unit/blob: add IO_UT_BLOCKS_PER_CLUSTER

This avoids duplicating some hardcoded values.

Signed-off-by: Jim Harris <jim.harris@samsung.com>
Change-Id: Ib054540d6b796480c498d4091959219710d1d243
R

test/unit/blob: add IO_UT_BLOCKS_PER_CLUSTER

This avoids duplicating some hardcoded values.

Signed-off-by: Jim Harris <jim.harris@samsung.com>
Change-Id: Ib054540d6b796480c498d4091959219710d1d243
Reviewed-on: https://review.spdk.io/gerrit/c/spdk/spdk/+/25312
Community-CI: Community CI Samsung <spdk.community.ci.samsung@gmail.com>
Reviewed-by: Ben Walker <ben@nvidia.com>
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: Konrad Sztyber <konrad.sztyber@intel.com>

show more ...


# 91a55bfe 23-Oct-2024 Jim Harris <jim.harris@samsung.com>

test/unit/blob: make payload buffers sized based on the cluster size

Previously the payload buffers were twice as big as they needed to
be. This didn't really harm anything, but it raised questions

test/unit/blob: make payload buffers sized based on the cluster size

Previously the payload buffers were twice as big as they needed to
be. This didn't really harm anything, but it raised questions why
they were that size. It's actually better to size them exactly as
needed, since then ASAN can catch overflows.

Signed-off-by: Jim Harris <jim.harris@samsung.com>
Change-Id: I15e835703bcb147f770aad8e06c2bc6947abf276
Reviewed-on: https://review.spdk.io/gerrit/c/spdk/spdk/+/25311
Reviewed-by: Ben Walker <ben@nvidia.com>
Community-CI: Mellanox Build Bot
Tested-by: SPDK CI Jenkins <sys_sgci@intel.com>
Community-CI: Community CI Samsung <spdk.community.ci.samsung@gmail.com>
Community-CI: Broadcom CI <spdk-ci.pdl@broadcom.com>
Reviewed-by: Konrad Sztyber <konrad.sztyber@intel.com>

show more ...


# 9e554deb 23-Oct-2024 Jim Harris <jim.harris@samsung.com>

test/unit/blob: add SZ to represent cluster size in blocks for io tests

The various test_io/test_iov helper functions are littered with
hard-coded values based on a known size of 32 blocks per clust

test/unit/blob: add SZ to represent cluster size in blocks for io tests

The various test_io/test_iov helper functions are littered with
hard-coded values based on a known size of 32 blocks per cluster. We
will need to increase this size in an upcoming patch, to support
larger metadata page sizes. But instead of replacing all of the
existing hard-coded values with new hard-coded values, introduce
local SZ variables, and do various math based on that. Then increasing
the size of these clusters in the later patch will be trivial.

Signed-off-by: Jim Harris <jim.harris@samsung.com>
Change-Id: Ie931b026e7b274854fbde492f8a785d5a03b5398
Reviewed-on: https://review.spdk.io/gerrit/c/spdk/spdk/+/25310
Community-CI: Mellanox Build Bot
Reviewed-by: Ben Walker <ben@nvidia.com>
Tested-by: SPDK CI Jenkins <sys_sgci@intel.com>
Reviewed-by: Konrad Sztyber <konrad.sztyber@intel.com>
Community-CI: Community CI Samsung <spdk.community.ci.samsung@gmail.com>
Community-CI: Broadcom CI <spdk-ci.pdl@broadcom.com>

show more ...


# d0dfbef6 23-Oct-2024 Jim Harris <jim.harris@samsung.com>

test/unit/blob: introduce g_phys_blocklen

Up until now, the unit tests were all just hardcoded for 4096B md
page size. Upcoming patches will enable larger md page sizes. So
introduce a suite paramet

test/unit/blob: introduce g_phys_blocklen

Up until now, the unit tests were all just hardcoded for 4096B md
page size. Upcoming patches will enable larger md page sizes. So
introduce a suite parameter "g_phys_blocklen" which for now will
always be 4096. Future patches will emulate block devices with a
larger phys_blocklen, which is used as the md page size by default.

Signed-off-by: Atul Malakar <a.malakar@samsung.com>
Signed-off-by: Jim Harris <jim.harris@samsung.com>
Change-Id: I133113474938d2b9490161a856a32ebfe659d674
Reviewed-on: https://review.spdk.io/gerrit/c/spdk/spdk/+/25309
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>
Community-CI: Mellanox Build Bot
Reviewed-by: Konrad Sztyber <konrad.sztyber@intel.com>

show more ...


# 75a12cbf 10-Oct-2024 Slawomir Ptak <slawomir.ptak@intel.com>

test: Comparison operator fixes

Change-Id: I1296b19b590c2c6cbb75b9362e441cd6219d7a9f
Signed-off-by: Slawomir Ptak <slawomir.ptak@intel.com>
Reviewed-on: https://review.spdk.io/gerrit/c/spdk/spdk/+/2

test: Comparison operator fixes

Change-Id: I1296b19b590c2c6cbb75b9362e441cd6219d7a9f
Signed-off-by: Slawomir Ptak <slawomir.ptak@intel.com>
Reviewed-on: https://review.spdk.io/gerrit/c/spdk/spdk/+/25198
Tested-by: SPDK CI Jenkins <sys_sgci@intel.com>
Community-CI: Mellanox Build Bot
Reviewed-by: Konrad Sztyber <konrad.sztyber@intel.com>
Reviewed-by: Shuhei Matsumoto <smatsumoto@nvidia.com>
Community-CI: Broadcom CI <spdk-ci.pdl@broadcom.com>

show more ...


Revision tags: v24.09
# f9141d27 25-Sep-2024 Atul Malakar <a.malakar@samsung.com>

test/blob: Add BLOCKLEN macro in blob_ut

blob_ut has a lot of places hardcoded with 4096, mostly used for
data payload operations. These are replaced with BLOCKLEN macro.

It is similar to DEV_BUFFE

test/blob: Add BLOCKLEN macro in blob_ut

blob_ut has a lot of places hardcoded with 4096, mostly used for
data payload operations. These are replaced with BLOCKLEN macro.

It is similar to DEV_BUFFER_BLOCKLEN, but in shortened form.

This is the first patch of the series where metadata support
will be added to blobstore for large IU devices.

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.

Change-Id: I9fb166a32b78b43ecd1db752c24835cee441e665
Signed-off-by: Atul Malakar <a.malakar@samsung.com>
Reviewed-on: https://review.spdk.io/gerrit/c/spdk/spdk/+/25023
Reviewed-by: Jim Harris <jim.harris@samsung.com>
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: Konrad Sztyber <konrad.sztyber@intel.com>

show more ...


Revision tags: v25.01-pre, v24.09-rc1, 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 ...


# 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 ...


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 ...


# b357ad48 06-May-2024 Diwakar Sharma <diwakar.sharma@datacore.com>

blob: Handle range check for all snapshot back_bs_dev up in the chain

When there are multiple snapshots in the backing for a blob,
we traverse all of them. During traversal, the is_range_valid
check

blob: Handle range check for all snapshot back_bs_dev up in the chain

When there are multiple snapshots in the backing for a blob,
we traverse all of them. During traversal, the is_range_valid
check need to be done for every one of them.

Change-Id: Ib8318a5d3cdc558e7f295e0543587a20a2c32917
Signed-off-by: Diwakar Sharma <diwakar.sharma@datacore.com>
Reviewed-on: https://review.spdk.io/gerrit/c/spdk/spdk/+/23020
Community-CI: Mellanox Build Bot
Reviewed-by: Jim Harris <jim.harris@samsung.com>
Reviewed-by: Tomasz Zawadzki <tomasz.zawadzki@intel.com>
Tested-by: SPDK CI Jenkins <sys_sgci@intel.com>

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 ...


123456789