0eae0106 | 06-Sep-2024 |
Jim Harris <jim.harris@samsung.com> |
trace: do not define fn in SPDK_TRACE_REGISTER_FN
Newer lcov try to detect issues with function definitions, and throw warnings if function definitions have overlapping lines. Since SPDK_TRACE_REGIS
trace: do not define fn in SPDK_TRACE_REGISTER_FN
Newer lcov try to detect issues with function definitions, and throw warnings if function definitions have overlapping lines. Since SPDK_TRACE_REGISTER_FN defines both the constructor function and the trace function, it treats this as an overlap.
Note this is the only one of our REGISTER functions in SPDK that effectively defines two functions in the same macro.
So change the macro so that the user actually defines the trace function instead.
Signed-off-by: Jim Harris <jim.harris@samsung.com> Change-Id: Ib9d0d1af7674c5ff9b65c12c1e4a5b05e6e110f5 Reviewed-on: https://review.spdk.io/gerrit/c/spdk/spdk/+/24836 Reviewed-by: Michal Berger <michal.berger@intel.com> Reviewed-by: Aleksey Marchuk <alexeymar@nvidia.com> Tested-by: SPDK CI Jenkins <sys_sgci@intel.com> Reviewed-by: Konrad Sztyber <konrad.sztyber@intel.com> Community-CI: Mellanox Build Bot
show more ...
|
cde2142c | 30-May-2024 |
Oded Mashbach <oded.mashbach@silk.us> |
scsi pr: only registrants are consider holders when reservation in mode 7/8
When reservation is in 'all registrant' mode (7/8), we should consider all registrants as reservation holders. but host wh
scsi pr: only registrants are consider holders when reservation in mode 7/8
When reservation is in 'all registrant' mode (7/8), we should consider all registrants as reservation holders. but host who is not a registered cannot be treated as a reservation holder, other wise it might get read/write access when it should not.
Change-Id: Ifa4bd677a49d62e8459d6da22535b5652b18fb50 Signed-off-by: Oded Mashbach <oded.mashbach@silk.us> Reviewed-on: https://review.spdk.io/gerrit/c/spdk/spdk/+/23615 Reviewed-by: Jim Harris <jim.harris@samsung.com> Tested-by: SPDK CI Jenkins <sys_sgci@intel.com> Community-CI: Mellanox Build Bot Reviewed-by: Changpeng Liu <changpeng.liu@intel.com>
show more ...
|
be633ff1 | 29-May-2024 |
Oded Mashbach <Oded.Mashbach@kaminario.com> |
scsi pr: passig all registrant reservation to next registrant inline
When a registrant releases an "all registrant" reservation (mode 7/8), we should pass the reservation holder to the first registr
scsi pr: passig all registrant reservation to next registrant inline
When a registrant releases an "all registrant" reservation (mode 7/8), we should pass the reservation holder to the first registrant in the lun's registrant list that is not the same registrant that is releasing the reservation. other wise we might face the following bugs: 1. when A is the first registrant and B is the second: Once A will release his mode 7/8 reservation - it will stay under A and not move to B. 2. when A is the only registrant that exist, Once A will try to release the reservation of mode 7/8 - it will not work.
Change-Id: Ib4f1e82283725638c5d2ea57b6ec7c19fff543aa Signed-off-by: Oded Mashbach <oded.mashbach@silk.us> Reviewed-on: https://review.spdk.io/gerrit/c/spdk/spdk/+/23614 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 <jim.harris@samsung.com>
show more ...
|
26d44a12 | 29-Mar-2024 |
Jim Harris <jim.harris@samsung.com> |
trace: rename owner to owner_type
We will be adding the real concept of an "owner" in upcoming patches. So change the existing "owner" to "owner_type" which more accurate reflects its meaning. For e
trace: rename owner to owner_type
We will be adding the real concept of an "owner" in upcoming patches. So change the existing "owner" to "owner_type" which more accurate reflects its meaning. For example, an "owner_type" can be OWNER_BDEV, but an actual "owner" would be some specific bdev identified by its name.
Signed-off-by: Jim Harris <jim.harris@samsung.com> Change-Id: Ieb25eb5a574a88b3812291f2345796e5bb66a54f Reviewed-on: https://review.spdk.io/gerrit/c/spdk/spdk/+/22645 Reviewed-by: Konrad Sztyber <konrad.sztyber@intel.com> Community-CI: Mellanox Build Bot Reviewed-by: Shuhei Matsumoto <smatsumoto@nvidia.com> Tested-by: SPDK CI Jenkins <sys_sgci@intel.com>
show more ...
|
6eeabe69 | 07-Mar-2024 |
Marcin Spiewak <marcin.spiewak@intel.com> |
lib/scsi: fixed potential expression overflow.
Fixed potential issue found by Coverity. The function _bytes_to_blocks() takes num_bytes parameter, which is 64-bit long (uint64_t). In bdev_scsi_write
lib/scsi: fixed potential expression overflow.
Fixed potential issue found by Coverity. The function _bytes_to_blocks() takes num_bytes parameter, which is 64-bit long (uint64_t). In bdev_scsi_write_same() function, the parameter was calculated as task->length * xfer_len Both of the values are 32-bit long, so the expression is evaluated using 32-bit arithmetic potentially overflowing the result (truncating to 32-bit). To avoid this, we need to cast at least one parameter to 64-bit value.
Change-Id: Idd8a52d088a0c971158515a0a542a44595633321 Signed-off-by: Marcin Spiewak <marcin.spiewak@intel.com> Reviewed-on: https://review.spdk.io/gerrit/c/spdk/spdk/+/22219 Tested-by: SPDK CI Jenkins <sys_sgci@intel.com> Reviewed-by: Jim Harris <jim.harris@samsung.com> Community-CI: Mellanox Build Bot Reviewed-by: Konrad Sztyber <konrad.sztyber@intel.com>
show more ...
|
4b527a3c | 07-Feb-2024 |
Jim Harris <jim.harris@samsung.com> |
scsi: simplify split path
Currently the splitting code for unmap and write_same is a bit complicated, since it needs to handle case where we get a 0-length unmap descriptor and spdk_bdev_unmap_block
scsi: simplify split path
Currently the splitting code for unmap and write_same is a bit complicated, since it needs to handle case where we get a 0-length unmap descriptor and spdk_bdev_unmap_blocks() didn't handle 0-length calls.
But spdk_bdev_unmap_blocks() has been updated now to handle 0-length calls, so we can eliminate this extra complexity.
This also alleviates a small regression identified when this splitting code path was updated.
Fixes issue #3249. Fixes b735c429 ("scsi: Improve child IO split mechanism").
Signed-off-by: Jim Harris <jim.harris@samsung.com> Change-Id: I93cdac1c449a17fcc22e9909beb0feafe2b08b54 Reviewed-on: https://review.spdk.io/gerrit/c/spdk/spdk/+/21773 Tested-by: SPDK CI Jenkins <sys_sgci@intel.com> Reviewed-by: Shuhei Matsumoto <smatsumoto@nvidia.com> Community-CI: Mellanox Build Bot Reviewed-by: Ben Walker <ben@nvidia.com>
show more ...
|
05faf8e7 | 19-Feb-2024 |
zhenwei pi <pizhenwei@bytedance.com> |
scsi: Re-order struct spdk_scsi_lun
Move *removed* and *resizing* to the front of struct spdk_scsi_lun, there are 2 benefits: - reduce memory - the two fields work in hot path, they are tested on ea
scsi: Re-order struct spdk_scsi_lun
Move *removed* and *resizing* to the front of struct spdk_scsi_lun, there are 2 benefits: - reduce memory - the two fields work in hot path, they are tested on each task execution
Also move *ref* to the neighbor of *pr_generation*. Finally, we reduce 16 bytes(1080 -> 1064).
Change-Id: Ia3705a0e765fc5183fce836eb8f6684a79cd1353 Signed-off-by: zhenwei pi <pizhenwei@bytedance.com> Reviewed-on: https://review.spdk.io/gerrit/c/spdk/spdk/+/21923 Tested-by: SPDK CI Jenkins <sys_sgci@intel.com> Reviewed-by: Jim Harris <jim.harris@samsung.com> Reviewed-by: Shuhei Matsumoto <smatsumoto@nvidia.com> Community-CI: Mellanox Build Bot
show more ...
|
a91b02b2 | 19-Feb-2024 |
zhenwei pi <pizhenwei@bytedance.com> |
scsi: Move registrant fields to the end of struct spdk_scsi_lun
Registrant related fields use the biggest part of struct spdk_scsi_lun, and it's usually *not* hot code path. Move them to the end of
scsi: Move registrant fields to the end of struct spdk_scsi_lun
Registrant related fields use the biggest part of struct spdk_scsi_lun, and it's usually *not* hot code path. Move them to the end of structure.
Also swap 'uint32_t pr_generation', is's possible to reduce memory in the next step.
Suggested-by: Jim Harris <jim.harris@samsung.com> Change-Id: Ie544efe01ca42162c056dc84deec5e5c338a4eb9 Signed-off-by: zhenwei pi <pizhenwei@bytedance.com> Reviewed-on: https://review.spdk.io/gerrit/c/spdk/spdk/+/20709 Tested-by: SPDK CI Jenkins <sys_sgci@intel.com> Reviewed-by: Shuhei Matsumoto <smatsumoto@nvidia.com> Reviewed-by: Jim Harris <jim.harris@samsung.com> Community-CI: Mellanox Build Bot
show more ...
|
b735c429 | 10-Nov-2023 |
zhenwei pi <pizhenwei@bytedance.com> |
scsi: Improve child IO split mechanism
Improve the child IO split mechanism with the points: - simplify error handing for splitting loop. - ctx->fn() does not have to touch any counter. then ctx->
scsi: Improve child IO split mechanism
Improve the child IO split mechanism with the points: - simplify error handing for splitting loop. - ctx->fn() does not have to touch any counter. then ctx->remaining_count is removed from _bdev_scsi_unmap and _bdev_scsi_write_same.
Change-Id: I543fcbb6eede662ec248e68c2d377d3b3a488961 Signed-off-by: zhenwei pi <pizhenwei@bytedance.com> Reviewed-on: https://review.spdk.io/gerrit/c/spdk/spdk/+/20559 Reviewed-by: Jim Harris <jim.harris@samsung.com> Tested-by: SPDK CI Jenkins <sys_sgci@intel.com> Reviewed-by: Shuhei Matsumoto <smatsumoto@nvidia.com> Community-CI: Mellanox Build Bot
show more ...
|
355312bf | 26-Jan-2024 |
Tomasz Zawadzki <tomasz.zawadzki@intel.com> |
so_ver: increase all major versions after SPDK 24.01
To allow SO_MINOR updates on LTS for the whole year it is supported, the major version for all components needs to be increased. This is to preve
so_ver: increase all major versions after SPDK 24.01
To allow SO_MINOR updates on LTS for the whole year it is supported, the major version for all components needs to be increased. This is to prevent scenario where two versions exists with matching versions, but conflicting ABI. Ex. Next SPDK release adds an API call increasing the minor version, then LTS needs just a subset of those additions.
Increasing major so version after LTS, allows the future releases to update versions as needed. Yet allowing LTS to increase minor version separately.
This patch: - increases SO_VER by 1 for all components - resets SO_MINOR to 0 for all components
Due to patch below being introduced after v24.01 code freeze, bdev lib version should not be increased: 61623c5ca9 bdev: add spdk_bdev_io padding in place of io_submit_ch
Short reference to how the versions were changed: MAX=$(git grep "SO_VER := " | cut -d" " -f 3 | sort -ubnr | head -1) for((i=$MAX;i>0;i-=1)); do find . -name "Makefile" -exec \ sed -i -e "s/SO_VER := $i\$/SO_VER := $(($i+1))/g" {} +; done find . -name "Makefile" -exec \ sed -i -e "s/SO_MINOR := .*/SO_MINOR := 0/g" {} +
Signed-off-by: Tomasz Zawadzki <tomasz.zawadzki@intel.com> Change-Id: I0166d6be6c17bbbf985d48b5dfcb36f1d4af1b48 Reviewed-on: https://review.spdk.io/gerrit/c/spdk/spdk/+/21582 Reviewed-by: Konrad Sztyber <konrad.sztyber@intel.com> Tested-by: SPDK CI Jenkins <sys_sgci@intel.com>
show more ...
|
3c1a776b | 06-Dec-2023 |
Marcin Spiewak <marcin.spiewak@intel.com> |
lib/scsi: fixed potential out-of-bonds read
This patch fixes issue detected by Coverity scan. The spdk_scsi_task_names table is accessed using 'task->function' as an index. Earlier check allows the
lib/scsi: fixed potential out-of-bonds read
This patch fixes issue detected by Coverity scan. The spdk_scsi_task_names table is accessed using 'task->function' as an index. Earlier check allows the 'task->function' to be equal to SPDK_COUNTOF(spdk_scsi_task_names), while the table can only be accessed using indexes from 0..(SPDK_COUNTOF()-1) range. The 'if' statement needs to be modified to reject index equal to SPDK_COUNTOF(spdk_scsi_task_names)
Change-Id: I569ea530cee3721a085ddd8c7f90dd7761d644be Signed-off-by: Marcin Spiewak <marcin.spiewak@intel.com> Reviewed-on: https://review.spdk.io/gerrit/c/spdk/spdk/+/20932 Reviewed-by: Konrad Sztyber <konrad.sztyber@intel.com> Tested-by: SPDK CI Jenkins <sys_sgci@intel.com> Reviewed-by: Jim Harris <jim.harris@samsung.com> Community-CI: Mellanox Build Bot
show more ...
|
cfe8449e | 01-Dec-2023 |
Jim Harris <jim.harris@samsung.com> |
scsi: round task->iov.iov_base allocation up to nearest 4 bytes
Some SCSI commands such as INQUIRY may generate an odd number of bytes in its response, not evenly divisible by 4.
But iSCSI must ali
scsi: round task->iov.iov_base allocation up to nearest 4 bytes
Some SCSI commands such as INQUIRY may generate an odd number of bytes in its response, not evenly divisible by 4.
But iSCSI must align all transfer-in PDUs to 4-byte multiple. After enabling DPDK ASAN, we discover that the SCSI task response buffer was allocating exactly the size of the INQUIRY reponse, but iSCSI rounds this up, and ends up doing a sendmsg() off the end of the buffer for those trailing bytes.
We could try to fix this in iSCSI layer, but it makes the code more complex - it would need to allocate some separate buffer for those extra bytes, or allocate a new buffer and copy the bytes over.
So instead fix this down in the SCSI layer when the buffer is allocated, still report the iov_len as the smaller amount, but allocate an actual buffer that is rounded up to the nearest 4.
Fixes issue #3203.
Signed-off-by: Jim Harris <jim.harris@samsung.com> Change-Id: I702fe1b543c95388fa1dfa8c7cafb2538917479f Reviewed-on: https://review.spdk.io/gerrit/c/spdk/spdk/+/20853 Community-CI: Mellanox Build Bot Reviewed-by: Changpeng Liu <changpeng.liu@intel.com> Tested-by: SPDK CI Jenkins <sys_sgci@intel.com> Reviewed-by: Shuhei Matsumoto <smatsumoto@nvidia.com>
show more ...
|
9718398e | 21-Nov-2023 |
zhenwei pi <pizhenwei@bytedance.com> |
scsi: Add notice log on bdev reset
Once we hit the following logs: nvme_ctrlr.c:1639:nvme_ctrlr_disconnect: *NOTICE*: [0000:b2:00.0] resetting controller bdev_nvme.c:2027:_bdev_nvme_reset_ctrlr_comp
scsi: Add notice log on bdev reset
Once we hit the following logs: nvme_ctrlr.c:1639:nvme_ctrlr_disconnect: *NOTICE*: [0000:b2:00.0] resetting controller bdev_nvme.c:2027:_bdev_nvme_reset_ctrlr_complete: *NOTICE*: Resetting controller successful.
We also need a notice log to find out why the bdev resets.
Change-Id: I5cf9e3fe8bfa950ab6e33e2c038d83fa8ba9d52d Signed-off-by: zhenwei pi <pizhenwei@bytedance.com> Reviewed-on: https://review.spdk.io/gerrit/c/spdk/spdk/+/20652 Community-CI: Mellanox Build Bot Reviewed-by: Shuhei Matsumoto <smatsumoto@nvidia.com> Tested-by: SPDK CI Jenkins <sys_sgci@intel.com> Reviewed-by: Jim Harris <jim.harris@samsung.com>
show more ...
|
2c01ded3 | 17-Oct-2023 |
zhenwei pi <pizhenwei@bytedance.com> |
scsi: Add SPDK_SCSI_TASK_FUNC_TARGET_RESET
SCSI/iSCSI triggers bdev_scsi_reset() in two reasons: - mgmt command from initiator side - target side cleanup
For example, once we hit the following logs
scsi: Add SPDK_SCSI_TASK_FUNC_TARGET_RESET
SCSI/iSCSI triggers bdev_scsi_reset() in two reasons: - mgmt command from initiator side - target side cleanup
For example, once we hit the following logs: nvme_ctrlr.c:1639:nvme_ctrlr_disconnect: *NOTICE*: [0000:b2:00.0] resetting controller bdev_nvme.c:2027:_bdev_nvme_reset_ctrlr_complete: *NOTICE*: Resetting controller successful.
We need to know why the bdev/nvme resets, rather than a single SPDK_SCSI_TASK_FUNC_LUN_RESET reason, separate it into two to distinguish the root cause of the lower layer bdev reset.
Change-Id: I087add31c31e46780c6e7c60cc8af14290e84636 Signed-off-by: zhenwei pi <pizhenwei@bytedance.com> Reviewed-on: https://review.spdk.io/gerrit/c/spdk/spdk/+/20361 Community-CI: Mellanox Build Bot Tested-by: SPDK CI Jenkins <sys_sgci@intel.com> Reviewed-by: Jim Harris <jim.harris@samsung.com> Reviewed-by: Shuhei Matsumoto <smatsumoto@nvidia.com>
show more ...
|
3ad3bb5e | 15-Nov-2023 |
Haoqian He <haoqian.he@smartx.com> |
vhost-scsi: fix incorrect parameter in compare_and_write IO
We should not pass task->iov to spdk_bdev_comparev_and_writev_blocks because it is NULL.
Change-Id: Iac12b5b24e040e6414c7ef9bd2d4e3dc5ec3
vhost-scsi: fix incorrect parameter in compare_and_write IO
We should not pass task->iov to spdk_bdev_comparev_and_writev_blocks because it is NULL.
Change-Id: Iac12b5b24e040e6414c7ef9bd2d4e3dc5ec31894 Signed-off-by: Haoqian He <haoqian.he@smartx.com> Reviewed-on: https://review.spdk.io/gerrit/c/spdk/spdk/+/20602 Community-CI: Mellanox Build Bot Reviewed-by: Changpeng Liu <changpeng.liu@intel.com> Tested-by: SPDK CI Jenkins <sys_sgci@intel.com> Reviewed-by: Shuhei Matsumoto <smatsumoto@nvidia.com>
show more ...
|
757d23d0 | 31-Oct-2023 |
zhenwei pi <pizhenwei@bytedance.com> |
scsi: Drop 'name' field in spdk_bdev_scsi_split_ctx
Child IO split mechanism[1] uses 'name' field to dump the necessary message on failure, now we can use spdk_scsi_sbc_opcode_string instead.
[1]SP
scsi: Drop 'name' field in spdk_bdev_scsi_split_ctx
Child IO split mechanism[1] uses 'name' field to dump the necessary message on failure, now we can use spdk_scsi_sbc_opcode_string instead.
[1]SPDK Commit: f6613e370d75 ("scsi: Abstract child IO split mechanism") Change-Id: I6f7cca10f7340d6008022671a990ff8b5d157b62 Suggested-by: Shuhei Matsumoto <smatsumoto@nvidia.com> Signed-off-by: zhenwei pi <pizhenwei@bytedance.com> Reviewed-on: https://review.spdk.io/gerrit/c/spdk/spdk/+/20465 Reviewed-by: Jim Harris <jim.harris@samsung.com> Reviewed-by: Shuhei Matsumoto <smatsumoto@nvidia.com> Tested-by: SPDK CI Jenkins <sys_sgci@intel.com> Community-CI: Mellanox Build Bot
show more ...
|
1a9a4f51 | 31-Oct-2023 |
zhenwei pi <pizhenwei@bytedance.com> |
scsi: Add helper function spdk_scsi_sbc_opcode_string
Translate SCSI operation code and service action into string, human readable string is helpful for debug. Exporting this function as public, it'
scsi: Add helper function spdk_scsi_sbc_opcode_string
Translate SCSI operation code and service action into string, human readable string is helpful for debug. Exporting this function as public, it's possible to be used outside(ex, virtio scsi).
Change-Id: I74231c63bc73fcd6acfee385021e0bcc460cbf7f Suggested-by: Shuhei Matsumoto <smatsumoto@nvidia.com> Signed-off-by: zhenwei pi <pizhenwei@bytedance.com> Reviewed-on: https://review.spdk.io/gerrit/c/spdk/spdk/+/20464 Reviewed-by: Shuhei Matsumoto <smatsumoto@nvidia.com> Community-CI: Mellanox Build Bot Tested-by: SPDK CI Jenkins <sys_sgci@intel.com> Reviewed-by: Jim Harris <jim.harris@samsung.com> Reviewed-by: Changpeng Liu <changpeng.liu@intel.com>
show more ...
|
ea97fbd2 | 07-Nov-2023 |
zhenwei pi <pizhenwei@bytedance.com> |
scsi: Check descriptor count for UNMAP
There is no need to call split IO(bdev_scsi_split) on two case: - invalid descriptor count - zero descriptor count(newly added)
Suggested-by: Shuhei Matsumoto
scsi: Check descriptor count for UNMAP
There is no need to call split IO(bdev_scsi_split) on two case: - invalid descriptor count - zero descriptor count(newly added)
Suggested-by: Shuhei Matsumoto <smatsumoto@nvidia.com> Change-Id: I80a7bae711fedc957319d5d44c55dac8c59f5ef5 Signed-off-by: zhenwei pi <pizhenwei@bytedance.com> Reviewed-on: https://review.spdk.io/gerrit/c/spdk/spdk/+/20513 Community-CI: Mellanox Build Bot Reviewed-by: Shuhei Matsumoto <smatsumoto@nvidia.com> Tested-by: SPDK CI Jenkins <sys_sgci@intel.com> Reviewed-by: Jim Harris <jim.harris@samsung.com>
show more ...
|
986fb7b3 | 11-Sep-2023 |
Haoqian He <haoqian.he@smartx.com> |
vhost-scsi: support SBC-3 compare_and_write IO
Support compare_and_write from SBC-3 for 1 block since spdk_bdev_comparev_and_writev_blocks function supports compare_and_write of only 1 block current
vhost-scsi: support SBC-3 compare_and_write IO
Support compare_and_write from SBC-3 for 1 block since spdk_bdev_comparev_and_writev_blocks function supports compare_and_write of only 1 block currently.
Change-Id: I1069fa6c9070a5f16b8867f62740a2dce8a282da Signed-off-by: Haoqian He <haoqian.he@smartx.com> Reviewed-on: https://review.spdk.io/gerrit/c/spdk/spdk/+/19873 Community-CI: Mellanox Build Bot Tested-by: SPDK CI Jenkins <sys_sgci@intel.com> Reviewed-by: Tomasz Zawadzki <tomasz.zawadzki@intel.com> Reviewed-by: Jim Harris <jim.harris@samsung.com>
show more ...
|
8c613a60 | 24-Oct-2023 |
zhenwei pi <pizhenwei@bytedance.com> |
scsi: Fix MAXIMUM WRITE SAME LENGTH field
Originally, the 'MAXIMUM WRITE SAME LENGTH' feild has dependence on Bdev UNMAP, once the Bdev has no support on UNMAP(Ex, AIO), the initiator side gets 0.
scsi: Fix MAXIMUM WRITE SAME LENGTH field
Originally, the 'MAXIMUM WRITE SAME LENGTH' feild has dependence on Bdev UNMAP, once the Bdev has no support on UNMAP(Ex, AIO), the initiator side gets 0.
According to spec: A MAXIMUM WRITE SAME LENGTH field set to a non-zero value indicates the maximum value that the device server accepts in the NUMBER OF LOGICAL BLOCKS field for a WRITE SAME command. A MAXIMUM WRITE SAME LENGTH field set to zero indicates that the device server does not report a limit on the number of logical blocks that may be requested for a single WRITE SAME command.
Unlimited maximum blocks on a single request is not expected for SPDK, fix 'MAXIMUM WRITE SAME LENGTH' field.
Change-Id: I2005156daa198afe0738236f32bfd61eeb3b8356 Signed-off-by: zhenwei pi <pizhenwei@bytedance.com> Reviewed-on: https://review.spdk.io/gerrit/c/spdk/spdk/+/20401 Tested-by: SPDK CI Jenkins <sys_sgci@intel.com> Reviewed-by: Shuhei Matsumoto <smatsumoto@nvidia.com> Community-CI: Mellanox Build Bot Reviewed-by: Changpeng Liu <changpeng.liu@intel.com> Reviewed-by: Jim Harris <jim.harris@samsung.com>
show more ...
|
6c63bdc5 | 25-Oct-2023 |
zhenwei pi <pizhenwei@bytedance.com> |
scsi: Implement WRITE SAME
Implement SPDK_SBC_WRITE_SAME_10 and SPDK_SBC_WRITE_SAME_16 commands.
Change-Id: Ie1a82cea8e8afd8c8e8e490eadb358c9c825b865 Signed-off-by: zhenwei pi <pizhenwei@bytedance.
scsi: Implement WRITE SAME
Implement SPDK_SBC_WRITE_SAME_10 and SPDK_SBC_WRITE_SAME_16 commands.
Change-Id: Ie1a82cea8e8afd8c8e8e490eadb358c9c825b865 Signed-off-by: zhenwei pi <pizhenwei@bytedance.com> Reviewed-on: https://review.spdk.io/gerrit/c/spdk/spdk/+/20400 Reviewed-by: Changpeng Liu <changpeng.liu@intel.com> Community-CI: Mellanox Build Bot Reviewed-by: Jim Harris <jim.harris@samsung.com> Tested-by: SPDK CI Jenkins <sys_sgci@intel.com> Reviewed-by: Shuhei Matsumoto <smatsumoto@nvidia.com>
show more ...
|
f6613e37 | 25-Oct-2023 |
zhenwei pi <pizhenwei@bytedance.com> |
scsi: Abstract child IO split mechanism
Child IO split mechanism[1] for UNMAP allows a single SCSI command to split into several SPDK Bdev IOs. Separate the common child IO split mechanism from the
scsi: Abstract child IO split mechanism
Child IO split mechanism[1] for UNMAP allows a single SCSI command to split into several SPDK Bdev IOs. Separate the common child IO split mechanism from the UNMAP codes, it's possible to implement SCSI WRITE SAME easily in the next step.
[1] SPDK commit: 73bc324b0df('scsi: Refine split processing for unmap')
Change-Id: I3248f51d2cdc1380e20ddaccc074369bf2b48ec8 Signed-off-by: zhenwei pi <pizhenwei@bytedance.com> Reviewed-on: https://review.spdk.io/gerrit/c/spdk/spdk/+/20399 Reviewed-by: Shuhei Matsumoto <smatsumoto@nvidia.com> Reviewed-by: Changpeng Liu <changpeng.liu@intel.com> Reviewed-by: Jim Harris <jim.harris@samsung.com> Community-CI: Mellanox Build Bot Tested-by: SPDK CI Jenkins <sys_sgci@intel.com>
show more ...
|
73bc324b | 15-Aug-2023 |
Shuhei Matsumoto <smatsumoto@nvidia.com> |
scsi: Refine split processing for unmap
If any child I/O failed, we should set the status of the SCSI task to failed and stop further split processing.
However, ctx->count meant number of outstandi
scsi: Refine split processing for unmap
If any child I/O failed, we should set the status of the SCSI task to failed and stop further split processing.
However, ctx->count meant number of outstanding children I/Os. We could not stop further split processing. We updated the status of the SCSI task only if child I/O submission failed.
Fix these in this patch. Verify the changes by refining unit tests except for error cases.
This idea was derived from the splitting process of the generic bdev layer.
Signed-off-by: Shuhei Matsumoto <smatsumoto@nvidia.com> Change-Id: Ifc74c09c349567b0311fe2a7435a5452d4c68251 Reviewed-on: https://review.spdk.io/gerrit/c/spdk/spdk/+/19437 Reviewed-by: Jim Harris <jim.harris@samsung.com> Reviewed-by: Changpeng Liu <changpeng.liu@intel.com> Tested-by: SPDK CI Jenkins <sys_sgci@intel.com> Community-CI: Mellanox Build Bot
show more ...
|
0bbe3cb0 | 04-Sep-2023 |
Changpeng Liu <changpeng.liu@intel.com> |
scsi: use notice log for unsupported VPD page
Very new Linux kernel sends VPD 0xb9 (concurrent positioning ranges) even SPDK doesn't report this page is supported, we can see this error log in iSCSI
scsi: use notice log for unsupported VPD page
Very new Linux kernel sends VPD 0xb9 (concurrent positioning ranges) even SPDK doesn't report this page is supported, we can see this error log in iSCSI and vhost-scsi target, here use a notice log instead.
Change-Id: I26fd2afaee2152ffbfea6ef4e0f254538360b626 Signed-off-by: Changpeng Liu <changpeng.liu@intel.com> Reviewed-on: https://review.spdk.io/gerrit/c/spdk/spdk/+/19714 Tested-by: SPDK CI Jenkins <sys_sgci@intel.com> Community-CI: Mellanox Build Bot Reviewed-by: Jim Harris <jim.harris@gmail.com> Reviewed-by: Tomasz Zawadzki <tomasz.zawadzki@intel.com>
show more ...
|
3f4d7f96 | 15-Aug-2023 |
Shuhei Matsumoto <smatsumoto@nvidia.com> |
scsi: Factor out internal of bdev_scsi_unmap() into a helper function
Signed-off-by: Shuhei Matsumoto <smatsumoto@nvidia.com> Change-Id: I789d7dbf6585e7aeb49b888557f940148c6378f3 Reviewed-on: https:
scsi: Factor out internal of bdev_scsi_unmap() into a helper function
Signed-off-by: Shuhei Matsumoto <smatsumoto@nvidia.com> Change-Id: I789d7dbf6585e7aeb49b888557f940148c6378f3 Reviewed-on: https://review.spdk.io/gerrit/c/spdk/spdk/+/19436 Reviewed-by: Jim Harris <jim.harris@gmail.com> Reviewed-by: Changpeng Liu <changpeng.liu@intel.com> Tested-by: SPDK CI Jenkins <sys_sgci@intel.com> Community-CI: Mellanox Build Bot Reviewed-by: Tomasz Zawadzki <tomasz.zawadzki@intel.com>
show more ...
|