450e2b88 | 17-Oct-2017 |
Daniel Verkamp <daniel.verkamp@intel.com> |
blobfs: use struct spdk_bs_type to represent types
Rather than using char arrays to represent blobstore types, just use the publicly-defined struct spdk_bs_type.
Change-Id: I8bbfd95085e16f9d53106c1
blobfs: use struct spdk_bs_type to represent types
Rather than using char arrays to represent blobstore types, just use the publicly-defined struct spdk_bs_type.
Change-Id: I8bbfd95085e16f9d53106c176038e067ff1266d7 Signed-off-by: Daniel Verkamp <daniel.verkamp@intel.com> Reviewed-on: https://review.gerrithub.io/382853 Tested-by: SPDK Automated Test System <sys_sgsw@intel.com> Reviewed-by: Jim Harris <james.r.harris@intel.com>
show more ...
|
eb8b1e20 | 27-Sep-2017 |
Maciej Szwed <maciej.szwed@intel.com> |
blobstore: add bstype to blobstore super block
Introducing bstype as a way to identify and verify blobstore type.
Signed-off-by: Maciej Szwed <maciej.szwed@intel.com> Change-Id: I50267b5408625be10
blobstore: add bstype to blobstore super block
Introducing bstype as a way to identify and verify blobstore type.
Signed-off-by: Maciej Szwed <maciej.szwed@intel.com> Change-Id: I50267b5408625be10fe0c146ae329016d5509b4a Reviewed-on: https://review.gerrithub.io/380476 Reviewed-by: Jim Harris <james.r.harris@intel.com> Tested-by: SPDK Automated Test System <sys_sgsw@intel.com> Reviewed-by: Paul Luse <paul.e.luse@intel.com> Reviewed-by: Daniel Verkamp <daniel.verkamp@intel.com>
show more ...
|
2d18887f | 21-Aug-2017 |
Cunyin Chang <cunyin.chang@intel.com> |
blobfs: Make the behaviour of "delete file" as unlink.
Mark the file as deleted in the function spdk_fs_delete_file() when the referance is not 0, and delete the file when it is closed, make the beh
blobfs: Make the behaviour of "delete file" as unlink.
Mark the file as deleted in the function spdk_fs_delete_file() when the referance is not 0, and delete the file when it is closed, make the behaviour as "unlink".
Change-Id: Ia934bb73c82c48fdbab79dbe4b56296a73abc01e Signed-off-by: Cunyin Chang <cunyin.chang@intel.com> Reviewed-on: https://review.gerrithub.io/374944 Reviewed-by: Jim Harris <james.r.harris@intel.com> Tested-by: SPDK Automated Test System <sys_sgsw@intel.com> Reviewed-by: Daniel Verkamp <daniel.verkamp@intel.com>
show more ...
|
d92f0f75 | 25-Aug-2017 |
Daniel Verkamp <daniel.verkamp@intel.com> |
log: rename SPDK_TRACELOG to SPDK_DEBUGLOG
This matches the name to the behavior and prepares for addition of a new log macro for "info" log level.
Change-Id: I94ccd49face4309d3368e399528776ab14074
log: rename SPDK_TRACELOG to SPDK_DEBUGLOG
This matches the name to the behavior and prepares for addition of a new log macro for "info" log level.
Change-Id: I94ccd49face4309d3368e399528776ab140748c4 Signed-off-by: Daniel Verkamp <daniel.verkamp@intel.com> Reviewed-on: https://review.gerrithub.io/375833 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 ...
|
053d5733 | 16-Aug-2017 |
Ben Walker <benjamin.walker@intel.com> |
env: Add a default value for mempool cache size
This is just a convenience and replaces the common practice of passing -1.
Change-Id: Id96734307ebf52ef0ee7dba0e7ac89602b2b5b1a Signed-off-by: Ben Wa
env: Add a default value for mempool cache size
This is just a convenience and replaces the common practice of passing -1.
Change-Id: Id96734307ebf52ef0ee7dba0e7ac89602b2b5b1a Signed-off-by: Ben Walker <benjamin.walker@intel.com> Reviewed-on: https://review.gerrithub.io/374520 Reviewed-by: Daniel Verkamp <daniel.verkamp@intel.com> Tested-by: SPDK Automated Test System <sys_sgsw@intel.com> Reviewed-by: Jim Harris <james.r.harris@intel.com>
show more ...
|
59379d4f | 07-Aug-2017 |
Ziye Yang <optimistyzy@gmail.com> |
blobfs: Remove next pointer in cache_buffer
Change-Id: I4797e3900eb425f8cddec1543a4612d4d98e07a6 Signed-off-by: Ziye Yang <optimistyzy@gmail.com> Reviewed-on: https://review.gerrithub.io/372990 Test
blobfs: Remove next pointer in cache_buffer
Change-Id: I4797e3900eb425f8cddec1543a4612d4d98e07a6 Signed-off-by: Ziye Yang <optimistyzy@gmail.com> Reviewed-on: https://review.gerrithub.io/372990 Tested-by: SPDK Automated Test System <sys_sgsw@intel.com> Reviewed-by: Jim Harris <james.r.harris@intel.com> Reviewed-by: Daniel Verkamp <daniel.verkamp@intel.com>
show more ...
|
9ea96234 | 03-Aug-2017 |
Ziye Yang <ziye.yang@intel.com> |
blobfs, tree: fix a bug in spdk_tree_insert_buffer
From the exising code, the comparison should + 1. Suppose offset = 2^19, we still can be fit into tree with level =0, since there will be 64 buffer
blobfs, tree: fix a bug in spdk_tree_insert_buffer
From the exising code, the comparison should + 1. Suppose offset = 2^19, we still can be fit into tree with level =0, since there will be 64 buffer, each with size 2^18, so we do not need to increse the tree level.
Also a unit test is added to demonstrate this.
Change-Id: I95d3542b0881aa7bb661bc57bc789cc4ef4e7509 Signed-off-by: Ziye Yang <optimistyzy@gmail.com> Reviewed-on: https://review.gerrithub.io/372396 Tested-by: SPDK Automated Test System <sys_sgsw@intel.com> Reviewed-by: Jim Harris <james.r.harris@intel.com> Reviewed-by: Daniel Verkamp <daniel.verkamp@intel.com>
show more ...
|
95399c11 | 07-Aug-2017 |
Ziye Yang <optimistyzy@gmail.com> |
blobfs: remove duplicated tailq operation statement.
The code can be merged into cache_free_buffers
Change-Id: I5da59ae5c5ea2b91d4aecd15a611ad6731bd4c56 Signed-off-by: Ziye Yang <optimistyzy@gmail.
blobfs: remove duplicated tailq operation statement.
The code can be merged into cache_free_buffers
Change-Id: I5da59ae5c5ea2b91d4aecd15a611ad6731bd4c56 Signed-off-by: Ziye Yang <optimistyzy@gmail.com> Reviewed-on: https://review.gerrithub.io/372993 Tested-by: SPDK Automated Test System <sys_sgsw@intel.com> Reviewed-by: Jim Harris <james.r.harris@intel.com> Reviewed-by: Daniel Verkamp <daniel.verkamp@intel.com>
show more ...
|
b4511e39 | 04-Aug-2017 |
Ziye Yang <optimistyzy@gmail.com> |
blobfs: Remove unnecessary if statement.
Change-Id: I9134ffcb9713e0613de61d3178940390291dc287 Signed-off-by: Ziye Yang <optimistyzy@gmail.com> Reviewed-on: https://review.gerrithub.io/372621 Tested-
blobfs: Remove unnecessary if statement.
Change-Id: I9134ffcb9713e0613de61d3178940390291dc287 Signed-off-by: Ziye Yang <optimistyzy@gmail.com> Reviewed-on: https://review.gerrithub.io/372621 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 ...
|
402288ac | 04-Aug-2017 |
Ziye Yang <optimistyzy@gmail.com> |
blobfs: check file->tree in file_alloc
Change-Id: I0705e9f203e3cb905bf2e6a7bfc72bbb424a6180 Signed-off-by: Ziye Yang <optimistyzy@gmail.com> Reviewed-on: https://review.gerrithub.io/372644 Tested-by
blobfs: check file->tree in file_alloc
Change-Id: I0705e9f203e3cb905bf2e6a7bfc72bbb424a6180 Signed-off-by: Ziye Yang <optimistyzy@gmail.com> Reviewed-on: https://review.gerrithub.io/372644 Tested-by: SPDK Automated Test System <sys_sgsw@intel.com> Reviewed-by: Jim Harris <james.r.harris@intel.com> Reviewed-by: Daniel Verkamp <daniel.verkamp@intel.com> Reviewed-by: Ben Walker <benjamin.walker@intel.com>
show more ...
|
f352e6ab | 02-Aug-2017 |
Ziye Yang <optimistyzy@gmail.com> |
blobfs, cache: Change some definition of macros
Some macros depend on others, so we change to change it and it will avoid potential wrong change only one value
Change-Id: I2490064a19adc5cbd03a2c231
blobfs, cache: Change some definition of macros
Some macros depend on others, so we change to change it and it will avoid potential wrong change only one value
Change-Id: I2490064a19adc5cbd03a2c231d5f14fbf5b95792 Signed-off-by: Ziye Yang <optimistyzy@gmail.com> Reviewed-on: https://review.gerrithub.io/372217 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: Jim Harris <james.r.harris@intel.com>
show more ...
|
b89199cf | 25-Jul-2017 |
Cunyin Chang <cunyin.chang@intel.com> |
blobfs: remove the unnecessary assert.
we will retry the alloc_cache_memory_buffer outside the function if it fail to allocate one cache buffer.
Change-Id: I276173e449e700ceb7703f68828153f566249ae2
blobfs: remove the unnecessary assert.
we will retry the alloc_cache_memory_buffer outside the function if it fail to allocate one cache buffer.
Change-Id: I276173e449e700ceb7703f68828153f566249ae2 Signed-off-by: Cunyin Chang <cunyin.chang@intel.com> Reviewed-on: https://review.gerrithub.io/371140 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 ...
|
73358c99 | 20-Jul-2017 |
Dariusz Stojaczyk <dariuszx.stojaczyk@intel.com> |
util/nvme: added io_device unregister callback
Patch afe860ae deferred freeing the io_device. However, for nvme, the io_device context (spdk_nvme_ctrlr) is still being destructed before io_channels
util/nvme: added io_device unregister callback
Patch afe860ae deferred freeing the io_device. However, for nvme, the io_device context (spdk_nvme_ctrlr) is still being destructed before io_channels are destroyed, causing segfaults on hotremove.
This patch defers io_device context destruction and fixes nvme hotremove.
Fixes: afe860aeb161 ("channel: Correctly defer unregisters if channels exist") Fixes: 5533c3d2087b ("util: defer put_io_channel")
Change-Id: I7af699174cac0c6c6a6faa2cc65418c47347eb9a Signed-off-by: Dariusz Stojaczyk <dariuszx.stojaczyk@intel.com> Reviewed-on: https://review.gerrithub.io/370459 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 ...
|
5177ed40 | 17-Jul-2017 |
Ben Walker <benjamin.walker@intel.com> |
blobfs: Handle request alloc failure during init/load
If the spdk_filesystem object is created but the initial request allocation fails, correctly clean up. This addresses a static analysis failure.
blobfs: Handle request alloc failure during init/load
If the spdk_filesystem object is created but the initial request allocation fails, correctly clean up. This addresses a static analysis failure.
Change-Id: If47a380d8804a279ec92d2aee3de7d86bb5c67fa Signed-off-by: Ben Walker <benjamin.walker@intel.com> Reviewed-on: https://review.gerrithub.io/369901 Tested-by: SPDK Automated Test System <sys_sgsw@intel.com> Reviewed-by: Daniel Verkamp <daniel.verkamp@intel.com>
show more ...
|
a6014eb2 | 12-Jul-2017 |
Jim Harris <james.r.harris@intel.com> |
blobfs: process one set_xattr at a time
During RocksDB testing with MySQL, we found cases where blobfs would try to update and sync the length xattr on the underlying blob while an existing update w
blobfs: process one set_xattr at a time
During RocksDB testing with MySQL, we found cases where blobfs would try to update and sync the length xattr on the underlying blob while an existing update was already in progress. This was primarily driven by RocksDB performing appends and syncs on the log file from multiple writer threads.
The simplest way to fix this is to just process one sync_request at a time. There could be a tiny bit of inefficiency here if multiple threads are appending and syncing a file in parallel - we can look at some additional optimizations if we find a case where that is noticeable.
Signed-off-by: Jim Harris <james.r.harris@intel.com> Reported-by: Changpeng Liu <changpeng.liu@intel.com> Tested-by: Changpeng Liu <changpeng.liu@intel.com> Change-Id: I7ab7814494d365bae8716efd0b828337286cc7b7
Reviewed-on: https://review.gerrithub.io/369490 Tested-by: SPDK Automated Test System <sys_sgsw@intel.com> Reviewed-by: Ben Walker <benjamin.walker@intel.com> Reviewed-by: Changpeng Liu <changpeng.liu@intel.com>
show more ...
|
45f7571a | 27-Jun-2017 |
Ben Walker <benjamin.walker@intel.com> |
blobfs: Fix bug when reading unwritten region after truncate
If a file is extended and then the new region is immediately read without being written, there as a math error in the buffer cache.
Chan
blobfs: Fix bug when reading unwritten region after truncate
If a file is extended and then the new region is immediately read without being written, there as a math error in the buffer cache.
Change-Id: Ibd2bbe98c734f98df43eada799ed62de4081964b Signed-off-by: Ben Walker <benjamin.walker@intel.com> Reviewed-on: https://review.gerrithub.io/367265 Tested-by: SPDK Automated Test System <sys_sgsw@intel.com> Reviewed-by: Jim Harris <james.r.harris@intel.com>
show more ...
|
8037bc0d | 07-Jun-2017 |
Daniel Verkamp <daniel.verkamp@intel.com> |
blobfs/tree: assert that array index is in bounds
The math works out so that index is always in range here, but add an assert anyway to catch potential mistakes in the future and to placate scan-bui
blobfs/tree: assert that array index is in bounds
The math works out so that index is always in range here, but add an assert anyway to catch potential mistakes in the future and to placate scan-build.
Change-Id: I09ad37dde56bc315543b3c142d91ca9a49e9b32c Signed-off-by: Daniel Verkamp <daniel.verkamp@intel.com> Reviewed-on: https://review.gerrithub.io/364530 Tested-by: SPDK Automated Test System <sys_sgsw@intel.com> Reviewed-by: Ben Walker <benjamin.walker@intel.com>
show more ...
|
59ed2aa9 | 29-May-2017 |
Jim Harris <james.r.harris@intel.com> |
blobfs: lock accesses to sync fs_request list
Synchronous blobfs channels may allocate requests from the synchronous thread, but free the request from the async thread - especially for code that is
blobfs: lock accesses to sync fs_request list
Synchronous blobfs channels may allocate requests from the synchronous thread, but free the request from the async thread - especially for code that is shared between sync and async modes. So add a lock to the request list for sync channels only.
Note this only affects metadata path (i.e. sync, delete, open) and not I/O path.
Signed-off-by: Jim Harris <james.r.harris@intel.com> Change-Id: I932c500807c2f459c697fab2ffd91a88b88b0c87
Reviewed-on: https://review.gerrithub.io/362964 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 ...
|
1285f823 | 31-May-2017 |
Jim Harris <james.r.harris@intel.com> |
blobfs: relax locking for __rw_send_from_file calls
The file's lock does not need to be held across calls to this function as the file is not dereferenced at all.
Signed-off-by: Jim Harris <james.r
blobfs: relax locking for __rw_send_from_file calls
The file's lock does not need to be held across calls to this function as the file is not dereferenced at all.
Signed-off-by: Jim Harris <james.r.harris@intel.com> Change-Id: Idf0a52f2528521f12e45963bb0ab1f414b37380f Reviewed-on: https://review.gerrithub.io/363138 Reviewed-by: Daniel Verkamp <daniel.verkamp@intel.com> Tested-by: SPDK Automated Test System <sys_sgsw@intel.com>
show more ...
|
8a44220b | 25-May-2017 |
John Meneghini <johnm@netapp.com> |
env: Rename spdk_malloc/zmalloc/realloc/free to spdk_dma_(func)
- rename spdk_malloc_socket to spdk_dma_malloc_socket - rename spdk_malloc to spdk_dma_malloc - rename spdk_zmalloc to spdk_dma_
env: Rename spdk_malloc/zmalloc/realloc/free to spdk_dma_(func)
- rename spdk_malloc_socket to spdk_dma_malloc_socket - rename spdk_malloc to spdk_dma_malloc - rename spdk_zmalloc to spdk_dma_zmalloc - rename spdk_realloc to spdk_dma_realloc - rename spdk_free to spdk_dma_free
Change-Id: I52a11b7a4243281f9c56f503e826fd7c4a1fd883 Signed-off-by: John Meneghini <johnm@netapp.com> Reviewed-on: https://review.gerrithub.io/362604 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 ...
|
d969ac44 | 18-May-2017 |
Ben Walker <benjamin.walker@intel.com> |
io_channel: Remove per-channel priority
This wasn't used anywhere and we currently believe there are superior software-only techniques for controlling quality of service.
Change-Id: Icdadd5870ed062
io_channel: Remove per-channel priority
This wasn't used anywhere and we currently believe there are superior software-only techniques for controlling quality of service.
Change-Id: Icdadd5870ed0629b338c307d2619bbc242c3e7a3 Signed-off-by: Ben Walker <benjamin.walker@intel.com> Reviewed-on: https://review.gerrithub.io/362065 Reviewed-by: Jim Harris <james.r.harris@intel.com>
show more ...
|
e045a02c | 25-May-2017 |
Jim Harris <james.r.harris@intel.com> |
blobfs: cleanup cache pool
Keep a global counter of the number of opened blobfs instances. Allocate the cache pool when the first instance is opened, and free the cache pool when the last instance
blobfs: cleanup cache pool
Keep a global counter of the number of opened blobfs instances. Allocate the cache pool when the first instance is opened, and free the cache pool when the last instance closes.
Signed-off-by: Jim Harris <james.r.harris@intel.com> Change-Id: I99db2b587b738badcd2a54c9f5dc6ec8370ce22c
Reviewed-on: https://review.gerrithub.io/362606 Tested-by: SPDK Automated Test System <sys_sgsw@intel.com> Reviewed-by: Ben Walker <benjamin.walker@intel.com>
show more ...
|
305cb239 | 15-May-2017 |
Ben Walker <benjamin.walker@intel.com> |
io_channel: Remove unique flag
This is no longer used anywhere. For the places where we previously used it, we've since found alternate solutions that do not require it.
Change-Id: I738a80b95ef5034
io_channel: Remove unique flag
This is no longer used anywhere. For the places where we previously used it, we've since found alternate solutions that do not require it.
Change-Id: I738a80b95ef50348ce1c14969a3812b0a625b3fd Signed-off-by: Ben Walker <benjamin.walker@intel.com> Reviewed-on: https://review.gerrithub.io/362064 Tested-by: <sys_sgsw@intel.com> Reviewed-by: Jim Harris <james.r.harris@intel.com>
show more ...
|
267a4e1e | 15-May-2017 |
Ben Walker <benjamin.walker@intel.com> |
blobfs: Add separate I/O target for md
This isn't strictly necessary, but follow the pattern for sync and I/O devices.
Change-Id: I34b1bd6f9da06008e419f55ee9810022f5fed3d5 Signed-off-by: Ben Walker
blobfs: Add separate I/O target for md
This isn't strictly necessary, but follow the pattern for sync and I/O devices.
Change-Id: I34b1bd6f9da06008e419f55ee9810022f5fed3d5 Signed-off-by: Ben Walker <benjamin.walker@intel.com> Reviewed-on: https://review.gerrithub.io/361674 Tested-by: <sys_sgsw@intel.com> Reviewed-by: Jim Harris <james.r.harris@intel.com>
show more ...
|
a3ab7610 | 17-May-2017 |
Ben Walker <benjamin.walker@intel.com> |
blobfs: Use a separate io_device for sync channels
This allows us to no longer use the unique=true flag as well as assign sync channels different queue depths.
Change-Id: I0b3129a3139bf39d745c2a4dc
blobfs: Use a separate io_device for sync channels
This allows us to no longer use the unique=true flag as well as assign sync channels different queue depths.
Change-Id: I0b3129a3139bf39d745c2a4dc1d9f402c0a8faa8 Signed-off-by: Ben Walker <benjamin.walker@intel.com> Reviewed-on: https://review.gerrithub.io/361673 Tested-by: <sys_sgsw@intel.com> Reviewed-by: Jim Harris <james.r.harris@intel.com>
show more ...
|