From 6dc45eea209e1d3b2262a5d8d04d145adc7708a6 Mon Sep 17 00:00:00 2001 From: Lucian Petrut Date: Wed, 27 Jan 2021 08:30:54 +0000 Subject: [PATCH] rbd: fix Windows block count overflow rbd-wnbd uses uint32_t for storing the image total block count, which will overflow for >2TB images that are using 512B blocks. This patch will switch to a uint64_t. Signed-off-by: Lucian Petrut --- src/tools/rbd_wnbd/wnbd_handler.h | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/src/tools/rbd_wnbd/wnbd_handler.h b/src/tools/rbd_wnbd/wnbd_handler.h index a5c042f58026d..9a8217745ff5c 100644 --- a/src/tools/rbd_wnbd/wnbd_handler.h +++ b/src/tools/rbd_wnbd/wnbd_handler.h @@ -65,7 +65,7 @@ class WnbdHandler private: librbd::Image ℑ std::string instance_name; - uint32_t block_count; + uint64_t block_count; uint32_t block_size; bool readonly; bool rbd_cache_enabled; @@ -76,7 +76,7 @@ private: public: WnbdHandler(librbd::Image& _image, std::string _instance_name, - uint32_t _block_count, uint32_t _block_size, + uint64_t _block_count, uint32_t _block_size, bool _readonly, bool _rbd_cache_enabled, uint32_t _io_req_workers, uint32_t _io_reply_workers) -- 2.39.5