Revision tags: 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, v23.01, v23.05-pre, v23.01-rc1, v22.01.2, v22.09, v23.01-pre, v22.09-rc1 |
|
#
b47cee6c |
| 23-Sep-2022 |
Mike Gerdts <mgerdts@nvidia.com> |
blob: add IO channels for esnap clones
The channel passed to blob IO operations is useful for tracking operations within the blobstore and the bs_dev that the blobstore resides on. Esnap clone blobs
blob: add IO channels for esnap clones
The channel passed to blob IO operations is useful for tracking operations within the blobstore and the bs_dev that the blobstore resides on. Esnap clone blobs perform reads from other bs_devs and require per-thread, per-bs_dev channels.
This commit augments struct spdk_bs_channel with a tree containing channels for the external snapshot bs_devs. The tree is indexed by blob ID. These "esnap channels" are lazily created on the first read from an external snapshot via each bs_channel. They are removed as bs_channels are destroyed and blobs are closed.
Change-Id: I97aebe5a2f3584bfbf3a10ede8f3128448d30d6e Signed-off-by: Mike Gerdts <mgerdts@nvidia.com> Reviewed-on: https://review.spdk.io/gerrit/c/spdk/spdk/+/14974 Tested-by: SPDK CI Jenkins <sys_sgci@intel.com> Reviewed-by: Jim Harris <james.r.harris@intel.com> Community-CI: Mellanox Build Bot Reviewed-by: Ben Walker <benjamin.walker@intel.com>
show more ...
|
#
2948183f |
| 14-Mar-2023 |
Mike Gerdts <mgerdts@nvidia.com> |
blob: prepare sequences for esnap channels
When a sequence is used to perform IO on an esnap clone, differenent channels will be needed for the blobstore device and the esnap device. No special esna
blob: prepare sequences for esnap channels
When a sequence is used to perform IO on an esnap clone, differenent channels will be needed for the blobstore device and the esnap device. No special esnap handling is required when a sequence is used to perform IO directly on the blobstore device.
This commit splits bs_sequence_start() into bs_sequence_start_bs() and bs_sequence_start_blob() to handle these two scenarios. A later commit introduces special handling of ensap clone blobs.
Signed-off-by: Mike Gerdts <mgerdts@nvidia.com> Change-Id: I3a6f46640cdb7fdc380bf557736638f1b39f05e3 Reviewed-on: https://review.spdk.io/gerrit/c/spdk/spdk/+/17172 Reviewed-by: Ben Walker <benjamin.walker@intel.com> Tested-by: SPDK CI Jenkins <sys_sgci@intel.com> Reviewed-by: Jim Harris <james.r.harris@intel.com> Community-CI: Mellanox Build Bot
show more ...
|
#
31c2852b |
| 23-Sep-2022 |
Mike Gerdts <mgerdts@nvidia.com> |
blob: prepare sets for esnap channels
For the various forms for read_bs_dev() and readv_bs_dev() to perform reads from esnap devices, the spdk_bs_request_set used for the IO needs to keep track of t
blob: prepare sets for esnap channels
For the various forms for read_bs_dev() and readv_bs_dev() to perform reads from esnap devices, the spdk_bs_request_set used for the IO needs to keep track of the back_bs_dev IO channel as well as the blobstore's IO channel.
This commit has no change in functionality: it is preparation for a change in a later commit.
Signed-off-by: Mike Gerdts <mgerdts@nvidia.com> Change-Id: I8edd9c4bf29bc074194331b42c5ef9d27590ce88 Reviewed-on: https://review.spdk.io/gerrit/c/spdk/spdk/+/14973 Reviewed-by: Ben Walker <benjamin.walker@intel.com> Tested-by: SPDK CI Jenkins <sys_sgci@intel.com> Community-CI: Mellanox Build Bot Reviewed-by: Jim Harris <james.r.harris@intel.com>
show more ...
|
#
4d5ee263 |
| 11-Oct-2022 |
Mike Gerdts <mgerdts@nvidia.com> |
blob: pass blob context to esnap_bs_dev_create
When consumers open a blob with spdk_bs_open_blob_ext(), they can set esnap_ctx in struct spdk_blob_open_opts to have that context passed to bs->extern
blob: pass blob context to esnap_bs_dev_create
When consumers open a blob with spdk_bs_open_blob_ext(), they can set esnap_ctx in struct spdk_blob_open_opts to have that context passed to bs->external_bs_dev_create().
Change-Id: I0c1a9cec0e5aed5ef2a7143103e822cbe400aabb Signed-off-by: Mike Gerdts <mgerdts@nvidia.com> Reviewed-on: https://review.spdk.io/gerrit/c/spdk/spdk/+/14971 Reviewed-by: Jim Harris <james.r.harris@intel.com> Community-CI: Mellanox Build Bot Reviewed-by: Ben Walker <benjamin.walker@intel.com> Tested-by: SPDK CI Jenkins <sys_sgci@intel.com>
show more ...
|
#
b7bfa504 |
| 22-Aug-2022 |
Evgeniy Kochetov <evgeniik@nvidia.com> |
blob: Use bdev copy command in CoW flow if supported
Copy-on-write happens when cluster is written for the first time for thin provisioned volume. Currently it is implemented as two separate request
blob: Use bdev copy command in CoW flow if supported
Copy-on-write happens when cluster is written for the first time for thin provisioned volume. Currently it is implemented as two separate requests to underlying bdev: read of the whole cluster to bounce buffer and then write of this buffer to the new location on the same underlying bdev.
This patch improves copy-on-write flow by utilizing copy command of underlying bdev if it is supported. In this case we have just one request to bdev and don't need the bounce buffer.
Signed-off-by: Evgeniy Kochetov <evgeniik@nvidia.com> Change-Id: I92552e0f18f7a41820d589e7bb1e86160c69183f Reviewed-on: https://review.spdk.io/gerrit/c/spdk/spdk/+/14351 Tested-by: SPDK CI Jenkins <sys_sgci@intel.com> Community-CI: Mellanox Build Bot 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 ...
|
#
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 ...
|
#
0b034da1 |
| 28-Feb-2022 |
Tomasz Zawadzki <tomasz.zawadzki@intel.com> |
blob: add return codes to bs_user_op_abort
Prior to this patch bs_user_op_abort() always returned EIO back to the bdev layer.
This is not sufficient for ENOMEM cases where the I/O should be resubmi
blob: add return codes to bs_user_op_abort
Prior to this patch bs_user_op_abort() always returned EIO back to the bdev layer.
This is not sufficient for ENOMEM cases where the I/O should be resubmitted by the bdev layer.
ENOMEM for bs_sequence_start() in bs_allocate_and_copy_cluster() specifically addresses issue #2306.
Signed-off-by: Tomasz Zawadzki <tomasz.zawadzki@intel.com> Change-Id: Icfb0ce9ca20e1c4dd1668ba77d121f7091acb044 Reviewed-on: https://review.spdk.io/gerrit/c/spdk/spdk/+/11764 Tested-by: SPDK CI Jenkins <sys_sgci@intel.com> Community-CI: Broadcom CI <spdk-ci.pdl@broadcom.com> Community-CI: Mellanox Build Bot Reviewed-by: Jim Harris <james.r.harris@intel.com> Reviewed-by: Ben Walker <benjamin.walker@intel.com>
show more ...
|
#
6c8dc25e |
| 14-Feb-2022 |
Mike Gerdts <mgerdts@nvidia.com> |
blob: remove unused bs_sequence_to_batch_completion
bs_sequence_to_batch_completion has been unused since the removal of other unused code in commit ba870c2e99.
Change-Id: Ifb60c65c1c68d1855b49eda4
blob: remove unused bs_sequence_to_batch_completion
bs_sequence_to_batch_completion has been unused since the removal of other unused code in commit ba870c2e99.
Change-Id: Ifb60c65c1c68d1855b49eda4c57d99e983bca5ec Signed-off-by: Mike Gerdts <mgerdts@nvidia.com> Reviewed-on: https://review.spdk.io/gerrit/c/spdk/spdk/+/11560 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: Aleksey Marchuk <alexeymar@mellanox.com>
show more ...
|
Revision tags: v22.01, v22.01-rc1, 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, 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 |
|
#
964463e4 |
| 15-May-2020 |
Seth Howell <seth.howell@intel.com> |
lib/blob: remove spdk_ prefix from bs_batch_read_bs_dev
This function was removed from the public API last release when the map file was introduced, but I didn't clean up the name at that time.
Sig
lib/blob: remove spdk_ prefix from bs_batch_read_bs_dev
This function was removed from the public API last release when the map file was introduced, but I didn't clean up the name at that time.
Signed-off-by: Seth Howell <seth.howell@intel.com> Change-Id: I3101723b504531ce2c51dba2feb063511dd32684 Reviewed-on: https://review.spdk.io/gerrit/c/spdk/spdk/+/2443 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: Shuhei Matsumoto <shuhei.matsumoto.xt@hitachi.com> Reviewed-by: Aleksey Marchuk <alexeymar@mellanox.com>
show more ...
|
Revision tags: v20.04, v20.04-rc1 |
|
#
ba870c2e |
| 07-Apr-2020 |
Seth Howell <seth.howell@intel.com> |
lib/blob: remove some unused internal APIs
spdk_bs_sequence_unmap and spdk_bs_batch_to_sequence were unused.
Signed-off-by: Seth Howell <seth.howell@intel.com> Change-Id: I4edc45948941ba700bea353c2
lib/blob: remove some unused internal APIs
spdk_bs_sequence_unmap and spdk_bs_batch_to_sequence were unused.
Signed-off-by: Seth Howell <seth.howell@intel.com> Change-Id: I4edc45948941ba700bea353c20ddb4e3f2fa15a4 Reviewed-on: https://review.spdk.io/gerrit/c/spdk/spdk/+/1701 Reviewed-by: Tomasz Zawadzki <tomasz.zawadzki@intel.com> Reviewed-by: Shuhei Matsumoto <shuhei.matsumoto.xt@hitachi.com> Reviewed-by: Ben Walker <benjamin.walker@intel.com> Reviewed-by: Jim Harris <james.r.harris@intel.com> Tested-by: SPDK CI Jenkins <sys_sgci@intel.com>
show more ...
|
#
ad7fdd12 |
| 07-Apr-2020 |
Seth Howell <seth.howell@intel.com> |
lib/blob: remove spdk_ from non-public APIs
We have an unofficial naming convention that the spdk_ namespace is reserved for public API functions only. This patch is attempting to bring the blob lib
lib/blob: remove spdk_ from non-public APIs
We have an unofficial naming convention that the spdk_ namespace is reserved for public API functions only. This patch is attempting to bring the blob library into compliance with that naming convention.
Signed-off-by: Seth Howell <seth.howell@intel.com> Change-Id: Ie298e41d1b741dae01744826c208378ee60f9d0a Reviewed-on: https://review.spdk.io/gerrit/c/spdk/spdk/+/1700 Tested-by: SPDK CI Jenkins <sys_sgci@intel.com> Reviewed-by: Tomasz Zawadzki <tomasz.zawadzki@intel.com> Reviewed-by: Shuhei Matsumoto <shuhei.matsumoto.xt@hitachi.com> Reviewed-by: Jim Harris <james.r.harris@intel.com> Reviewed-by: Ben Walker <benjamin.walker@intel.com> Community-CI: Broadcom CI
show more ...
|
Revision tags: v20.01.1, v20.01, v20.01-rc1, v19.10.1, v19.10, v19.10-rc1, v19.07.1, v19.07, v19.04.1, v19.04, v18.10.2, v19.01.1, v19.01, v18.10.1, v18.10, v18.07.1 |
|
#
f4d78f18 |
| 29-Aug-2018 |
Jim Harris <james.r.harris@intel.com> |
blob: remove unused internal functions
Signed-off-by: Jim Harris <james.r.harris@intel.com> Change-Id: I67f1bf569a8a21f77729a30e933efd04ee05b86e
Reviewed-on: https://review.gerrithub.io/423957 Test
blob: remove unused internal functions
Signed-off-by: Jim Harris <james.r.harris@intel.com> Change-Id: I67f1bf569a8a21f77729a30e933efd04ee05b86e
Reviewed-on: https://review.gerrithub.io/423957 Tested-by: SPDK CI Jenkins <sys_sgci@intel.com> Reviewed-by: Ben Walker <benjamin.walker@intel.com> Reviewed-by: Changpeng Liu <changpeng.liu@intel.com> Reviewed-by: Shuhei Matsumoto <shuhei.matsumoto.xt@hitachi.com> Chandler-Test-Pool: SPDK Automated Test System <sys_sgsw@intel.com>
show more ...
|
Revision tags: v18.07, v18.04.1, v18.04, v18.01.1 |
|
#
8a6ba58c |
| 02-Mar-2018 |
Daniel Verkamp <daniel.verkamp@intel.com> |
scripts/check_format: check for spaces before tabs
Automatically detect more whitespace errors.
All existing cases are fixed; only whitespace change (verify with diff -w) except for one comment sty
scripts/check_format: check for spaces before tabs
Automatically detect more whitespace errors.
All existing cases are fixed; only whitespace change (verify with diff -w) except for one comment style fixup in include/spdk/nvme.h.
Change-Id: If750e54b9c8e3421ea6feda5f20184a31431631e Signed-off-by: Daniel Verkamp <daniel.verkamp@intel.com> Reviewed-on: https://review.gerrithub.io/402360 Tested-by: SPDK Automated Test System <sys_sgsw@intel.com> Reviewed-by: Jim Harris <james.r.harris@intel.com> Reviewed-by: Changpeng Liu <changpeng.liu@intel.com>
show more ...
|
Revision tags: v18.01 |
|
#
4132ac52 |
| 30-Jan-2018 |
Maciej Szwed <maciej.szwed@intel.com> |
blob: support for thin provisioned reads and writes
Signed-off-by: Maciej Szwed <maciej.szwed@intel.com> Change-Id: Ibc9609ad36188006e9454e5c799bccd8a92d7991 Reviewed-on: https://review.gerrithub.io
blob: support for thin provisioned reads and writes
Signed-off-by: Maciej Szwed <maciej.szwed@intel.com> Change-Id: Ibc9609ad36188006e9454e5c799bccd8a92d7991 Reviewed-on: https://review.gerrithub.io/391422 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 ...
|
#
b2503cb3 |
| 29-Nov-2017 |
Jim Harris <james.r.harris@intel.com> |
blob: add spdk_bs_user_op_t
This allows a channel's request_set resources to be used for queuing I/O requests. This is needed for upcoming thin provisioning functionality, where we must queue I/O r
blob: add spdk_bs_user_op_t
This allows a channel's request_set resources to be used for queuing I/O requests. This is needed for upcoming thin provisioning functionality, where we must queue I/O requests that need to allocate a cluster, if another cluster allocation is in progress.
Signed-off-by: Jim Harris <james.r.harris@intel.com> Change-Id: Ie8d3e799afc0b56bc95ba5ecab11253d8bc8608f Reviewed-on: https://review.gerrithub.io/395037 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>
show more ...
|
#
a5ecbadb |
| 17-Jan-2018 |
Jim Harris <james.r.harris@intel.com> |
blob: add spdk_bs_batch_xxx_blob variants
These will be used to implement user request splitting on cluster boundaries.
Signed-off-by: Jim Harris <james.r.harris@intel.com> Change-Id: I29e00ae9555f
blob: add spdk_bs_batch_xxx_blob variants
These will be used to implement user request splitting on cluster boundaries.
Signed-off-by: Jim Harris <james.r.harris@intel.com> Change-Id: I29e00ae9555fdd8a149e92be3cf88a2e528f5c0e
Reviewed-on: https://review.gerrithub.io/395021 Tested-by: SPDK Automated Test System <sys_sgsw@intel.com> Reviewed-by: Ben Walker <benjamin.walker@intel.com> Reviewed-by: Maciej Szwed <maciej.szwed@intel.com> Reviewed-by: Tomasz Zawadzki <tomasz.zawadzki@intel.com> Reviewed-by: Daniel Verkamp <daniel.verkamp@intel.com>
show more ...
|
#
c4659139 |
| 17-Jan-2018 |
Jim Harris <james.r.harris@intel.com> |
blob: add _dev prefix to sequence/batch operations
This clarifies that the read/write/etc. operation is being performaned on the block device. This clarification will be important in some upcoming
blob: add _dev prefix to sequence/batch operations
This clarifies that the read/write/etc. operation is being performaned on the block device. This clarification will be important in some upcoming patches which will batch similar operations on a blob (as part of splitting a user request into smaller operations if it spans a cluster boundary).
Signed-off-by: Jim Harris <james.r.harris@intel.com> Change-Id: Ic574804c15f769ee80c1b6f68ca3b77ec910f0f6
Reviewed-on: https://review.gerrithub.io/395017 Tested-by: SPDK Automated Test System <sys_sgsw@intel.com> Reviewed-by: Ben Walker <benjamin.walker@intel.com> Reviewed-by: Maciej Szwed <maciej.szwed@intel.com> Reviewed-by: <shuhei.matsumoto.xt@hitachi.com> Reviewed-by: Tomasz Zawadzki <tomasz.zawadzki@intel.com> Reviewed-by: Daniel Verkamp <daniel.verkamp@intel.com>
show more ...
|
#
a2a29abc |
| 17-Jan-2018 |
Jim Harris <james.r.harris@intel.com> |
blob: remove sequence/batch operations for flush
These were unused in blobstore so remove them for now. This reduces number of code changes in some upcoming patches.
Signed-off-by: Jim Harris <jame
blob: remove sequence/batch operations for flush
These were unused in blobstore so remove them for now. This reduces number of code changes in some upcoming patches.
Signed-off-by: Jim Harris <james.r.harris@intel.com> Change-Id: I02e04f7d84fff1d2a70f371d222425f373a5d4ff
Reviewed-on: https://review.gerrithub.io/395016 Tested-by: SPDK Automated Test System <sys_sgsw@intel.com> Reviewed-by: Ben Walker <benjamin.walker@intel.com> Reviewed-by: Maciej Szwed <maciej.szwed@intel.com> Reviewed-by: <shuhei.matsumoto.xt@hitachi.com> Reviewed-by: Tomasz Zawadzki <tomasz.zawadzki@intel.com> Reviewed-by: Daniel Verkamp <daniel.verkamp@intel.com>
show more ...
|
#
0e917256 |
| 05-Jan-2018 |
Maciej Szwed <maciej.szwed@intel.com> |
blob: add spdk_bs_batch/sequence_read/readv_bs_dev functions
This prepares for some future blobstore.c code that will use these bs_dev functions directly making possible to read from different devic
blob: add spdk_bs_batch/sequence_read/readv_bs_dev functions
This prepares for some future blobstore.c code that will use these bs_dev functions directly making possible to read from different device than the one in the current context.
Signed-off-by: Maciej Szwed <maciej.szwed@intel.com> Change-Id: I55b15544ea4b53475c4b72ee5c92ff1c0a2b8c88 Reviewed-on: https://review.gerrithub.io/393781 Reviewed-by: Tomasz Zawadzki <tomasz.zawadzki@intel.com> Tested-by: SPDK Automated Test System <sys_sgsw@intel.com> Reviewed-by: Ben Walker <benjamin.walker@intel.com> Reviewed-by: Jim Harris <james.r.harris@intel.com>
show more ...
|
Revision tags: v17.10.1, 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 ...
|
#
130d278a |
| 10-Sep-2017 |
Paul Luse <paul.e.luse@intel.com> |
blob: defer calling unload callback until dev is destroyed
Fixes condition where blobstore was prematurely calling the application callback on spdk_bs_unload(), if the application tries to do someth
blob: defer calling unload callback until dev is destroyed
Fixes condition where blobstore was prematurely calling the application callback on spdk_bs_unload(), if the application tries to do something too quickly bad things happen.
To avoid application changes with how the g_devlist_mutex is held, it is no longer held while calling _spdk_io_device_attempt_free() because the app unload CB is called from that function and may want to call spdk_io_device_unregister() from its unload CB. So the lock is now held and releases strictly around the list its protecting which allows the CB from _spdk_io_device_attempt_free() to be called without issue.
Change-Id: Ib451cfe6b33ea0c3f9e66c86785316f9d88837c7 Signed-off-by: Paul Luse <paul.e.luse@intel.com> Reviewed-on: https://review.gerrithub.io/377872 Reviewed-by: Daniel Verkamp <daniel.verkamp@intel.com> Reviewed-by: Jim Harris <james.r.harris@intel.com> Tested-by: SPDK Automated Test System <sys_sgsw@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 ...
|