diff --git a/Makefile.in b/Makefile.in index 0d19c7f..4dc2555 100644 --- a/Makefile.in +++ b/Makefile.in @@ -29,7 +29,11 @@ PROGRAMS=\ all: $(PROGRAMS) -PDATA_SOURCE=\ +SOURCE=\ + base/error_state.cc \ + \ + caching/superblock.cc \ + \ persistent-data/checksum.cc \ persistent-data/endian_utils.cc \ persistent-data/error_set.cc \ @@ -42,13 +46,7 @@ PDATA_SOURCE=\ persistent-data/space_map.cc \ persistent-data/space-maps/disk.cc \ persistent-data/space-maps/recursive.cc \ - persistent-data/space-maps/careful_alloc.cc -#PDATA_OBJECTS=$(subst .cc,.o,$(PDATA_SOURCE)) - -SOURCE=\ - $(PDATA_SOURCE) \ - \ - caching/superblock.cc \ + persistent-data/space-maps/careful_alloc.cc \ \ thin-provisioning/device_tree.cc \ thin-provisioning/file_utils.cc \ @@ -66,7 +64,7 @@ SOURCE=\ PDATA_OBJECTS=$(subst .cc,.o,$(SOURCE)) CXX_PROGRAM_SOURCE=\ - caching/check.cc \ + caching/cache_check.cc \ \ thin-provisioning/thin_check.cc \ thin-provisioning/thin_dump.cc \ @@ -140,6 +138,7 @@ THIN_DUMP_SOURCE=$(SOURCE) THIN_REPAIR_SOURCE=$(SOURCE) THIN_RESTORE_SOURCE=$(SOURCE) THIN_CHECK_SOURCE=\ + base/error_state.cc \ persistent-data/checksum.cc \ persistent-data/endian_utils.cc \ persistent-data/error_set.cc \ diff --git a/base/error_state.cc b/base/error_state.cc new file mode 100644 index 0000000..fdb899e --- /dev/null +++ b/base/error_state.cc @@ -0,0 +1,19 @@ +#include "base/error_state.h" + +//---------------------------------------------------------------- + +base::error_state +base::combine_errors(error_state lhs, error_state rhs) { + switch (lhs) { + case NO_ERROR: + return rhs; + + case NON_FATAL: + return (rhs == FATAL) ? FATAL : lhs; + + default: + return lhs; + } +} + +//---------------------------------------------------------------- diff --git a/base/error_state.h b/base/error_state.h new file mode 100644 index 0000000..9864f6a --- /dev/null +++ b/base/error_state.h @@ -0,0 +1,18 @@ +#ifndef BASE_ERROR_STATE_H +#define BASE_ERROR_STATE_H + +//---------------------------------------------------------------- + +namespace base { + enum error_state { + NO_ERROR, + NON_FATAL, // eg, lost blocks + FATAL // needs fixing before pool can be activated + }; + + error_state combine_errors(error_state lhs, error_state rhs); +} + +//---------------------------------------------------------------- + +#endif diff --git a/caching/check.cc b/caching/cache_check.cc similarity index 100% rename from caching/check.cc rename to caching/cache_check.cc diff --git a/thin-provisioning/thin_check.cc b/thin-provisioning/thin_check.cc index bf27e70..acca39b 100644 --- a/thin-provisioning/thin_check.cc +++ b/thin-provisioning/thin_check.cc @@ -22,6 +22,7 @@ #include "version.h" +#include "base/error_state.h" #include "base/nested_output.h" #include "persistent-data/space-maps/core.h" #include "thin-provisioning/device_tree.h" @@ -29,33 +30,13 @@ #include "thin-provisioning/mapping_tree.h" #include "thin-provisioning/superblock.h" +using namespace base; using namespace std; using namespace thin_provisioning; //---------------------------------------------------------------- namespace { - - enum error_state { - NO_ERROR, - NON_FATAL, // eg, lost blocks - FATAL // needs fixing before pool can be activated - }; - - error_state - combine_errors(error_state lhs, error_state rhs) { - switch (lhs) { - case NO_ERROR: - return rhs; - - case NON_FATAL: - return (rhs == FATAL) ? FATAL : lhs; - - default: - return lhs; - } - } - //-------------------------------- block_manager<>::ptr @@ -91,7 +72,7 @@ namespace { err_ = combine_errors(err_, FATAL); } - error_state get_error() const { + base::error_state get_error() const { return err_; }