From: Lucian Petrut Date: Wed, 27 Jan 2021 08:30:54 +0000 (+0000) Subject: rbd: fix Windows block count overflow X-Git-Tag: v16.2.0~209^2~7 X-Git-Url: http://git-server-git.apps.pok.os.sepia.ceph.com/?a=commitdiff_plain;h=8fbcd85a1dcff43c609be5e59f17564b026f1549;p=ceph.git 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 (cherry picked from commit 6dc45eea209e1d3b2262a5d8d04d145adc7708a6) --- diff --git a/src/tools/rbd_wnbd/wnbd_handler.h b/src/tools/rbd_wnbd/wnbd_handler.h index a5c042f58026..9a8217745ff5 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)