From 3b62b84f41421a349c1bcdb35ccd017a0fe30b14 Mon Sep 17 00:00:00 2001 From: Daniel Verkamp Date: Mon, 9 Apr 2018 13:29:34 -0700 Subject: [PATCH] lvol: use uint64_t to represent lvol sizes Replace the few existing uses of size_t as lvol size with uint64_t for consistency. size_t is meant to represent the size of an object in memory, and it may be smaller than uint64_t (e.g. on 32-bit platforms). Change-Id: Ifed8959625e18be67e98070f7fea1f2a09e4e791 Signed-off-by: Daniel Verkamp Reviewed-on: https://review.gerrithub.io/407008 Reviewed-by: Tomasz Zawadzki Reviewed-by: Maciej Szwed Tested-by: SPDK Automated Test System Reviewed-by: Ben Walker Reviewed-by: Jim Harris --- lib/bdev/lvol/vbdev_lvol.c | 4 ++-- lib/bdev/lvol/vbdev_lvol.h | 4 ++-- lib/bdev/lvol/vbdev_lvol_rpc.c | 5 +---- lib/lvol/lvol.c | 4 ++-- 4 files changed, 7 insertions(+), 10 deletions(-) diff --git a/lib/bdev/lvol/vbdev_lvol.c b/lib/bdev/lvol/vbdev_lvol.c index 5fac730913..7c0792f00c 100644 --- a/lib/bdev/lvol/vbdev_lvol.c +++ b/lib/bdev/lvol/vbdev_lvol.c @@ -852,7 +852,7 @@ end: } int -vbdev_lvol_create(struct spdk_lvol_store *lvs, const char *name, size_t sz, +vbdev_lvol_create(struct spdk_lvol_store *lvs, const char *name, uint64_t sz, bool thin_provision, spdk_lvol_op_with_handle_complete cb_fn, void *cb_arg) { struct spdk_lvol_with_handle_req *req; @@ -976,7 +976,7 @@ finish: } void -vbdev_lvol_resize(struct spdk_lvol *lvol, size_t sz, spdk_lvol_op_complete cb_fn, void *cb_arg) +vbdev_lvol_resize(struct spdk_lvol *lvol, uint64_t sz, spdk_lvol_op_complete cb_fn, void *cb_arg) { struct spdk_lvol_req *req; diff --git a/lib/bdev/lvol/vbdev_lvol.h b/lib/bdev/lvol/vbdev_lvol.h index 9e37deff8d..d2c3640fa2 100644 --- a/lib/bdev/lvol/vbdev_lvol.h +++ b/lib/bdev/lvol/vbdev_lvol.h @@ -52,7 +52,7 @@ int vbdev_lvs_create(struct spdk_bdev *base_bdev, const char *name, uint32_t clu void vbdev_lvs_destruct(struct spdk_lvol_store *lvs, spdk_lvs_op_complete cb_fn, void *cb_arg); void vbdev_lvs_unload(struct spdk_lvol_store *lvs, spdk_lvs_op_complete cb_fn, void *cb_arg); -int vbdev_lvol_create(struct spdk_lvol_store *lvs, const char *name, size_t sz, +int vbdev_lvol_create(struct spdk_lvol_store *lvs, const char *name, uint64_t sz, bool thin_provisioned, spdk_lvol_op_with_handle_complete cb_fn, void *cb_arg); void vbdev_lvol_create_snapshot(struct spdk_lvol *lvol, const char *snapshot_name, @@ -69,7 +69,7 @@ void vbdev_lvol_create_clone(struct spdk_lvol *lvol, const char *clone_name, * \param cb_arg Completion callback custom arguments * \return error */ -void vbdev_lvol_resize(struct spdk_lvol *lvol, size_t sz, spdk_lvol_op_complete cb_fn, +void vbdev_lvol_resize(struct spdk_lvol *lvol, uint64_t sz, spdk_lvol_op_complete cb_fn, void *cb_arg); void vbdev_lvol_rename(struct spdk_lvol *lvol, const char *new_lvol_name, diff --git a/lib/bdev/lvol/vbdev_lvol_rpc.c b/lib/bdev/lvol/vbdev_lvol_rpc.c index d61a748c00..da4b184263 100644 --- a/lib/bdev/lvol/vbdev_lvol_rpc.c +++ b/lib/bdev/lvol/vbdev_lvol_rpc.c @@ -374,7 +374,6 @@ spdk_rpc_construct_lvol_bdev(struct spdk_jsonrpc_request *request, const struct spdk_json_val *params) { struct rpc_construct_lvol_bdev req = {}; - size_t sz; int rc; struct spdk_lvol_store *lvs = NULL; @@ -399,9 +398,7 @@ spdk_rpc_construct_lvol_bdev(struct spdk_jsonrpc_request *request, goto invalid; } - sz = (size_t)req.size; - - rc = vbdev_lvol_create(lvs, req.lvol_name, sz, req.thin_provision, + rc = vbdev_lvol_create(lvs, req.lvol_name, req.size, req.thin_provision, _spdk_rpc_construct_lvol_bdev_cb, request); if (rc < 0) { goto invalid; diff --git a/lib/lvol/lvol.c b/lib/lvol/lvol.c index 826df40c11..c71bb7ca8d 100644 --- a/lib/lvol/lvol.c +++ b/lib/lvol/lvol.c @@ -48,8 +48,8 @@ SPDK_LOG_REGISTER_COMPONENT("lvol", SPDK_LOG_LVOL) static TAILQ_HEAD(, spdk_lvol_store) g_lvol_stores = TAILQ_HEAD_INITIALIZER(g_lvol_stores); static pthread_mutex_t g_lvol_stores_mutex = PTHREAD_MUTEX_INITIALIZER; -static inline size_t -divide_round_up(size_t num, size_t divisor) +static inline uint64_t +divide_round_up(uint64_t num, uint64_t divisor) { return (num + divisor - 1) / divisor; }