Revision tags: v25.01-rc1 |
|
#
3428322b |
| 25-Oct-2024 |
Jinlong Chen <chenjinlong.cjl@alibaba-inc.com> |
bdev_aio: only apply RWF_NOWAIT when it is supported
Older environment may not support RWF_NOWAIT, do not apply the flag if it is not supported.
Change-Id: I40e83ef52aa3842c63bc41f48c4c57eaecd48ac1
bdev_aio: only apply RWF_NOWAIT when it is supported
Older environment may not support RWF_NOWAIT, do not apply the flag if it is not supported.
Change-Id: I40e83ef52aa3842c63bc41f48c4c57eaecd48ac1 Signed-off-by: Jinlong Chen <chenjinlong.cjl@alibaba-inc.com> Reviewed-on: https://review.spdk.io/gerrit/c/spdk/spdk/+/25372 Reviewed-by: Jim Harris <jim.harris@samsung.com> Tested-by: SPDK CI Jenkins <sys_sgci@intel.com> Reviewed-by: Konrad Sztyber <konrad.sztyber@intel.com> Reviewed-by: GangCao <gang.cao@intel.com> Community-CI: Community CI Samsung <spdk.community.ci.samsung@gmail.com> Community-CI: Broadcom CI <spdk-ci.pdl@broadcom.com> Community-CI: Mellanox Build Bot Reviewed-by: Changpeng Liu <changpeliu@tencent.com>
show more ...
|
Revision tags: v24.09, v25.01-pre, v24.09-rc1, v24.05, v24.09-pre, v24.05-rc1, LTS, v24.01, v24.05-pre, v24.01-rc1, v23.09, v24.01-pre, v23.09-rc1, v23.05, v23.09-pre, v23.01.1, v23.01 |
|
#
4c446029 |
| 21-Jan-2023 |
Jim Harris <james.r.harris@intel.com> |
bdev_aio: apply RWF_NOWAIT flag for S_ISBLK() files
This ensures the reactor doesn't block if we've exceeded the number of tags available on the queue.
We can now get -EAGAIN in the completion path
bdev_aio: apply RWF_NOWAIT flag for S_ISBLK() files
This ensures the reactor doesn't block if we've exceeded the number of tags available on the queue.
We can now get -EAGAIN in the completion path. Translate these to bdev ENOMEM status, instead of directly passing -EAGAIN to bdev layer.
Note that we can't use RWF_NOWAIT in all cases, so only try to use it for block devices (using S_ISBLK).
Fixes issue #2868.
Signed-off-by: Jim Harris <james.r.harris@intel.com> Signed-off-by: Tomasz Zawadzki <tomasz.zawadzki@intel.com> Change-Id: I03c257a1a31048da10d6eb38f6b0f94beca5dd74 Reviewed-on: https://review.spdk.io/gerrit/c/spdk/spdk/+/16406 Community-CI: Mellanox Build Bot Reviewed-by: Ben Walker <ben@nvidia.com> Tested-by: SPDK CI Jenkins <sys_sgci@intel.com> Reviewed-by: Konrad Sztyber <konrad.sztyber@intel.com>
show more ...
|
#
5c782a70 |
| 22-Aug-2024 |
Jim Harris <jim.harris@samsung.com> |
thread: allow users to pass NULL fn_ptr when registering interrupt
There are a lot of cases where the set_interrupt_mode callback function is not needed for callers of spdk_poller_register_interrupt
thread: allow users to pass NULL fn_ptr when registering interrupt
There are a lot of cases where the set_interrupt_mode callback function is not needed for callers of spdk_poller_register_interrupt(). Today, we force all callers to pass a function pointer, which in most cases does nothing. So relax this restriction to simplify calling code.
Signed-off-by: Jim Harris <jim.harris@samsung.com> Change-Id: Ib4064722c4dbd9366363a86a0ba7ccb5640cd1f9 Reviewed-on: https://review.spdk.io/gerrit/c/spdk/spdk/+/24626 Community-CI: Mellanox Build Bot Reviewed-by: Changpeng Liu <changpeliu@tencent.com> Reviewed-by: Konrad Sztyber <konrad.sztyber@intel.com> Tested-by: SPDK CI Jenkins <sys_sgci@intel.com>
show more ...
|
#
e5693d68 |
| 12-Aug-2024 |
Mateusz Kozlowski <mateusz.kozlowski@solidigm.com> |
bdev/aio: Add UUID to the bdev_aio_create function
Adds an optional UUID to the RPC call. The parameter is persisted upon save_config call. This allows for the bdev to have a consistent UUID and mea
bdev/aio: Add UUID to the bdev_aio_create function
Adds an optional UUID to the RPC call. The parameter is persisted upon save_config call. This allows for the bdev to have a consistent UUID and means it can be used with RAID bdev.
Change-Id: If6e7ab1fb327a958bba5a6aa583ba5a4943105f8 Signed-off-by: Mateusz Kozlowski <mateusz.kozlowski@solidigm.com> Reviewed-on: https://review.spdk.io/gerrit/c/spdk/spdk/+/24502 Tested-by: SPDK CI Jenkins <sys_sgci@intel.com> Community-CI: Mellanox Build Bot Reviewed-by: Konrad Sztyber <konrad.sztyber@intel.com> Reviewed-by: Jim Harris <jim.harris@samsung.com>
show more ...
|
#
71eba7ff |
| 10-Jan-2024 |
zhenwei pi <pizhenwei@bytedance.com> |
bdev/aio: support WRITE ZEROS
Support WRITE ZEROS by fallocate FALLOC_FL_ZERO_RANGE.
Change-Id: I2d660ad46f46c10ac77c16c71b9efcab07c35d84 Signed-off-by: zhenwei pi <pizhenwei@bytedance.com> Reviewe
bdev/aio: support WRITE ZEROS
Support WRITE ZEROS by fallocate FALLOC_FL_ZERO_RANGE.
Change-Id: I2d660ad46f46c10ac77c16c71b9efcab07c35d84 Signed-off-by: zhenwei pi <pizhenwei@bytedance.com> Reviewed-on: https://review.spdk.io/gerrit/c/spdk/spdk/+/20455 Community-CI: Mellanox Build Bot Tested-by: SPDK CI Jenkins <sys_sgci@intel.com> Reviewed-by: Changpeng Liu <changpeng.liu@intel.com> Reviewed-by: Jim Harris <jim.harris@samsung.com>
show more ...
|
#
648a5414 |
| 10-Jan-2024 |
zhenwei pi <pizhenwei@bytedance.com> |
bdev/aio: support UNMAP
Support UNMAP by fallocate FALLOC_FL_PUNCH_HOLE.
Note that fallocate() is synchronous syscall, reactor would block until operations to disk complete. This could significantl
bdev/aio: support UNMAP
Support UNMAP by fallocate FALLOC_FL_PUNCH_HOLE.
Note that fallocate() is synchronous syscall, reactor would block until operations to disk complete. This could significantly hurt performance. For general purpose, AIO based UNMAP(even WRITE ZERO) is *not* suggested to be used in production environment. Instead of an entire NVMe bdev, we can test UNMAP in regular file based development environment.
Suggested by Changpeng, support RPC command to enable *fallocate* for a single AIO bdev(rather than enabling this feature for all the AIO bdev at compiling step), this looks appropriate enough.
Change-Id: Iced8b9506e75744ad2e45cecc9995c77224d077b Signed-off-by: zhenwei pi <pizhenwei@bytedance.com> Reviewed-on: https://review.spdk.io/gerrit/c/spdk/spdk/+/20454 Community-CI: Mellanox Build Bot Reviewed-by: Jim Harris <jim.harris@samsung.com> Tested-by: SPDK CI Jenkins <sys_sgci@intel.com> Reviewed-by: Changpeng Liu <changpeng.liu@intel.com>
show more ...
|
#
9e06b192 |
| 01-Jun-2023 |
Fedor Uporov <fuporov.vstack@gmail.com> |
bdev_aio: Add FreeBSD support
The FreeBSD kernel aio is built around kevent() system call. Use it for polling, like it is done using io_getevents() on Linux side.
Change-Id: I558236081b8d6870f9a4a3
bdev_aio: Add FreeBSD support
The FreeBSD kernel aio is built around kevent() system call. Use it for polling, like it is done using io_getevents() on Linux side.
Change-Id: I558236081b8d6870f9a4a3a937df60710045bce9 Signed-off-by: Fedor Uporov <fuporov.vstack@gmail.com> Reviewed-on: https://review.spdk.io/gerrit/c/spdk/spdk/+/18498 Community-CI: Mellanox Build Bot Tested-by: SPDK CI Jenkins <sys_sgci@intel.com> Reviewed-by: Aleksey Marchuk <alexeymar@nvidia.com> Reviewed-by: Ben Walker <benjamin.walker@intel.com>
show more ...
|
#
488abc2b |
| 19-May-2023 |
Jim Harris <james.r.harris@intel.com> |
bdev/aio: add sysctl hint when io_setup fails
Kernel has fs.aio-max-nr limit for maximum number of AIO requests on the whole system. It is possible for SPDK to exceed this limit (default 64K) with
bdev/aio: add sysctl hint when io_setup fails
Kernel has fs.aio-max-nr limit for maximum number of AIO requests on the whole system. It is possible for SPDK to exceed this limit (default 64K) with high core count applications and a lot of bdevs. So provide ERRLOG hint to user when io_setup() fails, to suggest increasing this limit.
Signed-off-by: Jim Harris <james.r.harris@intel.com> Change-Id: I7ebebd20c23dbf2abb41fc8afc56ac11bcd3e699 Reviewed-on: https://review.spdk.io/gerrit/c/spdk/spdk/+/18232 Tested-by: SPDK CI Jenkins <sys_sgci@intel.com> Reviewed-by: Ben Walker <benjamin.walker@intel.com> Community-CI: Mellanox Build Bot Reviewed-by: Tomasz Zawadzki <tomasz.zawadzki@intel.com>
show more ...
|
Revision tags: v23.05-pre, v23.01-rc1, v22.01.2 |
|
#
a6dbe372 |
| 01-Nov-2022 |
paul luse <paul.e.luse@intel.com> |
update Intel copyright notices
per Intel policy to include file commit date using git cmd below. The policy does not apply to non-Intel (C) notices.
git log --follow -C90% --format=%ad --date defa
update Intel copyright notices
per Intel policy to include file commit date using git cmd below. The policy does not apply to non-Intel (C) notices.
git log --follow -C90% --format=%ad --date default <file> | tail -1
and then pull just the 4 digit year from the result.
Intel copyrights were not added to files where Intel either had no contribution ot the contribution lacked substance (ie license header updates, formatting changes, etc). Contribution date used "--follow -C95%" to get the most accurate date.
Note that several files in this patch didn't end the license/(c) block with a blank comment line so these were added as the vast majority of files do have this last blank line. Simply there for consistency.
Signed-off-by: paul luse <paul.e.luse@intel.com> Change-Id: Id5b7ce4f658fe87132f14139ead58d6e285c04d4 Reviewed-on: https://review.spdk.io/gerrit/c/spdk/spdk/+/15192 Tested-by: SPDK CI Jenkins <sys_sgci@intel.com> Reviewed-by: Jim Harris <james.r.harris@intel.com> Reviewed-by: Ben Walker <benjamin.walker@intel.com> Community-CI: Mellanox Build Bot
show more ...
|
#
4c6a2e3d |
| 11-Oct-2022 |
Yuhua <yuhua@smartx.com> |
bdev/aio: implement read-only
Support Aio bdev 'readonly' option in RPC call. The read-only flag can be dumped from the bdev info. Any writes on a read-only aio bdev will be fail.
Signed-off-by: Yu
bdev/aio: implement read-only
Support Aio bdev 'readonly' option in RPC call. The read-only flag can be dumped from the bdev info. Any writes on a read-only aio bdev will be fail.
Signed-off-by: Yuhua <yuhua@smartx.com> Change-Id: I939f72479f8953a3678a8df3083ecce0f96844fb Reviewed-on: https://review.spdk.io/gerrit/c/spdk/spdk/+/14955 Reviewed-by: GangCao <gang.cao@intel.com> Reviewed-by: Changpeng Liu <changpeng.liu@intel.com> Reviewed-by: Aleksey Marchuk <alexeymar@nvidia.com> Tested-by: SPDK CI Jenkins <sys_sgci@intel.com> Community-CI: Mellanox Build Bot
show more ...
|
Revision tags: v22.09, v23.01-pre, v22.09-rc1 |
|
#
488d6e84 |
| 05-Sep-2022 |
jun.ran <ranjunsh@163.com> |
bdev_aio: handle unexpected res=0 correctly
If res = 0, do not pass this value directly to bdev io completion function, otherwise it will be treated as a successful completion. Fix issue: 2679
Sign
bdev_aio: handle unexpected res=0 correctly
If res = 0, do not pass this value directly to bdev io completion function, otherwise it will be treated as a successful completion. Fix issue: 2679
Signed-off-by: jun.ran <ranjunsh@163.com> Change-Id: Ice525de1bb5b0ada9ac30d3b59e5c731419efe2f Reviewed-on: https://review.spdk.io/gerrit/c/spdk/spdk/+/14364 Reviewed-by: Changpeng Liu <changpeng.liu@intel.com> Reviewed-by: Xiaodong Liu <xiaodong.liu@intel.com> Reviewed-by: Jim Harris <james.r.harris@intel.com> Tested-by: SPDK CI Jenkins <sys_sgci@intel.com>
show more ...
|
#
8dd1cd21 |
| 22-Jun-2022 |
Ben Walker <benjamin.walker@intel.com> |
check_format: For C files only, fix return type breaks
In SPDK, declarations have the return type on the same line. Definitions have the return type on a separate line. Astyle has an option for enfo
check_format: For C files only, fix return type breaks
In SPDK, declarations have the return type on the same line. Definitions have the return type on a separate line. Astyle has an option for enforcing this. Unfortunately, it seems to have two bugs:
1) It doesn't work correctly at all on C++ files. 2) It often fails on functions that return enums, or long type names
Deal with 1) by adjusting the check_format.sh script to only tell astyle to fix return type line breaks for C files and not C++. Deal with 2) by adding a few typedefs to work around the problem.
Change-Id: Idf28281466cab8411ce252d5f02ab384166790c6 Signed-off-by: Ben Walker <benjamin.walker@intel.com> Reviewed-on: https://review.spdk.io/gerrit/c/spdk/spdk/+/13437 Tested-by: SPDK CI Jenkins <sys_sgci@intel.com> Reviewed-by: Jim Harris <james.r.harris@intel.com> Reviewed-by: Dong Yi <dongx.yi@intel.com> Reviewed-by: Tomasz Zawadzki <tomasz.zawadzki@intel.com> Community-CI: Broadcom CI <spdk-ci.pdl@broadcom.com>
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 ...
|
#
9be660ea |
| 03-Jun-2022 |
Liu Xiaodong <xiaodong.liu@intel.com> |
bdev_aio: fix aio error indication
From aio_abi.h, io_event.res is defined __s64, negative errno is assigned to io_event.res for error situation in Linux Kernel. But from libaio.h, io_event.res is d
bdev_aio: fix aio error indication
From aio_abi.h, io_event.res is defined __s64, negative errno is assigned to io_event.res for error situation in Linux Kernel. But from libaio.h, io_event.res is defined unsigned long, so convert it to signed value for error detection.
Fixes issue #2325
Change-Id: I99f8b03e8bfedfa260fe91f3e9e8ef0e5ecd0b77 Signed-off-by: Liu Xiaodong <xiaodong.liu@intel.com> Reviewed-on: https://review.spdk.io/gerrit/c/spdk/spdk/+/12882 Community-CI: Broadcom CI <spdk-ci.pdl@broadcom.com> Reviewed-by: Changpeng Liu <changpeng.liu@intel.com> Reviewed-by: Jim Harris <james.r.harris@intel.com> Tested-by: SPDK CI Jenkins <sys_sgci@intel.com>
show more ...
|
Revision tags: v22.05, v22.09-pre, v22.05-rc1, v22.01.1 |
|
#
d77d3179 |
| 29-Mar-2022 |
Shuhei Matsumoto <smatsumoto@nvidia.com> |
bdev/aio: Use bdev_open_ext() for rescan instead of bdev_get_by_name()
Use spdk_bdev_open_ext() + spdk_bdev_desc_get_bdev() + spdk_bdev_close() instead of spdk_bdev_get_by_name().
Additionally, use
bdev/aio: Use bdev_open_ext() for rescan instead of bdev_get_by_name()
Use spdk_bdev_open_ext() + spdk_bdev_desc_get_bdev() + spdk_bdev_close() instead of spdk_bdev_get_by_name().
Additionally, use bdev pointer instead of &fdisk->disk because it is more readable.
Signed-off-by: Shuhei Matsumoto <smatsumoto@nvidia.com> Change-Id: I924595268e6785592a6e777e90a8c245a0346719 Reviewed-on: https://review.spdk.io/gerrit/c/spdk/spdk/+/12070 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@mellanox.com> Reviewed-by: Ben Walker <benjamin.walker@intel.com> Reviewed-by: Jim Harris <james.r.harris@intel.com>
show more ...
|
#
4573e4cc |
| 29-Mar-2022 |
Shuhei Matsumoto <smatsumoto@nvidia.com> |
module/bdev: Use spdk_bdev_unregister_by_name() if possible
Replace spdk_bdev_get_by_name() + spdk_bdev_unregister() by spdk_bdev_unregister_by_name() wherever possible.
This simplifies the code an
module/bdev: Use spdk_bdev_unregister_by_name() if possible
Replace spdk_bdev_get_by_name() + spdk_bdev_unregister() by spdk_bdev_unregister_by_name() wherever possible.
This simplifies the code and makes the code more reliable.
Signed-off-by: Shuhei Matsumoto <smatsumoto@nvidia.com> Change-Id: I91388c9d0b2e244cb745720a480803b03c42a226 Reviewed-on: https://review.spdk.io/gerrit/c/spdk/spdk/+/12066 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: Ben Walker <benjamin.walker@intel.com> Reviewed-by: Aleksey Marchuk <alexeymar@mellanox.com> Reviewed-by: Jim Harris <james.r.harris@intel.com>
show more ...
|
#
b5b75279 |
| 08-Feb-2022 |
Alexey Marchuk <alexeymar@mellanox.com> |
bdev/aio: Correct error message when IO fails
structure io_event defined in aio_abi.h has res member with type __s64 which is typically mapped to long long int. When we print error message, res memb
bdev/aio: Correct error message when IO fails
structure io_event defined in aio_abi.h has res member with type __s64 which is typically mapped to long long int. When we print error message, res member can be treated as an error code.
In the following error message: failed to complete aio: requested len is 4096, but completed len is 18446744073709551611 the last digit in int representation is -5 which is -EIO
Signed-off-by: Alexey Marchuk <alexeymar@mellanox.com> Reported-by: Anil <aniruddha080699@gmail.com> Change-Id: I33b98d2118bbc9cace2d9da7cf9cd9bd06d784e6 Reviewed-on: https://review.spdk.io/gerrit/c/spdk/spdk/+/11453 Tested-by: SPDK CI Jenkins <sys_sgci@intel.com> Community-CI: Mellanox Build Bot Reviewed-by: Dong Yi <dongx.yi@intel.com> Reviewed-by: Ben Walker <benjamin.walker@intel.com> Reviewed-by: Shuhei Matsumoto <smatsumoto@nvidia.com>
show more ...
|
Revision tags: v22.01, v22.01-rc1 |
|
#
b635d19a |
| 13-Jan-2022 |
shuochen0311 <shuo.chen@databricks.com> |
aio: add aio bdev rescan feature
Signed-off-by: shuochen0311 <shuo.chen@databricks.com> Change-Id: I7f2788640a56d1e1bc8b7b311622628e8a6be56e Reviewed-on: https://review.spdk.io/gerrit/c/spdk/spdk/+/
aio: add aio bdev rescan feature
Signed-off-by: shuochen0311 <shuo.chen@databricks.com> Change-Id: I7f2788640a56d1e1bc8b7b311622628e8a6be56e Reviewed-on: https://review.spdk.io/gerrit/c/spdk/spdk/+/11084 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> Community-CI: Mellanox Build Bot Community-CI: Broadcom CI <spdk-ci.pdl@broadcom.com>
show more ...
|
Revision tags: v21.10, v21.10-rc1 |
|
#
e90a98ed |
| 31-Aug-2021 |
Jim Harris <james.r.harris@intel.com> |
bdev/aio: return void from bdev_aio_readv/writev
The values returned weren't actually used, and instead make the code unclear especially in the error cases.
Signed-off-by: Jim Harris <james.r.harri
bdev/aio: return void from bdev_aio_readv/writev
The values returned weren't actually used, and instead make the code unclear especially in the error cases.
Signed-off-by: Jim Harris <james.r.harris@intel.com> Change-Id: Iee2661545a6831f6151a183d4ac723c835e84d13 Reviewed-on: https://review.spdk.io/gerrit/c/spdk/spdk/+/9349 Reviewed-by: Paul Luse <paul.e.luse@intel.com> Reviewed-by: Ziye Yang <ziye.yang@intel.com> Reviewed-by: Changpeng Liu <changpeng.liu@intel.com> Reviewed-by: Tomasz Zawadzki <tomasz.zawadzki@intel.com> Reviewed-by: Ben Walker <benjamin.walker@intel.com> Community-CI: Mellanox Build Bot Community-CI: Broadcom CI <spdk-ci.pdl@broadcom.com> Tested-by: SPDK CI Jenkins <sys_sgci@intel.com>
show more ...
|
#
bc33302a |
| 02-Aug-2021 |
Ziye Yang <ziye.yang@intel.com> |
bdev/aio: Remove the unused link entry in bdev_aio_task
Signed-off-by: Ziye Yang <ziye.yang@intel.com> Change-Id: I13e745b23c7fe0a5376234ead8c068c72de64a53 Reviewed-on: https://review.spdk.io/gerrit
bdev/aio: Remove the unused link entry in bdev_aio_task
Signed-off-by: Ziye Yang <ziye.yang@intel.com> Change-Id: I13e745b23c7fe0a5376234ead8c068c72de64a53 Reviewed-on: https://review.spdk.io/gerrit/c/spdk/spdk/+/9011 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: Changpeng Liu <changpeng.liu@intel.com> Reviewed-by: Aleksey Marchuk <alexeymar@mellanox.com>
show more ...
|
Revision tags: v21.07, v21.07-rc1, v21.04 |
|
#
f99d46d5 |
| 28-Apr-2021 |
Ziye Yang <ziye.yang@intel.com> |
bdev/aio: move disk free operation in spdk_io_device_unregister's call back
Recently, checked the spdk_io_device_unregister function, it will have deferred free behaviour, and the io_device will pos
bdev/aio: move disk free operation in spdk_io_device_unregister's call back
Recently, checked the spdk_io_device_unregister function, it will have deferred free behaviour, and the io_device will possibly be freed in put_io_channel function.
And this means that it is not safe to directly call: spdk_io_device_unregister (io_device, NULL); Then free io_device relately resource.
Because there will be channel to use the resources associated with io_device. Then we will possibly cause a NULL pointer access.
I found this issue in bdev rbd module, and I think that the same issue could happen in other modules. So it is better to put the resource free function as the call back function.
Change-Id: Icc1f86d72b672faefb3b7f416030b818a8cf45ce Signed-off-by: Ziye Yang <ziye.yang@intel.com> Reviewed-on: https://review.spdk.io/gerrit/c/spdk/spdk/+/7646 Reviewed-by: Shuhei Matsumoto <shuhei.matsumoto.xt@hitachi.com> Reviewed-by: Jim Harris <james.r.harris@intel.com> Community-CI: Broadcom CI Tested-by: SPDK CI Jenkins <sys_sgci@intel.com>
show more ...
|
Revision tags: v21.04-rc1, v21.01.1, v21.01, v21.01-rc1 |
|
#
2d36f6f1 |
| 02-Jan-2021 |
Liu Xiaodong <xiaodong.liu@intel.com> |
bdev_aio: add set interrupt mode to poller
Change-Id: I089241bbb42c047e8ae4f206f2dad72c4a69f1d9 Signed-off-by: Liu Xiaodong <xiaodong.liu@intel.com> Reviewed-on: https://review.spdk.io/gerrit/c/spdk
bdev_aio: add set interrupt mode to poller
Change-Id: I089241bbb42c047e8ae4f206f2dad72c4a69f1d9 Signed-off-by: Liu Xiaodong <xiaodong.liu@intel.com> Reviewed-on: https://review.spdk.io/gerrit/c/spdk/spdk/+/5789 Tested-by: SPDK CI Jenkins <sys_sgci@intel.com> Community-CI: Mellanox Build Bot Reviewed-by: Changpeng Liu <changpeng.liu@intel.com> Reviewed-by: Ben Walker <benjamin.walker@intel.com>
show more ...
|
#
021ff6ed |
| 24-Dec-2020 |
Liu Xiaodong <xiaodong.liu@intel.com> |
bdev: add function to return aio's errno
This helps user to locate whether bdev_io fails in spdk bdev layer or inside Linux AIO. SPDK_BDEV_IO_STATUS_AIO_ERROR indicates bdev_io fails due to Linux AI
bdev: add function to return aio's errno
This helps user to locate whether bdev_io fails in spdk bdev layer or inside Linux AIO. SPDK_BDEV_IO_STATUS_AIO_ERROR indicates bdev_io fails due to Linux AIO or its lower layer's failure.
New functions spdk_bdev_io_complete_aio_status and spdk_bdev_io_get_aio_status can be used to report out the errno from Linux AIO.
Change-Id: I32640e4a0459cca057278c02ea5a7522f3408a02 Signed-off-by: Liu Xiaodong <xiaodong.liu@intel.com> Reviewed-on: https://review.spdk.io/gerrit/c/spdk/spdk/+/5690 Community-CI: Broadcom CI Community-CI: Mellanox Build Bot Reviewed-by: Shuhei Matsumoto <shuhei.matsumoto.xt@hitachi.com> Reviewed-by: Changpeng Liu <changpeng.liu@intel.com> Reviewed-by: Jim Harris <james.r.harris@intel.com> Tested-by: SPDK CI Jenkins <sys_sgci@intel.com>
show more ...
|
#
7f6afb7b |
| 02-Jan-2021 |
Liu Xiaodong <xiaodong.liu@intel.com> |
bdev_aio: allow value of efd to be 0
Previously, value '0' is used to reflect efd's invalidation. But it is possible that efd is 0 if STDIN is closed. So change related condition checking, and assig
bdev_aio: allow value of efd to be 0
Previously, value '0' is used to reflect efd's invalidation. But it is possible that efd is 0 if STDIN is closed. So change related condition checking, and assign efd to be '-1' in initializing
Change-Id: Iffea09b1f094617ab2edd3fe3b98336ec9084b8a Signed-off-by: Liu Xiaodong <xiaodong.liu@intel.com> Reviewed-on: https://review.spdk.io/gerrit/c/spdk/spdk/+/5781 Tested-by: SPDK CI Jenkins <sys_sgci@intel.com> Community-CI: Mellanox Build Bot Reviewed-by: Changpeng Liu <changpeng.liu@intel.com> Reviewed-by: Jim Harris <james.r.harris@intel.com>
show more ...
|
#
7083e01b |
| 06-Dec-2020 |
Sochin Jiang <jiangxiaoqing.sochin@bytedance.com> |
bdev/aio: access 'spdk_bdev_io' before 'spdk_bdev_io_complete' called
'spdk_bdev_io' could be freed after calling 'spdk_bdev_io_complete', fix this potential issue in aio.
Signed-off-by: Sochin Jia
bdev/aio: access 'spdk_bdev_io' before 'spdk_bdev_io_complete' called
'spdk_bdev_io' could be freed after calling 'spdk_bdev_io_complete', fix this potential issue in aio.
Signed-off-by: Sochin Jiang <jiangxiaoqing.sochin@bytedance.com> Change-Id: I2e67ec44d9ffc0dda4f5753beba06b8a249456ca Reviewed-on: https://review.spdk.io/gerrit/c/spdk/spdk/+/5463 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> Community-CI: Broadcom CI Community-CI: Mellanox Build Bot
show more ...
|