From a92341926a6d5fe1c91131a40ec7c8d82790c633 Mon Sep 17 00:00:00 2001 From: Sage Weil Date: Tue, 31 Jan 2017 12:53:48 -0500 Subject: [PATCH] os/bluestore: decode min_alloc_size into temp var Defend against future changes to min_alloc_size. Signed-off-by: Sage Weil --- src/os/bluestore/BlueStore.cc | 10 +++++++--- 1 file changed, 7 insertions(+), 3 deletions(-) diff --git a/src/os/bluestore/BlueStore.cc b/src/os/bluestore/BlueStore.cc index 036e43933a3..5a6d563b746 100644 --- a/src/os/bluestore/BlueStore.cc +++ b/src/os/bluestore/BlueStore.cc @@ -4116,7 +4116,7 @@ int BlueStore::mkfs() _set_alloc_sizes(); { bufferlist bl; - ::encode(min_alloc_size, bl); + ::encode((uint64_t)min_alloc_size, bl); t->set(PREFIX_SUPER, "min_alloc_size", bl); } @@ -6461,7 +6461,9 @@ int BlueStore::_open_super_meta() db->get(PREFIX_SUPER, "min_alloc_size", &bl); auto p = bl.begin(); try { - ::decode(min_alloc_size, p); + uint64_t val; + ::decode(val, p); + min_alloc_size = val; } catch (buffer::error& e) { derr << __func__ << " unable to read min_alloc_size" << dendl; return -EIO; @@ -6494,7 +6496,9 @@ int BlueStore::_upgrade_super() db->get(PREFIX_SUPER, "min_min_alloc_size", &bl); auto p = bl.begin(); try { - ::decode(min_alloc_size, p); + uint64_t val; + ::decode(val, p); + min_alloc_size = val; } catch (buffer::error& e) { derr << __func__ << " failed to read min_min_alloc_size" << dendl; return -EIO; -- 2.39.5