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; +}