From 472c06e90366bc906d48caac6d9e6320e4823116 Mon Sep 17 00:00:00 2001 From: Vasile Paraschiv Date: Fri, 27 May 2016 10:10:27 -0700 Subject: [PATCH] Add low and upper bound values for rocksdb::PerfLevel enum Summary: Add under and over limits for rocksdb::PerfLevel enum to allow us to do boundary checks before casting ints or unints to this enum. Test Plan: make all check -j32 Reviewers: sdong Reviewed By: sdong Subscribers: andrewkr, dhruba, leveldb Differential Revision: https://reviews.facebook.net/D58521 --- include/rocksdb/perf_level.h | 6 ++++-- 1 file changed, 4 insertions(+), 2 deletions(-) diff --git a/include/rocksdb/perf_level.h b/include/rocksdb/perf_level.h index 61970cf54..b36529b33 100644 --- a/include/rocksdb/perf_level.h +++ b/include/rocksdb/perf_level.h @@ -13,12 +13,14 @@ namespace rocksdb { // How much perf stats to collect. Affects perf_context and iostats_context. -enum PerfLevel { +enum PerfLevel : char { + kUninitialized = -1, // unknown setting kDisable = 0, // disable perf stats kEnableCount = 1, // enable only count stats kEnableTimeExceptForMutex = 2, // Other than count stats, also enable time // stats except for mutexes - kEnableTime = 3 // enable count and time stats + kEnableTime = 3, // enable count and time stats + kOutOfBounds = 4 // N.B. Must always be the last value! }; // set the perf stats level for current thread