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 ...
|
#
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 ...
|
#
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 ...
|
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, v23.05, v23.09-pre, v23.01.1 |
|
#
0f4bfd55 |
| 06-Feb-2023 |
Mike Gerdts <mgerdts@nvidia.com> |
test/blob: test with and without copy offload
Perform all tests on devices that do and do not support spdk_bs_dev::copy.
Signed-off-by: Mike Gerdts <mgerdts@nvidia.com> Change-Id: Ic4c13ade9f45709b
test/blob: test with and without copy offload
Perform all tests on devices that do and do not support spdk_bs_dev::copy.
Signed-off-by: Mike Gerdts <mgerdts@nvidia.com> Change-Id: Ic4c13ade9f45709b34a57f9fb7456d6c6a790a85 Reviewed-on: https://review.spdk.io/gerrit/c/spdk/spdk/+/16691 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: Shuhei Matsumoto <smatsumoto@nvidia.com>
show more ...
|
Revision tags: v23.01, v23.05-pre, v23.01-rc1, v22.01.2 |
|
#
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 ...
|
Revision tags: v22.09, v23.01-pre, v22.09-rc1 |
|
#
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 ...
|
Revision tags: v22.05, v22.09-pre, v22.05-rc1, v22.01.1 |
|
#
a2360845 |
| 31-Jan-2022 |
Alexey Marchuk <alexeymar@mellanox.com> |
blob: Add readv/writev_ext functions
These function accept optional spdk_blob_ext_io_opts structure. If this structure is provided by the user then readv/writev_ext ops of base dev will be used in d
blob: Add readv/writev_ext functions
These function accept optional spdk_blob_ext_io_opts structure. If this structure is provided by the user then readv/writev_ext ops of base dev will be used in data path
Signed-off-by: Alexey Marchuk <alexeymar@mellanox.com> Change-Id: I370dd43f8c56f5752f7a52d0780bcfe3e3ae2d9e Reviewed-on: https://review.spdk.io/gerrit/c/spdk/spdk/+/11371 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: Jim Harris <james.r.harris@intel.com> Reviewed-by: Shuhei Matsumoto <smatsumoto@nvidia.com>
show more ...
|
#
ba8f1a9e |
| 31-Jan-2022 |
Alexey Marchuk <alexeymar@mellanox.com> |
blob: Add readv/writev ext ops to spdk_bs_dev
Introduce spdk_blob_ext_io_opts structure which is used in the new *_ext functions. Zeroes dev is updated with implementation of readv_ext which uses m
blob: Add readv/writev ext ops to spdk_bs_dev
Introduce spdk_blob_ext_io_opts structure which is used in the new *_ext functions. Zeroes dev is updated with implementation of readv_ext which uses memory domains memzero or regular memset().
Signed-off-by: Alexey Marchuk <alexeymar@mellanox.com> Change-Id: Id94542196eff999827bf00591fd43804256fccb4 Reviewed-on: https://review.spdk.io/gerrit/c/spdk/spdk/+/11369 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: Ben Walker <benjamin.walker@intel.com> Reviewed-by: Jim Harris <james.r.harris@intel.com> Reviewed-by: Shuhei Matsumoto <smatsumoto@nvidia.com>
show more ...
|
Revision tags: v22.01, v22.01-rc1 |
|
#
c9c7c281 |
| 25-Nov-2021 |
Josh Soref <jsoref@gmail.com> |
spelling: test
Part of #2256
* achieve * additionally * against * aliases * already * another * arguments * between * capabilities * comparison * compatibility * configuration * continuing * contro
spelling: test
Part of #2256
* achieve * additionally * against * aliases * already * another * arguments * between * capabilities * comparison * compatibility * configuration * continuing * controlq * cpumask * default * depends * dereferenced * discussed * dissect * driver * environment * everything * excluded * existing * expectation * failed * fails * following * functions * hugepages * identifiers * implicitly * in_capsule * increment * initialization * initiator * integrity * iteration * latencies * libraries * management * namespace * negotiated * negotiation * nonexistent * number * occur * occurred * occurring * offsetting * operations * outstanding * overwhelmed * parameter * parameters * partition * preempts * provisioned * responded * segment * skipped * struct * subsystem * success * successfully * sufficiently * this * threshold * transfer * transferred * unchanged * unexpected * unregistered * useless * utility * value * variable * workload
Change-Id: I21ca7dab4ef575b5767e50aaeabc34314ab13396 Signed-off-by: Josh Soref <jsoref@gmail.com> Reviewed-on: https://review.spdk.io/gerrit/c/spdk/spdk/+/10409 Community-CI: Broadcom CI <spdk-ci.pdl@broadcom.com> Reviewed-by: Tomasz Zawadzki <tomasz.zawadzki@intel.com> Reviewed-by: Jim Harris <james.r.harris@intel.com> Tested-by: SPDK CI Jenkins <sys_sgci@intel.com>
show more ...
|
Revision tags: v21.10, v21.10-rc1 |
|
#
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 ...
|
Revision tags: v21.07, v21.07-rc1 |
|
#
56d702ab |
| 23-Jul-2021 |
Konrad Sztyber <konrad.sztyber@intel.com> |
lib/blob: use bs_allocate_and_copy_cluster() in inflate
Using `bs_allocate_and_copy_cluster()` instead of a zero-length write makes it possible to inflate/decouple snapshots, as the writes would fai
lib/blob: use bs_allocate_and_copy_cluster() in inflate
Using `bs_allocate_and_copy_cluster()` instead of a zero-length write makes it possible to inflate/decouple snapshots, as the writes would fail with -EPERM, because the snapshots are marked as read-only.
Additionally, zero-length non-vector requests are now completed immediately. It makes it consistent with the vector path (which already does that) and allows us to use the zero-length reads as a context for cluster copy.
Fixes #2028.
Signed-off-by: Konrad Sztyber <konrad.sztyber@intel.com> Change-Id: Ib7fdee352972ecf808833aa179820d85cfab7eed Reviewed-on: https://review.spdk.io/gerrit/c/spdk/spdk/+/8918 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 <benjamin.walker@intel.com> Reviewed-by: Tomasz Zawadzki <tomasz.zawadzki@intel.com>
show more ...
|
#
5fc0475c |
| 05-Jun-2021 |
Jiewei Ke <jiewei@smartx.com> |
thread: Make the definition of struct spdk_io_channel private
Move the definition of structure spdk_io_channel into lib/thread/thread_internal.h, so we don't have to update SO_VER for other librarie
thread: Make the definition of struct spdk_io_channel private
Move the definition of structure spdk_io_channel into lib/thread/thread_internal.h, so we don't have to update SO_VER for other libraries in future when we need to change the internal details on the structure.
Signed-off-by: Jiewei Ke <jiewei@smartx.com> Change-Id: I3d2ca7a8737972e0b33ce92e464da42c48f89dec Reviewed-on: https://review.spdk.io/gerrit/c/spdk/spdk/+/8189 Community-CI: Mellanox Build Bot Tested-by: SPDK CI Jenkins <sys_sgci@intel.com> Reviewed-by: Ziye Yang <ziye.yang@intel.com> Reviewed-by: Aleksey Marchuk <alexeymar@mellanox.com> Reviewed-by: Shuhei Matsumoto <shuhei.matsumoto.xt@hitachi.com> Reviewed-by: Jim Harris <james.r.harris@intel.com>
show more ...
|
Revision tags: v21.04, v21.04-rc1, v21.01.1, v21.01, v21.01-rc1, v20.10, v20.10-rc1, v20.07, v20.07-rc1, v20.04.1, v20.01.2, v20.04, v20.04-rc1, v20.01.1, v20.01, v20.01-rc1, v19.10.1, v19.10, v19.10-rc1, v19.07.1, v19.07, v19.04.1 |
|
#
38c2a6f8 |
| 14-May-2019 |
Maciej Szwed <maciej.szwed@intel.com> |
blobstore/ut: Add mechanism for power failure simulation in ut
This patch adds mechanism to simulate power failure in blobstore unit tests at any given moment in time. This point in time is measured
blobstore/ut: Add mechanism for power failure simulation in ut
This patch adds mechanism to simulate power failure in blobstore unit tests at any given moment in time. This point in time is measured by number of IO operations occured after triggering power failure with the number of IO operations given as a parameter. Number of IO operations parameter can be defined as any type IOs, writes, reads, unmaps, writes zero or flushes.
Signed-off-by: Maciej Szwed <maciej.szwed@intel.com> Change-Id: I7be45331bb5110f6c16f01fd7c4e7984b2d1977d Reviewed-on: https://review.gerrithub.io/c/spdk/spdk/+/454451 Tested-by: SPDK CI Jenkins <sys_sgci@intel.com> Reviewed-by: Shuhei Matsumoto <shuhei.matsumoto.xt@hitachi.com> Reviewed-by: Ben Walker <benjamin.walker@intel.com> Reviewed-by: Tomasz Zawadzki <tomasz.zawadzki@intel.com>
show more ...
|
Revision tags: v19.04, v18.10.2, v19.01.1, v19.01, v18.10.1, v18.10, v18.07.1, v18.07 |
|
#
d3c6335b |
| 04-Jul-2018 |
Tomasz Kulasek <tomaszx.kulasek@intel.com> |
blobstore: no copy write in thin-provisioning
This patch prevents to copy cluster data when there is not backing blob to improve cluster allocation performance in thin provisioned blobs.
Change-Id:
blobstore: no copy write in thin-provisioning
This patch prevents to copy cluster data when there is not backing blob to improve cluster allocation performance in thin provisioned blobs.
Change-Id: Ie766d2e5274daa74c2b13b2198a20205e3417467 Signed-off-by: Tomasz Kulasek <tomaszx.kulasek@intel.com> Reviewed-on: https://review.gerrithub.io/417938 Tested-by: SPDK CI Jenkins <sys_sgci@intel.com> Chandler-Test-Pool: SPDK Automated Test System <sys_sgsw@intel.com> Reviewed-by: Ben Walker <benjamin.walker@intel.com> Reviewed-by: Shuhei Matsumoto <shuhei.matsumoto.xt@hitachi.com>
show more ...
|
#
32f35c16 |
| 03-Jul-2018 |
Piotr Pelplinski <piotr.pelplinski@intel.com> |
blob_ut: fix bs_dev_common for dev blocklen != SPDK_BS_PAGE SIZE
Signed-off-by: Piotr Pelplinski <piotr.pelplinski@intel.com> Change-Id: I396d5a7c3d2d736b5763d4c79284ed7483e2dce1
Reviewed-on: https
blob_ut: fix bs_dev_common for dev blocklen != SPDK_BS_PAGE SIZE
Signed-off-by: Piotr Pelplinski <piotr.pelplinski@intel.com> Change-Id: I396d5a7c3d2d736b5763d4c79284ed7483e2dce1
Reviewed-on: https://review.gerrithub.io/417704 Tested-by: SPDK Automated Test System <sys_sgsw@intel.com> Reviewed-by: Daniel Verkamp <daniel.verkamp@intel.com> Reviewed-by: Jim Harris <james.r.harris@intel.com>
show more ...
|
#
a83f91c2 |
| 11-Jun-2018 |
Ben Walker <benjamin.walker@intel.com> |
thread: Replace #include of io_channel.h with thread.h
Change-Id: I6babd4cf990bf19b510db88bdfb0ca81e29d9252 Signed-off-by: Ben Walker <benjamin.walker@intel.com> Reviewed-on: https://review.gerrithu
thread: Replace #include of io_channel.h with thread.h
Change-Id: I6babd4cf990bf19b510db88bdfb0ca81e29d9252 Signed-off-by: Ben Walker <benjamin.walker@intel.com> Reviewed-on: https://review.gerrithub.io/414700 Tested-by: SPDK Automated Test System <sys_sgsw@intel.com> Reviewed-by: Madhu Pai <mpai@netapp.com> Reviewed-by: Jim Harris <james.r.harris@intel.com> Reviewed-by: Daniel Verkamp <daniel.verkamp@intel.com>
show more ...
|
Revision tags: v18.04.1, v18.04, v18.01.1 |
|
#
3ca9cd76 |
| 19-Apr-2018 |
Piotr Pelplinski <piotr.pelplinski@intel.com> |
blob_ut: separate scheduler for blobstore unit tests
Signed-off-by: Piotr Pelplinski <piotr.pelplinski@intel.com> Change-Id: I26e9d1e86c93f0b96b5bff7c9af5a453199c3e29 Reviewed-on: https://review.ger
blob_ut: separate scheduler for blobstore unit tests
Signed-off-by: Piotr Pelplinski <piotr.pelplinski@intel.com> Change-Id: I26e9d1e86c93f0b96b5bff7c9af5a453199c3e29 Reviewed-on: https://review.gerrithub.io/408138 Reviewed-by: Shuhei Matsumoto <shuhei.matsumoto.xt@hitachi.com> Reviewed-by: Ben Walker <benjamin.walker@intel.com> Reviewed-by: Daniel Verkamp <daniel.verkamp@intel.com> Reviewed-by: Maciej Szwed <maciej.szwed@intel.com> Tested-by: SPDK Automated Test System <sys_sgsw@intel.com>
show more ...
|
#
494c252a |
| 23-Feb-2018 |
Jim Harris <james.r.harris@intel.com> |
test/blob: make bs_dev_common.c asynchronous
Unit tests that use this will still immediately execute the messages by default. But upcoming changes to queue persists will need to leverage testing as
test/blob: make bs_dev_common.c asynchronous
Unit tests that use this will still immediately execute the messages by default. But upcoming changes to queue persists will need to leverage testing asynchronous behavior so these changes enable that.
While here, fix some bugs where _bs_flush_scheduler() did not fully flush the queue of scheduled ops.
Signed-off-by: Jim Harris <james.r.harris@intel.com> Change-Id: I009e8277eef41d7e3677d9f135db34d8eaf2f071
Reviewed-on: https://review.gerrithub.io/401256 Reviewed-by: Maciej Szwed <maciej.szwed@intel.com> Tested-by: SPDK Automated Test System <sys_sgsw@intel.com> Reviewed-by: Shuhei Matsumoto <shuhei.matsumoto.xt@hitachi.com> Reviewed-by: Daniel Verkamp <daniel.verkamp@intel.com>
show more ...
|
Revision tags: v18.01 |
|
#
11130d09 |
| 16-Jan-2018 |
Maciej Szwed <maciej.szwed@intel.com> |
ut/blob: tests for thin provisioned blob unmap
Signed-off-by: Maciej Szwed <maciej.szwed@intel.com> Change-Id: Iddbc490d1bf311f6e4b6e3ea3b7bdb72889bb2d3
Reviewed-on: https://review.gerrithub.io/394
ut/blob: tests for thin provisioned blob unmap
Signed-off-by: Maciej Szwed <maciej.szwed@intel.com> Change-Id: Iddbc490d1bf311f6e4b6e3ea3b7bdb72889bb2d3
Reviewed-on: https://review.gerrithub.io/394972 Reviewed-by: Tomasz Zawadzki <tomasz.zawadzki@intel.com> Reviewed-by: Jim Harris <james.r.harris@intel.com> Reviewed-by: Ben Walker <benjamin.walker@intel.com> Tested-by: SPDK Automated Test System <sys_sgsw@intel.com>
show more ...
|
#
fb8acd90 |
| 05-Jan-2018 |
Jim Harris <james.r.harris@intel.com> |
util: make spdk_io_channel_get_ctx() inline
This requires exposing struct spdk_io_channel in the public header - mark it as internal with Doxygen comments to make it extra clear that applications sh
util: make spdk_io_channel_get_ctx() inline
This requires exposing struct spdk_io_channel in the public header - mark it as internal with Doxygen comments to make it extra clear that applications should not use the data structure directly.
This is a very hot function in the main I/O path, so making this function inline has a significant performance benefit. A bdevperf microbenchmark using null bdevs shows a 11% improvement.
Signed-off-by: Jim Harris <james.r.harris@intel.com> Change-Id: I70e30e184000705704bb004e8da1c7476a6aceeb
Reviewed-on: https://review.gerrithub.io/393824 Reviewed-by: Ben Walker <benjamin.walker@intel.com> Tested-by: SPDK Automated Test System <sys_sgsw@intel.com> Reviewed-by: Changpeng Liu <changpeng.liu@intel.com>
show more ...
|
Revision tags: v17.10.1 |
|
#
58fb5a17 |
| 07-Nov-2017 |
GangCao <gang.cao@intel.com> |
blob: handle the case that channel is not created
There is case like no memory to create the channel. Needs to handle this properly.
Change-Id: I5d13d18037e6aa8f057769b1ef345f45597b22af Signed-off-
blob: handle the case that channel is not created
There is case like no memory to create the channel. Needs to handle this properly.
Change-Id: I5d13d18037e6aa8f057769b1ef345f45597b22af Signed-off-by: GangCao <gang.cao@intel.com> Reviewed-on: https://review.gerrithub.io/386016 Tested-by: SPDK Automated Test System <sys_sgsw@intel.com> Reviewed-by: Ben Walker <benjamin.walker@intel.com> Reviewed-by: Daniel Verkamp <daniel.verkamp@intel.com> Reviewed-by: Jim Harris <james.r.harris@intel.com>
show more ...
|
Revision tags: v17.10, v17.07.1, v17.07 |
|
#
3f9cbe51 |
| 27-Jul-2017 |
Seth Howell <seth.howell@intel.com> |
blob: add write_zeroes support
Unmap does not guarantee that erased blocks will return all zeroes. using write_zeroes when unmapping metadata gives the desired behavior for a blob.
Only metadata pa
blob: add write_zeroes support
Unmap does not guarantee that erased blocks will return all zeroes. using write_zeroes when unmapping metadata gives the desired behavior for a blob.
Only metadata pages will be cleared with write_zeroes in this patch; blob data clusters will still call unmap. This behavior may be made configurable in a later patch (to allow the user to request zeroing of clusters rather than just unmapping).
Change-Id: I1b210abac110867ce703bcfdeb634eb45aa9d5c9 Signed-off-by: Seth Howell <seth.howell@intel.com> Reviewed-on: https://review.gerrithub.io/372004 Tested-by: SPDK Automated Test System <sys_sgsw@intel.com> Reviewed-by: Daniel Verkamp <daniel.verkamp@intel.com>
show more ...
|
#
70eff4fb |
| 02-Aug-2017 |
Tomasz Zawadzki <tomasz.zawadzki@intel.com> |
blobstore,ut: explicitly allocate spdk_bs_dev
Explicitly allocating spdk_bs_dev on init_dev() allows to check if dev_destroy for it was called. If it was not, then ASAN will provide information on t
blobstore,ut: explicitly allocate spdk_bs_dev
Explicitly allocating spdk_bs_dev on init_dev() allows to check if dev_destroy for it was called. If it was not, then ASAN will provide information on that.
Signed-off-by: Tomasz Zawadzki <tomasz.zawadzki@intel.com> Change-Id: I333185958dd8c29180954077a6c326b82e5949ae Reviewed-on: https://review.gerrithub.io/374766 Tested-by: SPDK Automated Test System <sys_sgsw@intel.com> Reviewed-by: Daniel Verkamp <daniel.verkamp@intel.com> Reviewed-by: Jim Harris <james.r.harris@intel.com>
show more ...
|
#
179ed697 |
| 18-Aug-2017 |
Jim Harris <james.r.harris@intel.com> |
blob: add readv/writev support
Most of the work here revolves around having to split an I/O that spans a cluster boundary. In this case we need to allocate a separate iov array, and then issue each
blob: add readv/writev support
Most of the work here revolves around having to split an I/O that spans a cluster boundary. In this case we need to allocate a separate iov array, and then issue each sub-I/O serially, copying the relevant subset of the original iov array.
Signed-off-by: Jim Harris <james.r.harris@intel.com> Change-Id: I0d46b3f832245900d109ee6c78cc6d49cf96428b
Reviewed-on: https://review.gerrithub.io/374880 Reviewed-by: Daniel Verkamp <daniel.verkamp@intel.com> Tested-by: SPDK Automated Test System <sys_sgsw@intel.com> Reviewed-by: Ben Walker <benjamin.walker@intel.com>
show more ...
|
#
728d0013 |
| 21-Jun-2017 |
Daniel Verkamp <daniel.verkamp@intel.com> |
test: move blob library unit tests to test/unit
Change-Id: I151672e49c442dc1420b5ef6b5a6a47eb78e7464 Signed-off-by: Daniel Verkamp <daniel.verkamp@intel.com> Reviewed-on: https://review.gerrithub.io
test: move blob library unit tests to test/unit
Change-Id: I151672e49c442dc1420b5ef6b5a6a47eb78e7464 Signed-off-by: Daniel Verkamp <daniel.verkamp@intel.com> Reviewed-on: https://review.gerrithub.io/366517 Reviewed-by: Jim Harris <james.r.harris@intel.com> Tested-by: SPDK Automated Test System <sys_sgsw@intel.com> Reviewed-by: Ben Walker <benjamin.walker@intel.com>
show more ...
|