Revision tags: 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, 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 ...
|
Revision tags: v22.09, v23.01-pre, v22.09-rc1 |
|
#
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 ...
|
Revision tags: v22.05, v22.09-pre, v22.05-rc1, v22.01.1, v22.01, v22.01-rc1 |
|
#
b7ad5b0b |
| 11-Nov-2021 |
Niklas Cassel <niklas.cassel@wdc.com> |
bdev/zone: add support for get zone id
In the bdev-zone API, there are a few functions that takes a zone_id: spdk_bdev_get_zone_info(), spdk_bdev_zone_management(), and the spdk_bdev_zone_append() f
bdev/zone: add support for get zone id
In the bdev-zone API, there are a few functions that takes a zone_id: spdk_bdev_get_zone_info(), spdk_bdev_zone_management(), and the spdk_bdev_zone_append() functions.
The way a zoned application is usually written is that it starts off by getting the zone report for all zones (zone_id will be sent in as 0), and then the application will keep the whole zone report in memory.
Therefore, an application usually have access to the zone_id/zslba for all zones. However, there are cases, e.g. when getting an error on write, where the completion callback will only have the lba of the write that failed.
Add a helper function that can be used to get the zone_id/slba for a given lba. Having this helper in bdev-zone will avoid SPDK applications needing to provide their own implementation for this.
Signed-off-by: Niklas Cassel <niklas.cassel@wdc.com> Change-Id: I978335f87f7d49bc33aed81afcaa6d9f0af8a1e4 Reviewed-on: https://review.spdk.io/gerrit/c/spdk/spdk/+/10180 Community-CI: Broadcom CI <spdk-ci.pdl@broadcom.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 ...
|
Revision tags: v21.10, v21.10-rc1, v21.07, v21.07-rc1, v21.04, v21.04-rc1 |
|
#
0859db6b |
| 16-Apr-2021 |
Niklas Cassel <niklas.cassel@wdc.com> |
bdev/zone: add support for get num zones
There are three modules implementing the bdev-zone API: bdev_nvme, bdev_ocssd, and vbdev_zone_block.
For all three modules, the number of zones can be calcu
bdev/zone: add support for get num zones
There are three modules implementing the bdev-zone API: bdev_nvme, bdev_ocssd, and vbdev_zone_block.
For all three modules, the number of zones can be calculated using: block_count / zone_size.
To avoid this calculation being performed everywhere, create a helper function in bdev_zone.h, together with the other zone APIs, such that a user can easily get the number of zones.
Signed-off-by: Niklas Cassel <niklas.cassel@wdc.com> Change-Id: I2967b15a604ab8bf4420588e7510b9820762f925 Reviewed-on: https://review.spdk.io/gerrit/c/spdk/spdk/+/7451 Reviewed-by: Konrad Sztyber <konrad.sztyber@intel.com> Reviewed-by: Jim Harris <james.r.harris@intel.com> Reviewed-by: Ben Walker <benjamin.walker@intel.com> Community-CI: Broadcom CI Community-CI: Mellanox Build Bot Tested-by: SPDK CI Jenkins <sys_sgci@intel.com>
show more ...
|
#
9f5852d0 |
| 16-Mar-2021 |
Niklas Cassel <niklas.cassel@wdc.com> |
bdev/zone: add support for max zone append size
Add support in bdev_zone.h for getting the maximum zone append data transfer size.
Signed-off-by: Niklas Cassel <niklas.cassel@wdc.com> Change-Id: I6
bdev/zone: add support for max zone append size
Add support in bdev_zone.h for getting the maximum zone append data transfer size.
Signed-off-by: Niklas Cassel <niklas.cassel@wdc.com> Change-Id: I61203e64d51601232c6578a090fa52975364c1f3 Reviewed-on: https://review.spdk.io/gerrit/c/spdk/spdk/+/6910 Community-CI: Broadcom CI Community-CI: Mellanox Build Bot 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 ...
|
#
ee4868de |
| 15-Mar-2021 |
Niklas Cassel <niklas.cassel@wdc.com> |
bdev/zone: add support for max active zones
The NVMe Zoned Namespace Command Set Specification has, in addition to a Max Open Resources limit, a Max Active Resources limit.
An active resource is de
bdev/zone: add support for max active zones
The NVMe Zoned Namespace Command Set Specification has, in addition to a Max Open Resources limit, a Max Active Resources limit.
An active resource is defined as zone being in zone state implicit open, explicit open, or closed.
Create a function spdk_bdev_get_max_active_zones() in the generic SPDK zone layer, so that this limit can be exposed to the user.
Signed-off-by: Niklas Cassel <niklas.cassel@wdc.com> Change-Id: I6f61fc45e1dc38689dc54d5649c35fa9b91dbdfc Reviewed-on: https://review.spdk.io/gerrit/c/spdk/spdk/+/6908 Community-CI: Broadcom CI Community-CI: Mellanox Build Bot Tested-by: SPDK CI Jenkins <sys_sgci@intel.com> Reviewed-by: Jim Harris <james.r.harris@intel.com> Reviewed-by: Changpeng Liu <changpeng.liu@intel.com>
show more ...
|
Revision tags: v21.01.1, v21.01, v21.01-rc1, v20.10, v20.10-rc1, v20.07, v20.07-rc1, v20.04.1, v20.01.2 |
|
#
d145b977 |
| 14-May-2020 |
Seth Howell <seth.howell@intel.com> |
lib/bdev: remove _spdk prefix from functions.
We want to avoid confusion between _spdk and spdk prefixes.
Signed-off-by: Seth Howell <seth.howell@intel.com> Change-Id: I72b7948d94b0e9d695ae6b323fbd
lib/bdev: remove _spdk prefix from functions.
We want to avoid confusion between _spdk and spdk prefixes.
Signed-off-by: Seth Howell <seth.howell@intel.com> Change-Id: I72b7948d94b0e9d695ae6b323fbd8bb6e4c143e2 Reviewed-on: https://review.spdk.io/gerrit/c/spdk/spdk/+/2436 Community-CI: Mellanox Build Bot Community-CI: Broadcom CI Tested-by: SPDK CI Jenkins <sys_sgci@intel.com> Reviewed-by: Shuhei Matsumoto <shuhei.matsumoto.xt@hitachi.com> Reviewed-by: Ben Walker <benjamin.walker@intel.com> Reviewed-by: Aleksey Marchuk <alexeymar@mellanox.com>
show more ...
|
Revision tags: v20.04, v20.04-rc1, v20.01.1, v20.01, v20.01-rc1 |
|
#
26f39f1e |
| 14-Jan-2020 |
Konrad Sztyber <konrad.sztyber@intel.com> |
bdev/zone: scattered zone append
Added scatter/gather version of the zone append command.
Change-Id: I6f999be335fe3e896456ca7e17d0f02743f06ca1 Signed-off-by: Konrad Sztyber <konrad.sztyber@intel.co
bdev/zone: scattered zone append
Added scatter/gather version of the zone append command.
Change-Id: I6f999be335fe3e896456ca7e17d0f02743f06ca1 Signed-off-by: Konrad Sztyber <konrad.sztyber@intel.com> Reviewed-on: https://review.spdk.io/gerrit/c/spdk/spdk/+/895 Tested-by: SPDK CI Jenkins <sys_sgci@intel.com> Reviewed-by: Shuhei Matsumoto <shuhei.matsumoto.xt@hitachi.com> Reviewed-by: Wojciech Malikowski <wojciech.malikowski@intel.com> Reviewed-by: Aleksey Marchuk <alexeymar@mellanox.com> Reviewed-by: Jim Harris <james.r.harris@intel.com>
show more ...
|
Revision tags: v19.10.1 |
|
#
fdfb4e12 |
| 18-Nov-2019 |
Jim Harris <james.r.harris@intel.com> |
bdev: rename spdk_bdev_get_io to bdev_channel_get_io
This function is not part of the SPDK public API, so remove the spdk_ prefix from it to make it more clear this is internal to the SPDK bdev libr
bdev: rename spdk_bdev_get_io to bdev_channel_get_io
This function is not part of the SPDK public API, so remove the spdk_ prefix from it to make it more clear this is internal to the SPDK bdev library.
Also add "channel" to the name since this function is operating on the channel parameter.
Signed-off-by: Jim Harris <james.r.harris@intel.com> Change-Id: I57897ab4bf601b90551259b7cf6efa63152ed02f
Reviewed-on: https://review.gerrithub.io/c/spdk/spdk/+/475031 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: Alexey Marchuk <alexeymar@mellanox.com> Community-CI: Broadcom SPDK FC-NVMe CI <spdk-ci.pdl@broadcom.com>
show more ...
|
#
a1d68e9c |
| 18-Nov-2019 |
Jim Harris <james.r.harris@intel.com> |
bdev: remove spdk_ prefix from spdk_bdev_io_init
This is not part of the public SPDK API, so remove the spdk_ prefix to make it clear this is internal to the bdev library.
Signed-off-by: Jim Harris
bdev: remove spdk_ prefix from spdk_bdev_io_init
This is not part of the public SPDK API, so remove the spdk_ prefix to make it clear this is internal to the bdev library.
Signed-off-by: Jim Harris <james.r.harris@intel.com> Change-Id: Ibda76e4d8e34dde0c2fe638cb965e5ba2d9e47b5
Reviewed-on: https://review.gerrithub.io/c/spdk/spdk/+/475030 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: Alexey Marchuk <alexeymar@mellanox.com> Community-CI: Broadcom SPDK FC-NVMe CI <spdk-ci.pdl@broadcom.com>
show more ...
|
#
6c07e9d1 |
| 18-Nov-2019 |
Jim Harris <james.r.harris@intel.com> |
bdev: remove spdk_ prefix from spdk_bdev_io_submit
This function is not part of the SPDK public API, so remove the spdk_ prefix to make that more clear when reading the code.
Signed-off-by: Jim Har
bdev: remove spdk_ prefix from spdk_bdev_io_submit
This function is not part of the SPDK public API, so remove the spdk_ prefix to make that more clear when reading the code.
Signed-off-by: Jim Harris <james.r.harris@intel.com> Change-Id: I5ea4c04c474a6cf0862f11921daa97c9df728e96
Reviewed-on: https://review.gerrithub.io/c/spdk/spdk/+/475029 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: Alexey Marchuk <alexeymar@mellanox.com>
show more ...
|
Revision tags: v19.10, v19.10-rc1, v19.07.1, v19.07 |
|
#
45b5808e |
| 12-Jul-2019 |
Wojciech Malikowski <wojciech.malikowski@intel.com> |
lib/bdev: Added spdk_bdev_zone_append()
spdk_bdev_zone_append() allows writing to open zone from multiple threads or from single thread with queue depth greater than one. Zone first logical address
lib/bdev: Added spdk_bdev_zone_append()
spdk_bdev_zone_append() allows writing to open zone from multiple threads or from single thread with queue depth greater than one. Zone first logical address and number of blocks to be written are provided by user. Logical block address of written data is returned in completion callback.
Change-Id: I4da994d72b7e0fe6621962e3b0f2380940ec3b45 Signed-off-by: Wojciech Malikowski <wojciech.malikowski@intel.com> Reviewed-on: https://review.gerrithub.io/c/spdk/spdk/+/461614 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 ...
|
#
a9e6fadf |
| 23-Sep-2019 |
Wojciech Malikowski <wojciech.malikowski@intel.com> |
lib/bdev: Added spdk_bdev_io_get_append_location()
spdk_bdev_io_get_append_location() will be used during zone append command to retrieve location of data write.
Change-Id: I1f46ae9d2f745aa53264c1a
lib/bdev: Added spdk_bdev_io_get_append_location()
spdk_bdev_io_get_append_location() will be used during zone append command to retrieve location of data write.
Change-Id: I1f46ae9d2f745aa53264c1a01da3f7cef4f38c72 Signed-off-by: Wojciech Malikowski <wojciech.malikowski@intel.com> Reviewed-on: https://review.gerrithub.io/c/spdk/spdk/+/469164 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> Reviewed-by: Shuhei Matsumoto <shuhei.matsumoto.xt@hitachi.com> Reviewed-by: Konrad Sztyber <konrad.sztyber@intel.com>
show more ...
|
#
2b16dcc7 |
| 05-Jul-2019 |
Wojciech Malikowski <wojciech.malikowski@intel.com> |
lib/bdev: Added spdk_bdev_zone_management()
spdk_bdev_zone_management() allows to perform management action on a zone. Zone is specified by start logical block address. Available zone actions: open,
lib/bdev: Added spdk_bdev_zone_management()
spdk_bdev_zone_management() allows to perform management action on a zone. Zone is specified by start logical block address. Available zone actions: open, close, reset and finish.
Change-Id: Ie7eaed3e2cc7b9b49dd51ee2d6c28b4ef2f23eb9 Signed-off-by: Wojciech Malikowski <wojciech.malikowski@intel.com> Reviewed-on: https://review.gerrithub.io/c/spdk/spdk/+/460647 Community-CI: Broadcom SPDK FC-NVMe CI <spdk-ci.pdl@broadcom.com> Reviewed-by: Ben Walker <benjamin.walker@intel.com> Reviewed-by: Jim Harris <james.r.harris@intel.com> Tested-by: SPDK CI Jenkins <sys_sgci@intel.com>
show more ...
|
#
02cabd9e |
| 04-Jul-2019 |
Wojciech Malikowski <wojciech.malikowski@intel.com> |
lib/bdev: Added spdk_bdev_get_zone_info() command
spdk_bdev_get_zone_info() is used for retriving information about zones inside zoned namespace.
Change-Id: I8f931505245e984c0b1ee35ed6592c978ee4754
lib/bdev: Added spdk_bdev_get_zone_info() command
spdk_bdev_get_zone_info() is used for retriving information about zones inside zoned namespace.
Change-Id: I8f931505245e984c0b1ee35ed6592c978ee47544 Signed-off-by: Wojciech Malikowski <wojciech.malikowski@intel.com> Reviewed-on: https://review.gerrithub.io/c/spdk/spdk/+/460643 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 ...
|
#
aa35048d |
| 05-Jul-2019 |
Wojciech Malikowski <wojciech.malikowski@intel.com> |
lib/bdev: Zoned bdev public header
Added new public header for zoned bdev. Zoned bdev is an extension of the bdev interface. Generic concept comes from ATA/SCSI and is also being worked as an NVMe T
lib/bdev: Zoned bdev public header
Added new public header for zoned bdev. Zoned bdev is an extension of the bdev interface. Generic concept comes from ATA/SCSI and is also being worked as an NVMe TP.
Zoned device logical blocks space is divided into fixed-sized zones. Each zone is described by its start logical block address and capacity. Writes to a single zone need to be sequential. After zone is fully written it need to be reset to write to it again. Such writing schema could be very beneficial in terms of write amplification factor for NAND based devices. SPDK Flash Translation Layer library will be consuming this interface in the future.
Extending SPDK bdev interface will allow to use existing bdev infrastructure for this new type of devices.
Zoned device have several properties defined in spdk_bdev structure: - zone_size: default size of each zone - max_open_zone: maximum number of open zones - optimal_open_zones: optimal number of open zones to get best performance on writes
Single zone properties are defined in spdk_bdev_zone_info structure: - start_lba: first logical block of z zone - write_pointer: logical block address in the zone at which next write shall occur. - capacity: maximum number of logical blocks that may be written in the zone when zone is empty. - state: zone state
Several zone states are defined: Empty, Open, Full, Closed, Read Only and Offline.
To change zone state zone actions are defined: Close, Finish, Open and Reset.
Change-Id: I5fcc22d548c15743329344cae96f5ff73e268504 Signed-off-by: Wojciech Malikowski <wojciech.malikowski@intel.com> Reviewed-on: https://review.gerrithub.io/c/spdk/spdk/+/460642 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> Reviewed-by: Maciej Szwed <maciej.szwed@intel.com>
show more ...
|