From a9e6fadf3eedfe70749114280fe93886ceb187ef Mon Sep 17 00:00:00 2001 From: Wojciech Malikowski Date: Mon, 23 Sep 2019 11:38:59 -0400 Subject: [PATCH] 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 Reviewed-on: https://review.gerrithub.io/c/spdk/spdk/+/469164 Tested-by: SPDK CI Jenkins Reviewed-by: Jim Harris Reviewed-by: Ben Walker Reviewed-by: Shuhei Matsumoto Reviewed-by: Konrad Sztyber --- include/spdk/bdev_zone.h | 7 +++++++ lib/bdev/bdev_zone.c | 6 ++++++ 2 files changed, 13 insertions(+) diff --git a/include/spdk/bdev_zone.h b/include/spdk/bdev_zone.h index d80639530..dde3daaf2 100644 --- a/include/spdk/bdev_zone.h +++ b/include/spdk/bdev_zone.h @@ -142,4 +142,11 @@ int spdk_bdev_zone_management(struct spdk_bdev_desc *desc, struct spdk_io_channe uint64_t zone_id, enum spdk_bdev_zone_action action, spdk_bdev_io_completion_cb cb, void *cb_arg); +/** + * Get append location (offset in blocks of the bdev) for this I/O. + * + * \param bdev_io I/O to get append location from. + */ +uint64_t spdk_bdev_io_get_append_location(struct spdk_bdev_io *bdev_io); + #endif /* SPDK_BDEV_ZONE_H */ diff --git a/lib/bdev/bdev_zone.c b/lib/bdev/bdev_zone.c index 932bd18e7..0505c33af 100644 --- a/lib/bdev/bdev_zone.c +++ b/lib/bdev/bdev_zone.c @@ -107,3 +107,9 @@ spdk_bdev_zone_management(struct spdk_bdev_desc *desc, struct spdk_io_channel *c spdk_bdev_io_submit(bdev_io); return 0; } + +uint64_t +spdk_bdev_io_get_append_location(struct spdk_bdev_io *bdev_io) +{ + return bdev_io->u.bdev.offset_blocks; +}