From 481b6e3d93e936be25978bf36705d0fda18a9916 Mon Sep 17 00:00:00 2001 From: Ankit Kumar Date: Wed, 17 Jul 2024 11:27:27 +0530 Subject: [PATCH] dataplacement: remove FDP_MAX_RUHS Earlier fio used to have different limits on the max number of data placement ID indices which user can pass, and the max number of ruhs which can be stored. As during initialization we now fetch all the ruhs from the device and then allocate buffer for the requested ones, there is no need for FDP_MAX_RUHS. Add missing error message if incorrect placement ID index is specified. Signed-off-by: Ankit Kumar --- dataplacement.c | 13 ++++++------- dataplacement.h | 1 - 2 files changed, 6 insertions(+), 8 deletions(-) diff --git a/dataplacement.c b/dataplacement.c index ec1427c8..2286a2cd 100644 --- a/dataplacement.c +++ b/dataplacement.c @@ -52,7 +52,7 @@ static int init_ruh_info(struct thread_data *td, struct fio_file *f) log_err("fio: stream IDs must be provided for dataplacement=streams\n"); return -EINVAL; } - ruhs = scalloc(1, sizeof(*ruhs) + FDP_MAX_RUHS * sizeof(*ruhs->plis)); + ruhs = scalloc(1, sizeof(*ruhs) + FIO_MAX_DP_IDS * sizeof(*ruhs->plis)); if (!ruhs) return -ENOMEM; @@ -94,15 +94,14 @@ static int init_ruh_info(struct thread_data *td, struct fio_file *f) } if (td->o.dp_nr_ids == 0) { - if (ruhs->nr_ruhs > FDP_MAX_RUHS) - ruhs->nr_ruhs = FDP_MAX_RUHS; + if (ruhs->nr_ruhs > FIO_MAX_DP_IDS) + ruhs->nr_ruhs = FIO_MAX_DP_IDS; } else { - if (td->o.dp_nr_ids > FDP_MAX_RUHS) { - ret = -EINVAL; - goto out; - } for (i = 0; i < td->o.dp_nr_ids; i++) { if (td->o.dp_ids[i] >= ruhs->nr_ruhs) { + log_err("fio: for %s PID index %d must be smaller than %d\n", + f->file_name, td->o.dp_ids[i], + ruhs->nr_ruhs); ret = -EINVAL; goto out; } diff --git a/dataplacement.h b/dataplacement.h index 3267a460..84b7be5b 100644 --- a/dataplacement.h +++ b/dataplacement.h @@ -5,7 +5,6 @@ #define STREAMS_DIR_DTYPE 1 #define FDP_DIR_DTYPE 2 -#define FDP_MAX_RUHS 128 #define FIO_MAX_DP_IDS 128 #define DP_MAX_SCHEME_ENTRIES 32 -- 2.25.1