#
aec7a76e |
| 26-Jan-2018 |
Jim Harris <james.r.harris@intel.com> |
blob: add _spdk_blob_insert_cluster()
This will be used in the upcoming thin provisioning patches. A thread the wishes to insert a newly allocated cluster into the blob will send a message to the m
blob: add _spdk_blob_insert_cluster()
This will be used in the upcoming thin provisioning patches. A thread the wishes to insert a newly allocated cluster into the blob will send a message to the metadata thread to perform to call this function, and if it succeeds, sync the blob's metadata.
Signed-off-by: Jim Harris <james.r.harris@intel.com> Change-Id: I26fcca235ea0d7a187b9fe559851290b6db13649
Reviewed-on: https://review.gerrithub.io/396711 Reviewed-by: Ben Walker <benjamin.walker@intel.com> Reviewed-by: Daniel Verkamp <daniel.verkamp@intel.com> Tested-by: SPDK Automated Test System <sys_sgsw@intel.com>
show more ...
|
#
dfb102b7 |
| 26-Jan-2018 |
Jim Harris <james.r.harris@intel.com> |
blob: add md_thread to struct spdk_blob_store
For now, use this to add some assert() calls to ensure per-blob metadata operations are only called from the thread that initialized/loaded the blobstor
blob: add md_thread to struct spdk_blob_store
For now, use this to add some assert() calls to ensure per-blob metadata operations are only called from the thread that initialized/loaded the blobstore.
Upcoming patches will utilize this for metadata updates required due to cluster allocations on thin provisioned blobs. In that case, the cluster allocations may not always be done on the metadata thread - but we want the metadata thread to actually do the metadata sync operation to guard against races from allocations on multiple threads in parallel.
Signed-off-by: Jim Harris <james.r.harris@intel.com> Change-Id: Ifa0adfe8b7e61ba770449d1e076126ecb9d7a556
Reviewed-on: https://review.gerrithub.io/396712 Reviewed-by: Ben Walker <benjamin.walker@intel.com> Reviewed-by: Daniel Verkamp <daniel.verkamp@intel.com> Tested-by: SPDK Automated Test System <sys_sgsw@intel.com>
show more ...
|
#
074f4d76 |
| 10-Jan-2018 |
Piotr Pelplinski <piotr.pelplinski@intel.com> |
blob: set md_ro and data_ro fields only after persisting data
Currently, there is no possibility to save read only blob to disk. This patch modifies behaviour so that read only flags are applied aft
blob: set md_ro and data_ro fields only after persisting data
Currently, there is no possibility to save read only blob to disk. This patch modifies behaviour so that read only flags are applied after syncing blob. This is analogy to resize, set xattr and remove xattr operations.
Signed-off-by: Piotr Pelplinski <piotr.pelplinski@intel.com> Change-Id: Iffed601c78cb83231bb20e7ef05b73847dc3c95a Reviewed-on: https://review.gerrithub.io/394243 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 ...
|
#
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 ...
|
#
4547f9bd |
| 17-Jan-2018 |
Jim Harris <james.r.harris@intel.com> |
blob: split readv/writev as separate blob calls
Now all operations (both single buffer and iov-based payloads) which span a cluster boundary get split into separate blob calls for each cluster.
Thi
blob: split readv/writev as separate blob calls
Now all operations (both single buffer and iov-based payloads) which span a cluster boundary get split into separate blob calls for each cluster.
This will simplify upcoming patches that need to do special operations if a cluster needs to be allocated. This code can now be added to just the single cluster operations and not have to worry about splits. It will also simplify the code that will eventually queue requests which require a cluster allocation if an allocation is already in progress.
Signed-off-by: Jim Harris <james.r.harris@intel.com> Change-Id: I22a850e6e23e3b3be31183b28d01d57c163b25b1
Reviewed-on: https://review.gerrithub.io/395035 Reviewed-by: Ben Walker <benjamin.walker@intel.com> Reviewed-by: Maciej Szwed <maciej.szwed@intel.com> Reviewed-by: Daniel Verkamp <daniel.verkamp@intel.com> Tested-by: SPDK Automated Test System <sys_sgsw@intel.com>
show more ...
|
#
7ba04e58 |
| 17-Jan-2018 |
Jim Harris <james.r.harris@intel.com> |
blob: move batch creation into single/split non-iov functions
A future patch will queue an operation in _spdk_blob_request_submit_op_single if the cluster is not allocated and another allocation is
blob: move batch creation into single/split non-iov functions
A future patch will queue an operation in _spdk_blob_request_submit_op_single if the cluster is not allocated and another allocation is already in progress. If the queueing fails because of no channel resources, we want to fail the callback and need to do this before creating the batch.
This causes a bit of code duplication, but in the end should make the code easier to read.
While here, pass spdk_blob instead of spdk_blob_data to _spdk_blob_request_submit_op_single. This simplifies a future patch which will need the spdk_blob when queueing an operation. It also incidentally makes it consistent with _spdk_blob_request_submit_op_split.
Signed-off-by: Jim Harris <james.r.harris@intel.com> Change-Id: Ib0ec0e5138eac5bf208fcde6676cd2a77a1a663f
Reviewed-on: https://review.gerrithub.io/395196 Reviewed-by: Maciej Szwed <maciej.szwed@intel.com> Reviewed-by: Tomasz Zawadzki <tomasz.zawadzki@intel.com> 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 ...
|
#
f536eb58 |
| 17-Jan-2018 |
Jim Harris <james.r.harris@intel.com> |
blob: turn non-iov splitting into additional blob calls
For I/O that do not span a cluster boundary, just issue a single batch command to underlying block device.
For I/O that do span a cluster bou
blob: turn non-iov splitting into additional blob calls
For I/O that do not span a cluster boundary, just issue a single batch command to underlying block device.
For I/O that do span a cluster boundary, issue a batch command for each against the blob (not the block device) for each cluster accessed by the I/O.
This is all in preparation for upcoming patches which enable thin provisioning and hence cluster allocation in the I/O path. It will simplify implementation of the cluster allocation path since now that code only needs to be concerned with a single allocation at once.
Splitting for readv/writev will be handled in a later patch.
Signed-off-by: Jim Harris <james.r.harris@intel.com> Change-Id: Ia2341abbda599dace3357c4eec06ab6602ef81a8
Reviewed-on: https://review.gerrithub.io/395027 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 ...
|
#
96d11441 |
| 17-Jan-2018 |
Jim Harris <james.r.harris@intel.com> |
blob: add _spdk_blob_request_submit_op_impl()
This breaks out the logic for building a batch for non-iov operations to a separate function. Future patches will do further modifications on this new
blob: add _spdk_blob_request_submit_op_impl()
This breaks out the logic for building a batch for non-iov operations to a separate function. Future patches will do further modifications on this new function - separating it out into two separate functions, one for operations that span a cluster boundary and one for those that do not.
No functional change here - this is just moving code around to reduce size of upcoming patches.
Signed-off-by: Jim Harris <james.r.harris@intel.com> Change-Id: Id1e67e6305d7ba2317700e1477e12c749ebf664c
Reviewed-on: https://review.gerrithub.io/395026 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 ...
|
#
bf2d02b6 |
| 05-Jan-2018 |
Maciej Szwed <maciej.szwed@intel.com> |
blob: add _spdk_bs_allocate_cluster function
Signed-off-by: Maciej Szwed <maciej.szwed@intel.com> Change-Id: I35779dc547e0c084086ec6d9bf44f86850cb7f05 Reviewed-on: https://review.gerrithub.io/393780
blob: add _spdk_bs_allocate_cluster function
Signed-off-by: Maciej Szwed <maciej.szwed@intel.com> Change-Id: I35779dc547e0c084086ec6d9bf44f86850cb7f05 Reviewed-on: https://review.gerrithub.io/393780 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 ...
|
#
bd4c63b3 |
| 19-Dec-2017 |
Maciej Szwed <maciej.szwed@intel.com> |
blob: add missing callback in spdk_blob_sync_md function
Signed-off-by: Maciej Szwed <maciej.szwed@intel.com> Change-Id: Iadb29a8ce8dcebfea68d4feeb5f3de1bb3124f16
Reviewed-on: https://review.gerrit
blob: add missing callback in spdk_blob_sync_md function
Signed-off-by: Maciej Szwed <maciej.szwed@intel.com> Change-Id: Iadb29a8ce8dcebfea68d4feeb5f3de1bb3124f16
Reviewed-on: https://review.gerrithub.io/392286 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 ...
|
#
65fe29f8 |
| 04-Dec-2017 |
Maciej Szwed <maciej.szwed@intel.com> |
blob: cluster allocation/deallocation for thin provisioned blob
Signed-off-by: Maciej Szwed <maciej.szwed@intel.com> Change-Id: Ib3470fbac49e92308ed14e20ccde6655354f2580 Reviewed-on: https://review.
blob: cluster allocation/deallocation for thin provisioned blob
Signed-off-by: Maciej Szwed <maciej.szwed@intel.com> Change-Id: Ib3470fbac49e92308ed14e20ccde6655354f2580 Reviewed-on: https://review.gerrithub.io/389577 Tested-by: SPDK Automated Test System <sys_sgsw@intel.com> Reviewed-by: Jim Harris <james.r.harris@intel.com> Reviewed-by: Ben Walker <benjamin.walker@intel.com>
show more ...
|
#
b9252b12 |
| 22-Dec-2017 |
Piotr Pelplinski <piotr.pelplinski@intel.com> |
blob: check if resize failed
This patch provides logic for returning errors instead of assert when size is larger than blobstore size.
Signed-off-by: Piotr Pelplinski <piotr.pelplinski@intel.com> C
blob: check if resize failed
This patch provides logic for returning errors instead of assert when size is larger than blobstore size.
Signed-off-by: Piotr Pelplinski <piotr.pelplinski@intel.com> Change-Id: I16d12338e2b682c39bd33d507d57ea126501a0d7
Reviewed-on: https://review.gerrithub.io/392749 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 ...
|
#
2a8d46ce |
| 10-Jan-2018 |
Maciej Szwed <maciej.szwed@intel.com> |
blob: fix bs recovery
Recovery code did not claim clusters taken by metadata.
Signed-off-by: Maciej Szwed <maciej.szwed@intel.com> Change-Id: If6726eddd22f4e1a3f9814b2348243155fb0fdb9
Reviewed-on:
blob: fix bs recovery
Recovery code did not claim clusters taken by metadata.
Signed-off-by: Maciej Szwed <maciej.szwed@intel.com> Change-Id: If6726eddd22f4e1a3f9814b2348243155fb0fdb9
Reviewed-on: https://review.gerrithub.io/394173 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 ...
|
#
489ea86e |
| 06-Dec-2017 |
Piotr Pelplinski <piotr.pelplinski@intel.com> |
blob: add thin_provision opt for spdk_bs_create_blob_ext
This only adds the option and metadata flags. Actual functionality will be added in an upcoming commit
Signed-off-by: Piotr Pelplinski <piot
blob: add thin_provision opt for spdk_bs_create_blob_ext
This only adds the option and metadata flags. Actual functionality will be added in an upcoming commit
Signed-off-by: Piotr Pelplinski <piotr.pelplinski@intel.com> Change-Id: I66015f48f34d4c7c64fce1831ebaed134098407c Reviewed-on: https://review.gerrithub.io/390196 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 ...
|
#
4bfe81b6 |
| 05-Jan-2018 |
Piotr Pelplinski <piotr.pelplinski@intel.com> |
blobstore: fix serializing flags
This patch fixes issue when blobstore doesn't serialize flags when there is also at least one extent or xattr.
Signed-off-by: Piotr Pelplinski <piotr.pelplinski@in
blobstore: fix serializing flags
This patch fixes issue when blobstore doesn't serialize flags when there is also at least one extent or xattr.
Signed-off-by: Piotr Pelplinski <piotr.pelplinski@intel.com> Change-Id: I85d5031dc45df510cebe1acf4694ab62bca2e720
Reviewed-on: https://review.gerrithub.io/393770 Tested-by: SPDK Automated Test System <sys_sgsw@intel.com> Reviewed-by: Jim Harris <james.r.harris@intel.com> Reviewed-by: Tomasz Zawadzki <tomasz.zawadzki@intel.com> Reviewed-by: Ben Walker <benjamin.walker@intel.com>
show more ...
|
#
4ebe8214 |
| 28-Dec-2017 |
Ziye Yang <optimistyzy@gmail.com> |
lvol, blob: make channel operations number configurable for blob.
We need to make the channel operations numbers configurable for blob. Reason: for iSCSI tests, if there is one CPU core, there will
lvol, blob: make channel operations number configurable for blob.
We need to make the channel operations numbers configurable for blob. Reason: for iSCSI tests, if there is one CPU core, there will be only one channel, thus read stress tests would fail since we need more operations for blob channel.
Select a value equal to the small buffer size(8192) for bdev layer, thus we can solve the iSCSI read issue correctly. Since for bdev read, we currently only allow 8192 active bdev I/o requests, so this solution should work.
PS: Current solution is still not perfect, I think the very precise fix is that we need to restrict sending I/Os to the blob, if there is no channel operations. Though current code, we have retry I/O in bdev , but it still fails the iSCSI high pressure test.
Change-Id: I211f7a89d144af2c96ad4cc1bd7ac8e94adc72e7 Signed-off-by: Ziye Yang <optimistyzy@gmail.com> Reviewed-on: https://review.gerrithub.io/393115 Tested-by: SPDK Automated Test System <sys_sgsw@intel.com> Reviewed-by: Jim Harris <james.r.harris@intel.com> Reviewed-by: Ben Walker <benjamin.walker@intel.com>
show more ...
|
#
c315d8e8 |
| 11-Dec-2017 |
Piotr Pelplinski <piotr.pelplinski@intel.com> |
blob: Add read_only opt and spdk_bs_md_set_read_only to blobs.
Signed-off-by: Piotr Pelplinski <piotr.pelplinski@intel.com> Change-Id: Ibffb43e39b44e5f443d3dfbfa5b5d7dcac3243ef
Reviewed-on: https:/
blob: Add read_only opt and spdk_bs_md_set_read_only to blobs.
Signed-off-by: Piotr Pelplinski <piotr.pelplinski@intel.com> Change-Id: Ibffb43e39b44e5f443d3dfbfa5b5d7dcac3243ef
Reviewed-on: https://review.gerrithub.io/391182 Reviewed-by: Tomasz Zawadzki <tomasz.zawadzki@intel.com> Tested-by: SPDK Automated Test System <sys_sgsw@intel.com> Reviewed-by: Daniel Verkamp <daniel.verkamp@intel.com> Reviewed-by: Ben Walker <benjamin.walker@intel.com>
show more ...
|
#
c355bbb1 |
| 11-Dec-2017 |
Piotr Pelplinski <piotr.pelplinski@intel.com> |
blob: Add xattrs to spdk_blob_opts.
Signed-off-by: Piotr Pelplinski <piotr.pelplinski@intel.com> Change-Id: Ic2c23d16360b26359c2a32920b89f2f3a21a2a9a
Reviewed-on: https://review.gerrithub.io/391191
blob: Add xattrs to spdk_blob_opts.
Signed-off-by: Piotr Pelplinski <piotr.pelplinski@intel.com> Change-Id: Ic2c23d16360b26359c2a32920b89f2f3a21a2a9a
Reviewed-on: https://review.gerrithub.io/391191 Reviewed-by: Tomasz Zawadzki <tomasz.zawadzki@intel.com> Tested-by: SPDK Automated Test System <sys_sgsw@intel.com> Reviewed-by: Daniel Verkamp <daniel.verkamp@intel.com> Reviewed-by: Ben Walker <benjamin.walker@intel.com>
show more ...
|
#
40c911b9 |
| 12-Dec-2017 |
Jim Harris <james.r.harris@intel.com> |
blob: add used blobid bit array for valid blobids
This can be used for two purposes:
1) more quickly iterate the blob list, avoiding metadata pages that are valid but not the first page in th
blob: add used blobid bit array for valid blobids
This can be used for two purposes:
1) more quickly iterate the blob list, avoiding metadata pages that are valid but not the first page in the blob's metadata list 2) close races between delete and open operations - now we can clear the bit in the blobid bit array when the delete operation is in progress, ensuring no one else can try to open the blob
Signed-off-by: Jim Harris <james.r.harris@intel.com> Change-Id: I3904648fd6fa656cb98c9e17ea763ed5a84ef537
Reviewed-on: https://review.gerrithub.io/391695 Tested-by: SPDK Automated Test System <sys_sgsw@intel.com> Reviewed-by: Ben Walker <benjamin.walker@intel.com> Reviewed-by: Paul Luse <paul.e.luse@intel.com> Reviewed-by: Daniel Verkamp <daniel.verkamp@intel.com>
show more ...
|
#
d8022e13 |
| 13-Dec-2017 |
Jim Harris <james.r.harris@intel.com> |
blob: allow _spdk_bs_recover to operate as a sequence completion
This prepares for a future change where we need to use the recovery path when loading pre-v3 on-disk formats, since the older disk fo
blob: allow _spdk_bs_recover to operate as a sequence completion
This prepares for a future change where we need to use the recovery path when loading pre-v3 on-disk formats, since the older disk formats do not save a blobid mask.
Signed-off-by: Jim Harris <james.r.harris@intel.com> Change-Id: Ia94d56450202f81373c3de94237eca2dfd96526c
Reviewed-on: https://review.gerrithub.io/391694 Tested-by: SPDK Automated Test System <sys_sgsw@intel.com> Reviewed-by: Daniel Verkamp <daniel.verkamp@intel.com> Reviewed-by: Ben Walker <benjamin.walker@intel.com> Reviewed-by: Paul Luse <paul.e.luse@intel.com>
show more ...
|
#
ac1aa04b |
| 13-Dec-2017 |
Jim Harris <james.r.harris@intel.com> |
blob: add _spdk_bs_load_fail helper routine
This eliminates a bunch of code duplication. This also fixes a couple of places where the ctx->bs was not being freed in the load fail path.
Signed-off-
blob: add _spdk_bs_load_fail helper routine
This eliminates a bunch of code duplication. This also fixes a couple of places where the ctx->bs was not being freed in the load fail path.
Signed-off-by: Jim Harris <james.r.harris@intel.com> Change-Id: Ie6b0a4a653b5c80edf14086801b75457852a4736
Reviewed-on: https://review.gerrithub.io/391693 Reviewed-by: Paul Luse <paul.e.luse@intel.com> Tested-by: SPDK Automated Test System <sys_sgsw@intel.com> Reviewed-by: Daniel Verkamp <daniel.verkamp@intel.com> Reviewed-by: Ben Walker <benjamin.walker@intel.com>
show more ...
|
#
13ece6a7 |
| 06-Dec-2017 |
Maciej Szwed <maciej.szwed@intel.com> |
blob: add spdk_bs_create_blob_ext
Signed-off-by: Maciej Szwed <maciej.szwed@intel.com> Change-Id: Iba33c55f129c60fad2d58f5254dec5c54ed56805 Signed-off-by: Piotr Pelplinski <piotr.pelplinski@intel.co
blob: add spdk_bs_create_blob_ext
Signed-off-by: Maciej Szwed <maciej.szwed@intel.com> Change-Id: Iba33c55f129c60fad2d58f5254dec5c54ed56805 Signed-off-by: Piotr Pelplinski <piotr.pelplinski@intel.com> Reviewed-on: https://review.gerrithub.io/388217 Tested-by: SPDK Automated Test System <sys_sgsw@intel.com> Reviewed-by: Tomasz Zawadzki <tomasz.zawadzki@intel.com> Reviewed-by: Ben Walker <benjamin.walker@intel.com> Reviewed-by: Jim Harris <james.r.harris@intel.com>
show more ...
|
#
feba13bb |
| 12-Dec-2017 |
Jim Harris <james.r.harris@intel.com> |
blob: do not decrement ref on close until it is done
This ensures we do not end up with a racing close v. delete. If we decrement the ref up front, we could start the close process (which may inclu
blob: do not decrement ref on close until it is done
This ensures we do not end up with a racing close v. delete. If we decrement the ref up front, we could start the close process (which may include persisting metadata) and then also allow a delete operation to start. It is safer to wait until the close operation is done before decrementing the ref count, because then it will eliminate this race condition (the delete op would immediately fail).
Signed-off-by: Jim Harris <james.r.harris@intel.com> Change-Id: Iad7fd8320d2c9b56f3c4fce054bcb6271e19ad38
Reviewed-on: https://review.gerrithub.io/391493 Reviewed-by: Ben Walker <benjamin.walker@intel.com> Tested-by: SPDK Automated Test System <sys_sgsw@intel.com> Reviewed-by: Daniel Verkamp <daniel.verkamp@intel.com>
show more ...
|
#
751691d2 |
| 12-Dec-2017 |
Jim Harris <james.r.harris@intel.com> |
blob: use spdk_bs_open_blob from spdk_bs_delete_blob
This ensures all blob-loading functionality goes through the single spdk_bs_open_blob function which will simplify some upcoming changes around m
blob: use spdk_bs_open_blob from spdk_bs_delete_blob
This ensures all blob-loading functionality goes through the single spdk_bs_open_blob function which will simplify some upcoming changes around managing global metadata state from multiple threads.
This will also help prevent races where a delete operation has started followed by an open on the blob that is being deleted. Those specific changes will be in an upcoming patch.
Signed-off-by: Jim Harris <james.r.harris@intel.com> Change-Id: I17e995145ab23068b816b44c33483b0708f5f563
Reviewed-on: https://review.gerrithub.io/391486 Reviewed-by: Ben Walker <benjamin.walker@intel.com> Tested-by: SPDK Automated Test System <sys_sgsw@intel.com> Reviewed-by: Daniel Verkamp <daniel.verkamp@intel.com>
show more ...
|