Revision tags: v25.01-rc1 |
|
#
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 ...
|
Revision tags: v24.09, v25.01-pre, v24.09-rc1, v24.05, v24.09-pre, v24.05-rc1, LTS, v24.01, v24.05-pre, v24.01-rc1, v23.09, v24.01-pre, v23.09-rc1 |
|
#
ea941cae |
| 28-Jul-2023 |
Konrad Sztyber <konrad.sztyber@intel.com> |
test/unit: use spdk_ut_run_tests()
Replaced direct calls to the CUnit's functions to run the tests with spdk_ut_run_tests(). That way, each test will have the ability to run a specific test case.
test/unit: use spdk_ut_run_tests()
Replaced direct calls to the CUnit's functions to run the tests with spdk_ut_run_tests(). That way, each test will have the ability to run a specific test case.
The blob.c unit test wasn't changed, because it runs all tests multiple times with different parameter combinations, so it cannot be easily converted. In the future, each such combination could be split into a separate test suite, which would make it compatible with spdk_ut_run_tests().
Signed-off-by: Konrad Sztyber <konrad.sztyber@intel.com> Change-Id: I4463f808f89844e9bf32b5b31eda197c5d729d1d Reviewed-on: https://review.spdk.io/gerrit/c/spdk/spdk/+/19288 Reviewed-by: Tomasz Zawadzki <tomasz.zawadzki@intel.com> Community-CI: Mellanox Build Bot Reviewed-by: Aleksey Marchuk <alexeymar@nvidia.com> Tested-by: SPDK CI Jenkins <sys_sgci@intel.com>
show more ...
|
#
ae431e31 |
| 28-Jul-2023 |
Konrad Sztyber <konrad.sztyber@intel.com> |
test/unit: move spdk_cunit.h to include/spdk_internal
It'll make it easier to include this file outside of unit tests.
Signed-off-by: Konrad Sztyber <konrad.sztyber@intel.com> Change-Id: I171ddb864
test/unit: move spdk_cunit.h to include/spdk_internal
It'll make it easier to include this file outside of unit tests.
Signed-off-by: Konrad Sztyber <konrad.sztyber@intel.com> Change-Id: I171ddb8649f67b5786f08647560e2907603d0574 Reviewed-on: https://review.spdk.io/gerrit/c/spdk/spdk/+/19284 Reviewed-by: Tomasz Zawadzki <tomasz.zawadzki@intel.com> Community-CI: Mellanox Build Bot Tested-by: SPDK CI Jenkins <sys_sgci@intel.com> Reviewed-by: Aleksey Marchuk <alexeymar@nvidia.com>
show more ...
|
Revision tags: v23.05, v23.09-pre, v23.01.1, v23.01, v23.05-pre, v23.01-rc1 |
|
#
421fb110 |
| 16-Jan-2023 |
Mike Gerdts <mgerdts@nvidia.com> |
blob_bdev: defer free until all channels destroyed
To avoid races that lead to use-after-free errors during esnap device hot add/remove, we need a way to ensure that the destroy callback does not fr
blob_bdev: defer free until all channels destroyed
To avoid races that lead to use-after-free errors during esnap device hot add/remove, we need a way to ensure that the destroy callback does not free a bs_dev until all consumers are done.
This adds reference counting to the create_channel() and destroy_channel() callbacks. The reference couunt is initialized to 1 and is decremented by destroy(). The destroy() and destroy_channel() callbacks are updated to free the bs_dev only when the reference count drops to 0.
Signed-off-by: Mike Gerdts <mgerdts@nvidia.com> Change-Id: Ie0b873717e431b33ce6548f878643dbc66d4f956 Reviewed-on: https://review.spdk.io/gerrit/c/spdk/spdk/+/16422 Reviewed-by: Ben Walker <benjamin.walker@intel.com> Community-CI: Mellanox Build Bot Reviewed-by: Jim Harris <james.r.harris@intel.com> Tested-by: SPDK CI Jenkins <sys_sgci@intel.com>
show more ...
|
#
ab2eff07 |
| 11-Jan-2023 |
Mike Gerdts <mgerdts@nvidia.com> |
blob_bdev: take read-only-many claims on ro devs
If the bs_dev was opened read-write, continue to take a read-many-write-one claim. If it was opened read-only, take a read-many-write-none claim.
Si
blob_bdev: take read-only-many claims on ro devs
If the bs_dev was opened read-write, continue to take a read-many-write-one claim. If it was opened read-only, take a read-many-write-none claim.
Signed-off-by: Mike Gerdts <mgerdts@nvidia.com> Change-Id: I25d977c6961f962423899fb891ec912cd847930a Reviewed-on: https://review.spdk.io/gerrit/c/spdk/spdk/+/16282 Reviewed-by: Jim Harris <james.r.harris@intel.com> Reviewed-by: Shuhei Matsumoto <smatsumoto@nvidia.com> Tested-by: SPDK CI Jenkins <sys_sgci@intel.com> Community-CI: Mellanox Build Bot
show more ...
|
Revision tags: v22.01.2, v22.09, v23.01-pre, v22.09-rc1 |
|
#
bd5a7847 |
| 20-Sep-2022 |
Mike Gerdts <mgerdts@nvidia.com> |
blob_bdev: support read-only devices
External snapshots, which will be introduced in a later commit, will need read-only blob_bdev instances. This support is partially needed to support underlying d
blob_bdev: support read-only devices
External snapshots, which will be introduced in a later commit, will need read-only blob_bdev instances. This support is partially needed to support underlying devices that are naturally read-only and partially to provide an extra layer of protection against accidental writes.
Signed-off-by: Mike Gerdts <mgerdts@nvidia.com> Change-Id: Ibcb28d00ad644a6053aa5f4de15471c2cd8e348a Reviewed-on: https://review.spdk.io/gerrit/c/spdk/spdk/+/14968 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> Community-CI: Mellanox Build Bot Reviewed-by: Ben Walker <benjamin.walker@intel.com>
show more ...
|
#
f246b2d5 |
| 05-Jan-2023 |
Mike Gerdts <mgerdts@nvidia.com> |
blob_bdev: use bdev module claims v2
With the introduction bdev module claims v2, existing consumers should transition off of v1 claims. This transitions blob bdevs from v1 exclusive writer claims t
blob_bdev: use bdev module claims v2
With the introduction bdev module claims v2, existing consumers should transition off of v1 claims. This transitions blob bdevs from v1 exclusive writer claims to v2 read write once claims.
Signed-off-by: Mike Gerdts <mgerdts@nvidia.com> Change-Id: I1884585a540fa17ee341430e03de3c4f5d35322b Reviewed-on: https://review.spdk.io/gerrit/c/spdk/spdk/+/16168 Reviewed-by: Shuhei Matsumoto <smatsumoto@nvidia.com> Tested-by: SPDK CI Jenkins <sys_sgci@intel.com> Reviewed-by: Ben Walker <benjamin.walker@intel.com>
show more ...
|
#
e52b6c0d |
| 09-Jan-2023 |
Mike Gerdts <mgerdts@nvidia.com> |
test/blob: add unit test for bs_dev claims
Add a unit test to ensure spdk_bs_bdev_claim() takes an exclusive write claim and it is released when the destroy callback is called.
Signed-off-by: Mike
test/blob: add unit test for bs_dev claims
Add a unit test to ensure spdk_bs_bdev_claim() takes an exclusive write claim and it is released when the destroy callback is called.
Signed-off-by: Mike Gerdts <mgerdts@nvidia.com> Change-Id: Ia5185545b148a8a83315c688a9c99a16b199063a Reviewed-on: https://review.spdk.io/gerrit/c/spdk/spdk/+/16230 Reviewed-by: Ben Walker <benjamin.walker@intel.com> Reviewed-by: Shuhei Matsumoto <smatsumoto@nvidia.com> Tested-by: SPDK CI Jenkins <sys_sgci@intel.com>
show more ...
|
#
c74b8b60 |
| 09-Jan-2023 |
Mike Gerdts <mgerdts@nvidia.com> |
test/blob: create unit test for blob_bdev
This creates a minimal test for module/blob/bdev/blob_bdev.c.
Signed-off-by: Mike Gerdts <mgerdts@nvidia.com> Change-Id: I04698863f3228a27f73a90d50f0d5fbde
test/blob: create unit test for blob_bdev
This creates a minimal test for module/blob/bdev/blob_bdev.c.
Signed-off-by: Mike Gerdts <mgerdts@nvidia.com> Change-Id: I04698863f3228a27f73a90d50f0d5fbde30c0870 Reviewed-on: https://review.spdk.io/gerrit/c/spdk/spdk/+/16229 Reviewed-by: Ben Walker <benjamin.walker@intel.com> Tested-by: SPDK CI Jenkins <sys_sgci@intel.com> Reviewed-by: Shuhei Matsumoto <smatsumoto@nvidia.com>
show more ...
|