ioengine: add move_zone_wp() callback
authorShin'ichiro Kawasaki <shinichiro.kawasaki@wdc.com>
Fri, 25 Apr 2025 05:21:42 +0000 (14:21 +0900)
committerJens Axboe <axboe@kernel.dk>
Wed, 7 May 2025 11:28:47 +0000 (05:28 -0600)
As a preparation for continue_on_error option support for zonemode=zbd,
introduce a new callback move_zone_wp() for the IO engines. It moves the
write pointer by writing data in the specified buffer. Also bump up
FIO_IOOPS_VERSION to note that the new callback is added.

Signed-off-by: Shin'ichiro Kawasaki <shinichiro.kawasaki@wdc.com>
Reviewed-by: Damien Le Moal <dlemoal@kernel.org>
Link: https://lore.kernel.org/r/20250425052148.126788-3-shinichiro.kawasaki@wdc.com
Signed-off-by: Jens Axboe <axboe@kernel.dk>
ioengines.h

index 1531cd897739ae61805746b96555b76ff74fc8f7..bd5d189c12ab6c60b97316ee66cc872cc6a17f19 100644 (file)
@@ -9,7 +9,7 @@
 #include "zbd_types.h"
 #include "dataplacement.h"
 
-#define FIO_IOOPS_VERSION      36
+#define FIO_IOOPS_VERSION      37
 
 #ifndef CONFIG_DYNAMIC_ENGINES
 #define FIO_STATIC     static
@@ -60,6 +60,8 @@ struct ioengine_ops {
                            uint64_t, struct zbd_zone *, unsigned int);
        int (*reset_wp)(struct thread_data *, struct fio_file *,
                        uint64_t, uint64_t);
+       int (*move_zone_wp)(struct thread_data *, struct fio_file *,
+                           struct zbd_zone *, uint64_t, const char *);
        int (*get_max_open_zones)(struct thread_data *, struct fio_file *,
                                  unsigned int *);
        int (*get_max_active_zones)(struct thread_data *, struct fio_file *,