lib/bdev: Added spdk_bdev_is_zoned() to bdev interface

This patch is entry point for extending bdev
interface to support devices with zoned namespace
semantics.

spdk_bdev_is_zoned() will allow user to check if
bdev is zoned bdev.

Change-Id: Id9ea9898d406d1d942bf3081b00ebcb574ac2b5e
Signed-off-by: Wojciech Malikowski <wojciech.malikowski@intel.com>
Reviewed-on: https://review.gerrithub.io/c/spdk/spdk/+/460641
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>
This commit is contained in:
Wojciech Malikowski 2019-07-05 08:10:58 -04:00 committed by Jim Harris
parent 099489b207
commit 9b3ae37f33
3 changed files with 19 additions and 0 deletions

View File

@ -495,6 +495,14 @@ bool spdk_bdev_is_md_interleaved(const struct spdk_bdev *bdev);
*/
bool spdk_bdev_is_md_separate(const struct spdk_bdev *bdev);
/**
* Checks if bdev supports zoned namespace semantics.
*
* \param bdev Block device to query.
* \return true if device supports zoned namespace sementics.
*/
bool spdk_bdev_is_zoned(const struct spdk_bdev *bdev);
/**
* Get block device data block size.
*

View File

@ -334,6 +334,11 @@ struct spdk_bdev {
*/
uint32_t dif_check_flags;
/**
* Specify whether bdev is zoned device.
*/
bool zoned;
/**
* Pointer to the bdev module that registered this bdev.
*/

View File

@ -2520,6 +2520,12 @@ spdk_bdev_is_md_separate(const struct spdk_bdev *bdev)
return (bdev->md_len != 0) && !bdev->md_interleave;
}
bool
spdk_bdev_is_zoned(const struct spdk_bdev *bdev)
{
return bdev->zoned;
}
uint32_t
spdk_bdev_get_data_block_size(const struct spdk_bdev *bdev)
{