From c13733915b7022a8f479344dc0fb42a777fd8729 Mon Sep 17 00:00:00 2001 From: Maciej Szwed Date: Fri, 13 Dec 2019 11:21:04 +0100 Subject: [PATCH] bdev: Add spdk_bdev_get_acwu function This function is required for NVMf implementation for compare and write fused command. Signed-off-by: Maciej Szwed Change-Id: If41611f5c0b8e4ed8eec66f09858c724f1800d59 Reviewed-on: https://review.gerrithub.io/c/spdk/spdk/+/477914 Community-CI: Broadcom SPDK FC-NVMe CI Tested-by: SPDK CI Jenkins Reviewed-by: Paul Luse Reviewed-by: Shuhei Matsumoto Reviewed-by: Jim Harris --- CHANGELOG.md | 2 ++ include/spdk/bdev.h | 8 ++++++++ lib/bdev/bdev.c | 6 ++++++ 3 files changed, 16 insertions(+) diff --git a/CHANGELOG.md b/CHANGELOG.md index 920930334..46f7144d5 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -135,6 +135,8 @@ The functions `spdk_reactor_enable_framework_monitor_context_switch()` and Added spdk_bdev_io_get_nvme_fused_status function for translating bdev_io status to NVMe status code for fused compare-and-write operation. +Added spdk_bdev_get_acwu function for getting block device atomic compare and write unit size. + ## v19.10: ### rpc diff --git a/include/spdk/bdev.h b/include/spdk/bdev.h index 1729b9ded..f4d0d42b6 100644 --- a/include/spdk/bdev.h +++ b/include/spdk/bdev.h @@ -505,6 +505,14 @@ bool spdk_bdev_has_write_cache(const struct spdk_bdev *bdev); */ const struct spdk_uuid *spdk_bdev_get_uuid(const struct spdk_bdev *bdev); +/** + * Get block device atomic compare and write unit. + * + * \param bdev Block device to query. + * \return Atomic compare and write unit for this bdev in blocks. + */ +uint16_t spdk_bdev_get_acwu(const struct spdk_bdev *bdev); + /** * Get block device metadata size. * diff --git a/lib/bdev/bdev.c b/lib/bdev/bdev.c index 99bb4e15d..04f686e24 100644 --- a/lib/bdev/bdev.c +++ b/lib/bdev/bdev.c @@ -2855,6 +2855,12 @@ spdk_bdev_get_uuid(const struct spdk_bdev *bdev) return &bdev->uuid; } +uint16_t +spdk_bdev_get_acwu(const struct spdk_bdev *bdev) +{ + return bdev->acwu; +} + uint32_t spdk_bdev_get_md_size(const struct spdk_bdev *bdev) {