struct psyncv2_options {
void *pad;
unsigned int hipri;
+ unsigned int stream;
};
static struct fio_option options[] = {
.category = FIO_OPT_C_ENGINE,
.group = FIO_OPT_G_INVALID,
},
+ {
+ .name = "stream",
+ .lname = "Stream ID",
+ .type = FIO_OPT_STR,
+ .off1 = offsetof(struct psyncv2_options, stream),
+ .help = "Set expected write life time",
+ .category = FIO_OPT_C_ENGINE,
+ .group = FIO_OPT_G_INVALID,
+ .posval = {
+ { .ival = "short",
+ .oval = RWF_WRITE_LIFE_SHORT,
+ },
+ { .ival = "medium",
+ .oval = RWF_WRITE_LIFE_MEDIUM,
+ },
+ { .ival = "long",
+ .oval = RWF_WRITE_LIFE_LONG,
+ },
+ { .ival = "extreme",
+ .oval = RWF_WRITE_LIFE_EXTREME,
+ },
+ },
+ },
{
.name = NULL,
},
if (o->hipri)
flags |= RWF_HIPRI;
+ if (o->stream)
+ flags |= o->stream;
iov->iov_base = io_u->xfer_buf;
iov->iov_len = io_u->xfer_buflen;
#define RWF_SYNC 0x00000004
#endif
+#ifndef RWF_WRITE_LIFE_SHIFT
+#define RWF_WRITE_LIFE_SHIFT 4
+#define RWF_WRITE_LIFE_SHORT (1 << RWF_WRITE_LIFE_SHIFT)
+#define RWF_WRITE_LIFE_MEDIUM (2 << RWF_WRITE_LIFE_SHIFT)
+#define RWF_WRITE_LIFE_LONG (3 << RWF_WRITE_LIFE_SHIFT)
+#define RWF_WRITE_LIFE_EXTREME (4 << RWF_WRITE_LIFE_SHIFT)
+#endif
+
#ifndef CONFIG_PWRITEV2
#ifdef __NR_preadv2
static inline void make_pos_h_l(unsigned long *pos_h, unsigned long *pos_l,