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) {