reduce: clean up a few items found during code review

1) Add #define with comment for the 2-element iov array
2) Account for user passing trailing slash in pm file path

Signed-off-by: Jim Harris <james.r.harris@intel.com>
Change-Id: Id5b620ae9d17dd3534e4cc78ddf1ba176f9c7fcd

Reviewed-on: https://review.gerrithub.io/433903
Reviewed-by: Ben Walker <benjamin.walker@intel.com>
Reviewed-by: Shuhei Matsumoto <shuhei.matsumoto.xt@hitachi.com>
Tested-by: SPDK CI Jenkins <sys_sgci@intel.com>
Chandler-Test-Pool: SPDK Automated Test System <sys_sgsw@intel.com>
This commit is contained in:
Jim Harris 2018-11-15 19:44:37 -07:00
parent 202bb34fcc
commit b0281115b5

View File

@ -218,12 +218,15 @@ _initialize_vol_pm_pointers(struct spdk_reduce_vol *vol)
vol->pm_chunk_maps = vol->pm_logical_map + (vol->params.vol_size / vol->params.chunk_size);
}
/* We need 2 iovs during load - one for the superblock, another for the path */
#define LOAD_IOV_COUNT 2
struct reduce_init_load_ctx {
struct spdk_reduce_vol *vol;
struct spdk_reduce_vol_cb_args backing_cb_args;
spdk_reduce_vol_op_with_handle_complete cb_fn;
void *cb_arg;
struct iovec iov[2];
struct iovec iov[LOAD_IOV_COUNT];
void *path;
};
@ -335,6 +338,12 @@ spdk_reduce_vol_init(struct spdk_reduce_vol_params *params,
*/
max_dir_len = REDUCE_PATH_MAX - SPDK_UUID_STRING_LEN - 1;
dir_len = strnlen(pm_file_dir, max_dir_len);
/* Strip trailing slash if the user provided one - we will add it back
* later when appending the filename.
*/
if (pm_file_dir[dir_len - 1] == '/') {
dir_len--;
}
if (dir_len == max_dir_len) {
SPDK_ERRLOG("pm_file_dir (%s) too long\n", pm_file_dir);
cb_fn(cb_arg, NULL, -EINVAL);
@ -595,7 +604,7 @@ spdk_reduce_vol_load(struct spdk_reduce_backing_dev *backing_dev,
load_ctx->iov[1].iov_len = REDUCE_PATH_MAX;
load_ctx->backing_cb_args.cb_fn = _load_read_super_and_path_cpl;
load_ctx->backing_cb_args.cb_arg = load_ctx;
vol->backing_dev->readv(vol->backing_dev, load_ctx->iov, 2, 0,
vol->backing_dev->readv(vol->backing_dev, load_ctx->iov, LOAD_IOV_COUNT, 0,
(sizeof(*vol->backing_super) + REDUCE_PATH_MAX) /
vol->backing_dev->blocklen,
&load_ctx->backing_cb_args);