History log of /spdk/module/bdev/aio/bdev_aio.c (Results 1 – 25 of 37)
Revision (<<< Hide revision tags) (Show revision tags >>>) Date Author Comments
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 ...


12