dd1c38cc | 25-Apr-2019 |
Jim Harris <james.r.harris@intel.com> |
trace: allow arg1 to represent a string
This requires changing arg1_is_ptr to arg1_type. We will use this to print the first 8 characters of a blobfs filename when collecting event trace data.
Sign
trace: allow arg1 to represent a string
This requires changing arg1_is_ptr to arg1_type. We will use this to print the first 8 characters of a blobfs filename when collecting event trace data.
Signed-off-by: Jim Harris <james.r.harris@intel.com> Change-Id: I1b321d99145e82b42dcf6d901ce9d6298158edae
Reviewed-on: https://review.gerrithub.io/c/spdk/spdk/+/452259 Reviewed-by: Ben Walker <benjamin.walker@intel.com> Reviewed-by: Changpeng Liu <changpeng.liu@intel.com> Reviewed-by: Ziye Yang <ziye.yang@intel.com> Reviewed-by: Darek Stojaczyk <dariusz.stojaczyk@intel.com> Reviewed-by: Shuhei Matsumoto <shuhei.matsumoto.xt@hitachi.com> Tested-by: SPDK CI Jenkins <sys_sgci@intel.com>
show more ...
|
283abcb9 | 19-Apr-2019 |
Darek Stojaczyk <dariusz.stojaczyk@intel.com> |
bdev: temporarily allow bdev descriptors to be closed from any thread
Bdev descriptors could be closed only from the same thread that opened them. This restriction was suddenly introduced at one poi
bdev: temporarily allow bdev descriptors to be closed from any thread
Bdev descriptors could be closed only from the same thread that opened them. This restriction was suddenly introduced at one point without making sure all the SPDK code respects it. Vhost can still close descriptors from any arbitrary thread and fixing that would require some more effort.
With this patch we remove the thread-specific assert from spdk_bdev_close() and hence allow vhost to work properly in debug builds. Vhost can still have a possible data race with bdev hotremove notification, but let's get rid of the abort() from the usual code path first.
Change-Id: I6fac66a5ebc907b1c5418fff618f0b64cd9b69f4 Signed-off-by: Darek Stojaczyk <dariusz.stojaczyk@intel.com> Reviewed-on: https://review.gerrithub.io/c/spdk/spdk/+/451561 Tested-by: SPDK CI Jenkins <sys_sgci@intel.com> Reviewed-by: Ben Walker <benjamin.walker@intel.com> Reviewed-by: Jim Harris <james.r.harris@intel.com>
show more ...
|
f93b6fb0 | 04-Apr-2019 |
Darek Stojaczyk <dariusz.stojaczyk@intel.com> |
bdev: defer unregister untill *all* descriptors are closed
We used to wait only for those descriptors which specified the hotremove notification callback. The bdev could've been removed before the d
bdev: defer unregister untill *all* descriptors are closed
We used to wait only for those descriptors which specified the hotremove notification callback. The bdev could've been removed before the descriptor was closed and the subsequent spdk_bdev_close would simply segfault.
This patch modifies spdk_bdev_unregister to always wait for all descriptors to be closed before actually unregistering the bdev. This consolidates the bdev unregister behavior for descriptors with and without the hotremove callback.
Change-Id: I9b358209c6abd301b6fe8660e27bc6fa4ef485d6 Signed-off-by: Darek Stojaczyk <dariusz.stojaczyk@intel.com> Reviewed-on: https://review.gerrithub.io/c/spdk/spdk/+/450175 Tested-by: SPDK CI Jenkins <sys_sgci@intel.com> Reviewed-by: Ben Walker <benjamin.walker@intel.com> Reviewed-by: Jim Harris <james.r.harris@intel.com>
show more ...
|
bb64a7e5 | 04-Apr-2019 |
Darek Stojaczyk <dariusz.stojaczyk@intel.com> |
ut/bdev_mt: fix io_channel leak in "unregister_and_close"
We didn't call teardown_test() in "unregister_and_close" test case, causing the subsequent test case to fail to register the same io_channel
ut/bdev_mt: fix io_channel leak in "unregister_and_close"
We didn't call teardown_test() in "unregister_and_close" test case, causing the subsequent test case to fail to register the same io_channel. This didn't cause any issues, as spdk_io_device_register() silently returned if the same io_device was already registered. However, there was an extra error message printed and this patch gets rid of it.
``` Test: unregister_and_close ...passed Test: basic_qos ...thread.c: 850:spdk_io_device_register: *ERROR*: io_device 0x55555576e4e0 already registered (old:0x555555770ab0 new:0x55555d7a14d0) passed ```
Change-Id: Ib554612df8985c9d99b46b71bb76020f52565362 Signed-off-by: Darek Stojaczyk <dariusz.stojaczyk@intel.com> Reviewed-on: https://review.gerrithub.io/c/spdk/spdk/+/450111 Tested-by: SPDK CI Jenkins <sys_sgci@intel.com> Reviewed-by: Jim Harris <james.r.harris@intel.com> Reviewed-by: Shuhei Matsumoto <shuhei.matsumoto.xt@hitachi.com>
show more ...
|
1d83a09d | 29-Mar-2019 |
Piotr Pelplinski <piotr.pelplinski@intel.com> |
notify: add basic unit tests for notifications
Signed-off-by: Piotr Pelplinski <piotr.pelplinski@intel.com> Signed-off-by: Pawel Wodkowski <pawelx.wodkowski@intel.com> Change-Id: Ia6cc45c1c539cdc7d2
notify: add basic unit tests for notifications
Signed-off-by: Piotr Pelplinski <piotr.pelplinski@intel.com> Signed-off-by: Pawel Wodkowski <pawelx.wodkowski@intel.com> Change-Id: Ia6cc45c1c539cdc7d25fbe1a562afb21783dde4c Reviewed-on: https://review.gerrithub.io/c/spdk/spdk/+/432308 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>
show more ...
|
120825c9 | 01-Feb-2019 |
GangCao <gang.cao@intel.com> |
QoS: enable rate limit when opening the bdev
There are some cases that virtual bdev open and close the device and QoS will be disabled at the last close. In this case, when a new bdev open operation
QoS: enable rate limit when opening the bdev
There are some cases that virtual bdev open and close the device and QoS will be disabled at the last close. In this case, when a new bdev open operation comes again, the QoS needs to be enabled again.
Change-Id: I792e610f4592bad1cac55c6c55261d4946c6b3e2 Signed-off-by: GangCao <gang.cao@intel.com> Reviewed-on: https://review.gerrithub.io/c/442953 Tested-by: SPDK CI Jenkins <sys_sgci@intel.com> Reviewed-by: Shuhei Matsumoto <shuhei.matsumoto.xt@hitachi.com> Reviewed-by: Jim Harris <james.r.harris@intel.com> Reviewed-by: Changpeng Liu <changpeng.liu@intel.com>
show more ...
|
df6b55fd | 05-Feb-2019 |
gila <jeffry.molanus@gmail.com> |
bdev: make spdk_bdev_register_module_xxx function names predictable
Currently, the SPDK_BDEV_REGISTER_MODULE() macro uses __LINE__ to generate functions like spdk_bdev_module_register_187().
Typica
bdev: make spdk_bdev_register_module_xxx function names predictable
Currently, the SPDK_BDEV_REGISTER_MODULE() macro uses __LINE__ to generate functions like spdk_bdev_module_register_187().
Typically, this is not a problem as these functions are not called directly rather, they are only used as constructor functions to load the bdevs during system startup.
There are languages however, (e.g rust) that require these functions to be referenced explicitly to prevent them from being removed during the linking phase.
In order to reference them, having the names predictable (and potentially changed per commit) makes things easier.
Change-Id: I15947ed9136912cfe2368db7e5bba833f1d94b15 Signed-off-by: gila <jeffry.molanus@gmail.com> Reviewed-on: https://review.gerrithub.io/c/443536 Tested-by: SPDK CI Jenkins <sys_sgci@intel.com> Reviewed-by: Ben Walker <benjamin.walker@intel.com> Reviewed-by: Jim Harris <james.r.harris@intel.com>
show more ...
|
63b3b8fd | 08-Feb-2019 |
Jim Harris <james.r.harris@intel.com> |
test/unit: remove duplicate mk/spdk.common.mk includes
mk/spdk.unittest.mk already includes mk/spdk.common.mk, so it's not needed. This also fixes an issue where touching an included .mk file would
test/unit: remove duplicate mk/spdk.common.mk includes
mk/spdk.unittest.mk already includes mk/spdk.common.mk, so it's not needed. This also fixes an issue where touching an included .mk file would not trigger unit tests to rebuild if they had this duplicated mk/spdk.common.mk include.
Signed-off-by: Jim Harris <james.r.harris@intel.com> Change-Id: I41a04eb77ce468849cb9b53bd1f76df6fec06e46
Reviewed-on: https://review.gerrithub.io/c/443980 Tested-by: SPDK CI Jenkins <sys_sgci@intel.com> Reviewed-by: Shuhei Matsumoto <shuhei.matsumoto.xt@hitachi.com> Reviewed-by: Changpeng Liu <changpeng.liu@intel.com> Reviewed-by: Darek Stojaczyk <dariusz.stojaczyk@intel.com>
show more ...
|
316cb3b1 | 22-Jun-2018 |
GangCao <gang.cao@intel.com> |
QoS/Bdev: add the Read/Write separate bandwidth rate limits
This patch adds the support of read and write separate bandwidth rate limits control with the configuration file.
Below is the example (i
QoS/Bdev: add the Read/Write separate bandwidth rate limits
This patch adds the support of read and write separate bandwidth rate limits control with the configuration file.
Below is the example (in MiB) for the configuration section:
[QoS] Limit_Read_BPS Malloc0 100 Limit_Write_BPS Nvme0n1 200
Change-Id: I0221516ce70c3fbb07b9e80c1c814ed5ba271c88 Signed-off-by: GangCao <gang.cao@intel.com> Reviewed-on: https://review.gerrithub.io/c/416672 Chandler-Test-Pool: SPDK Automated Test System <sys_sgsw@intel.com> Tested-by: SPDK CI Jenkins <sys_sgci@intel.com> Reviewed-by: Jim Harris <james.r.harris@intel.com> Reviewed-by: Shuhei Matsumoto <shuhei.matsumoto.xt@hitachi.com> Reviewed-by: Ben Walker <benjamin.walker@intel.com>
show more ...
|
42dba604 | 19-Nov-2018 |
Piotr Pelplinski <piotr.pelplinski@intel.com> |
histograms: add unit tests for public bdev api
Signed-off-by: Piotr Pelplinski <piotr.pelplinski@intel.com> Change-Id: Idb725cc9d1477afa458f8d50624996031ddb1b9e Reviewed-on: https://review.gerrithub
histograms: add unit tests for public bdev api
Signed-off-by: Piotr Pelplinski <piotr.pelplinski@intel.com> Change-Id: Idb725cc9d1477afa458f8d50624996031ddb1b9e Reviewed-on: https://review.gerrithub.io/c/433644 Tested-by: SPDK CI Jenkins <sys_sgci@intel.com> Reviewed-by: Darek Stojaczyk <dariusz.stojaczyk@intel.com> Reviewed-by: Jim Harris <james.r.harris@intel.com>
show more ...
|
3816dbf8 | 06-Dec-2018 |
Konrad Sztyber <konrad.sztyber@intel.com> |
test/unit: remove unnecessary mock definitions
Added -ffunction-sections / --gc-sections to allow the linker to remove unused functions when linking test executables. This reduces the number of requ
test/unit: remove unnecessary mock definitions
Added -ffunction-sections / --gc-sections to allow the linker to remove unused functions when linking test executables. This reduces the number of required mock definitions to those actually required by tested code.
Change-Id: I22725ce82e22675a7c2d28c8227e586f2cd65023 Signed-off-by: Konrad Sztyber <konrad.sztyber@intel.com> Reviewed-on: https://review.gerrithub.io/c/436319 Tested-by: SPDK CI Jenkins <sys_sgci@intel.com> Chandler-Test-Pool: SPDK Automated Test System <sys_sgsw@intel.com> Reviewed-by: Shuhei Matsumoto <shuhei.matsumoto.xt@hitachi.com> Reviewed-by: Darek Stojaczyk <dariusz.stojaczyk@intel.com> Reviewed-by: Ben Walker <benjamin.walker@intel.com> Reviewed-by: Jim Harris <james.r.harris@intel.com>
show more ...
|
ea002f50 | 02-Jan-2019 |
Konrad Sztyber <konrad.sztyber@intel.com> |
build: use linker specified by the LD env variable
Modifed scripts/detect_cc.sh to take additional parameter specifing the linker to use. Default to LLD on FreeBSD systems.
Change-Id: Idf97e9676a14
build: use linker specified by the LD env variable
Modifed scripts/detect_cc.sh to take additional parameter specifing the linker to use. Default to LLD on FreeBSD systems.
Change-Id: Idf97e9676a144028c0803d272ae6f0e903b0dd1f Signed-off-by: Konrad Sztyber <konrad.sztyber@intel.com> Reviewed-on: https://review.gerrithub.io/c/438801 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: Jim Harris <james.r.harris@intel.com>
show more ...
|
9c2aea2a | 21-Nov-2018 |
Jim Harris <james.r.harris@intel.com> |
build: remove duplicate spdk.app.mk includes
spdk.unittest.mk includes spdk.app.mk, but some unit test Makefiles include both spdk.unittest.mk and spdk.app.mk, meaning spdk.app.mk gets included twic
build: remove duplicate spdk.app.mk includes
spdk.unittest.mk includes spdk.app.mk, but some unit test Makefiles include both spdk.unittest.mk and spdk.app.mk, meaning spdk.app.mk gets included twice. Fix that.
This hasn't been an issue because spdk.app.mk currently only includes variables - but no rules.
Signed-off-by: Jim Harris <james.r.harris@intel.com> Change-Id: I23d39e8084f79442fb06ae9b5a6a68d6134adff4
Reviewed-on: https://review.gerrithub.io/434281 Tested-by: SPDK CI Jenkins <sys_sgci@intel.com> Chandler-Test-Pool: SPDK Automated Test System <sys_sgsw@intel.com> Reviewed-by: Shuhei Matsumoto <shuhei.matsumoto.xt@hitachi.com> Reviewed-by: Ben Walker <benjamin.walker@intel.com>
show more ...
|
3c981508 | 31-Aug-2018 |
Ben Walker <benjamin.walker@intel.com> |
thread: Update unit test to use new threading logic
No longer override the send_msg implementation.
This updates ut_multithread.c, which has minor ripple effects into bdev_ut.c. But that unit test
thread: Update unit test to use new threading logic
No longer override the send_msg implementation.
This updates ut_multithread.c, which has minor ripple effects into bdev_ut.c. But that unit test is otherwise unchanged.
Change-Id: I2fd30a1010bdff0a810d376d985ab1b8a2b22fb9 Signed-off-by: Ben Walker <benjamin.walker@intel.com> Reviewed-on: https://review.gerrithub.io/424262 Tested-by: SPDK CI Jenkins <sys_sgci@intel.com> Reviewed-by: Shuhei Matsumoto <shuhei.matsumoto.xt@hitachi.com> Reviewed-by: Jim Harris <james.r.harris@intel.com>
show more ...
|
c4fee1e9 | 27-Sep-2018 |
Pawel Wodkowski <pawelx.wodkowski@intel.com> |
mk: don't use '-include spdk/config.h'
Each file that need to check SPDK_CONFIG_* options need to include spdk/config.h explicitly.
Change-Id: If9f2a91ac4c2b1a300dcf88ec3e2a12714ad344a Signed-off-b
mk: don't use '-include spdk/config.h'
Each file that need to check SPDK_CONFIG_* options need to include spdk/config.h explicitly.
Change-Id: If9f2a91ac4c2b1a300dcf88ec3e2a12714ad344a Signed-off-by: Pawel Wodkowski <pawelx.wodkowski@intel.com> Reviewed-on: https://review.gerrithub.io/427221 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> Chandler-Test-Pool: SPDK Automated Test System <sys_sgsw@intel.com>
show more ...
|
7d030ef7 | 04-Sep-2018 |
GangCao <gang.cao@intel.com> |
QoS/Bdev: add the QoS related structure and enumeration
This patch is to introduce the specific QoS related structure and the enumeration for types of QoS rate limits. Later new types of QoS rate li
QoS/Bdev: add the QoS related structure and enumeration
This patch is to introduce the specific QoS related structure and the enumeration for types of QoS rate limits. Later new types of QoS rate limits can be supported easily.
Change-Id: Idb8d2e7627fd145bf2b0ddb296c968b6b068f48c Signed-off-by: GangCao <gang.cao@intel.com> Reviewed-on: https://review.gerrithub.io/424459 Chandler-Test-Pool: SPDK Automated Test System <sys_sgsw@intel.com> 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>
show more ...
|
a7a2e272 | 05-Sep-2018 |
Ben Walker <benjamin.walker@intel.com> |
test/bdev: Add a unit test to expose a race condition
There is a race condition with the following sequence:
spdk_bdev_open() spdk_bdev_unregister() <-- starts deferred message spdk_bdev_close() de
test/bdev: Add a unit test to expose a race condition
There is a race condition with the following sequence:
spdk_bdev_open() spdk_bdev_unregister() <-- starts deferred message spdk_bdev_close() deferred message runs, crashes
Change-Id: I81fbced0849949cfb2dae5a7cc6f60c9685a8885 Signed-off-by: Ben Walker <benjamin.walker@intel.com> Reviewed-on: https://review.gerrithub.io/424739 Chandler-Test-Pool: SPDK Automated Test System <sys_sgsw@intel.com> Tested-by: SPDK CI Jenkins <sys_sgci@intel.com> Reviewed-by: Jim Harris <james.r.harris@intel.com> Reviewed-by: Shuhei Matsumoto <shuhei.matsumoto.xt@hitachi.com>
show more ...
|
0a4a217c | 06-Sep-2018 |
Jim Harris <james.r.harris@intel.com> |
test/bdev: fix enomem_multi_bdev unit test
Latest scan-build finds a legitimate issue here - although it's not clear why it was only found when testing against a seemingly unrelated patch...
Signed
test/bdev: fix enomem_multi_bdev unit test
Latest scan-build finds a legitimate issue here - although it's not clear why it was only found when testing against a seemingly unrelated patch...
Signed-off-by: Jim Harris <james.r.harris@intel.com> Change-Id: Ic981f6f403c638b0b2d454c0be9f7fbe145171d9
Reviewed-on: https://review.gerrithub.io/424887 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> Reviewed-by: Changpeng Liu <changpeng.liu@intel.com>
show more ...
|
898739fb | 05-Sep-2018 |
Ben Walker <benjamin.walker@intel.com> |
bdev: Enforce that spdk_bdev_close() is called on same thread as open()
spdk_bdev_close() must be called on the same thread as spdk_bdev_open(). Further, the remove callback on the descriptor will a
bdev: Enforce that spdk_bdev_close() is called on same thread as open()
spdk_bdev_close() must be called on the same thread as spdk_bdev_open(). Further, the remove callback on the descriptor will also be run on the same thread as spdk_bdev_open().
Change-Id: I949d6dd67de1e63d39f06944d473e4aa7134111b Signed-off-by: Ben Walker <benjamin.walker@intel.com> Reviewed-on: https://review.gerrithub.io/424738 Chandler-Test-Pool: SPDK Automated Test System <sys_sgsw@intel.com> Tested-by: SPDK CI Jenkins <sys_sgci@intel.com> Reviewed-by: Jim Harris <james.r.harris@intel.com> Reviewed-by: Shuhei Matsumoto <shuhei.matsumoto.xt@hitachi.com> Reviewed-by: GangCao <gang.cao@intel.com> Reviewed-by: Changpeng Liu <changpeng.liu@intel.com>
show more ...
|
82c3c30f | 04-Sep-2018 |
Jim Harris <james.r.harris@intel.com> |
trace: remove alias concept
This was added a long time back for tracking an rte_mbuf whose buffer was a different rte_mbuf - all related to a userspace TCP stack that is no longer in development. Th
trace: remove alias concept
This was added a long time back for tracking an rte_mbuf whose buffer was a different rte_mbuf - all related to a userspace TCP stack that is no longer in development. The concept isn't useful now, so remove it to reduce the complexity of the tracing code.
Signed-off-by: Jim Harris <james.r.harris@intel.com> Change-Id: I310e492eba7f55df242bb29d82fb19f6daee1f51
Reviewed-on: https://review.gerrithub.io/424565 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> Tested-by: SPDK CI Jenkins <sys_sgci@intel.com> Chandler-Test-Pool: SPDK Automated Test System <sys_sgsw@intel.com>
show more ...
|
c9402000 | 30-Aug-2018 |
Ben Walker <benjamin.walker@intel.com> |
thread: Add a name parameter to spdk_register_io_device
This is a string name used for debugging only.
Change-Id: I9827f0e6c83be7bc13951c7b5f0951ce6c2a1ece Signed-off-by: Ben Walker <benjamin.walke
thread: Add a name parameter to spdk_register_io_device
This is a string name used for debugging only.
Change-Id: I9827f0e6c83be7bc13951c7b5f0951ce6c2a1ece Signed-off-by: Ben Walker <benjamin.walker@intel.com> Reviewed-on: https://review.gerrithub.io/424127 Reviewed-by: Jim Harris <james.r.harris@intel.com> Reviewed-by: Changpeng Liu <changpeng.liu@intel.com> Tested-by: SPDK CI Jenkins <sys_sgci@intel.com> Chandler-Test-Pool: SPDK Automated Test System <sys_sgsw@intel.com>
show more ...
|
afaabcce | 31-Aug-2018 |
Jim Harris <james.r.harris@intel.com> |
bdev: add trace points
Signed-off-by: Jim Harris <james.r.harris@intel.com> Change-Id: I37e7f2fb19fecfe5933b4815d24240954b74b62b
Reviewed-on: https://review.gerrithub.io/424278 Tested-by: SPDK CI J
bdev: add trace points
Signed-off-by: Jim Harris <james.r.harris@intel.com> Change-Id: I37e7f2fb19fecfe5933b4815d24240954b74b62b
Reviewed-on: https://review.gerrithub.io/424278 Tested-by: SPDK CI Jenkins <sys_sgci@intel.com> Reviewed-by: Changpeng Liu <changpeng.liu@intel.com> Reviewed-by: Shuhei Matsumoto <shuhei.matsumoto.xt@hitachi.com> Reviewed-by: Ben Walker <benjamin.walker@intel.com> Chandler-Test-Pool: SPDK Automated Test System <sys_sgsw@intel.com>
show more ...
|
11ccf3be | 29-Aug-2018 |
Seth Howell <seth.howell@intel.com> |
test/unit: Fix scan-build errors in bdev unittests
Fixes a use after free error in bdev/bdev_ut Fixes an uninitialized argument value error in mt/bdev/bdev_ut Adds extra checks in the spdk_bdev_part
test/unit: Fix scan-build errors in bdev unittests
Fixes a use after free error in bdev/bdev_ut Fixes an uninitialized argument value error in mt/bdev/bdev_ut Adds extra checks in the spdk_bdev_part_construct code Fixes a dereference of null pointer error in bdev/vbdev_lvol_ut Change-Id: I1eaa6ebfec0a36a0d910504c70b16ccc651de22a Signed-off-by: Seth Howell <seth.howell@intel.com> Reviewed-on: https://review.gerrithub.io/423923 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>
show more ...
|
c899854d | 02-Aug-2018 |
Jim Harris <james.r.harris@intel.com> |
bdev: add new fini_start notification callback for modules
When an SPDK application shuts down, the bdev layer will automatically unregister all of the bdevs to ensure they are properly quiesced and
bdev: add new fini_start notification callback for modules
When an SPDK application shuts down, the bdev layer will automatically unregister all of the bdevs to ensure they are properly quiesced and cleaned up.
Some modules may want to perform different operations when a bdev is destructed during normal runtime vs. shutdown. For example, for lvol, when the last lvol is cleaned up, it should unload the lvolstore, release and close the bdev that contains the lvolstore. You never want to do this during normal runtime though - it is perfectly valid to have an lvolstore that contains no lvols. RAID and future bdev modules such as multipath have similar use cases.
So add a new bdev module callback named "fini_start". If a module specifies a function pointer for this callback, the bdev layer will call it before it starts the bdev unregistrations.
This enables some future patches to the bdev layer such that it will always unregister block devices that are not claimed (i.e. logical volumes) before block devices that are claimed (i.e. the bdev containing an lvolstore).
Signed-off-by: Jim Harris <james.r.harris@intel.com> Change-Id: I6e87f5c2b27f16731ea5def858f26e882a29495a
Reviewed-on: https://review.gerrithub.io/421175 Tested-by: SPDK CI Jenkins <sys_sgci@intel.com> Chandler-Test-Pool: SPDK Automated Test System <sys_sgsw@intel.com> Reviewed-by: Changpeng Liu <changpeng.liu@intel.com> Reviewed-by: Ben Walker <benjamin.walker@intel.com> Reviewed-by: Shuhei Matsumoto <shuhei.matsumoto.xt@hitachi.com>
show more ...
|
1196deb5 | 06-Jul-2018 |
Seth Howell <seth.howell@intel.com> |
test: fix scan-build errors in bdev unittests.
Specifically, the errors that occur in scan-build that uses clang-6.0 as a backend.
Change-Id: I3922a4f65134cbd866fcb27ad9b7a75b6b7803bb Signed-off-by
test: fix scan-build errors in bdev unittests.
Specifically, the errors that occur in scan-build that uses clang-6.0 as a backend.
Change-Id: I3922a4f65134cbd866fcb27ad9b7a75b6b7803bb Signed-off-by: Seth Howell <seth.howell@intel.com> Reviewed-on: https://review.gerrithub.io/418229 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 ...
|