]> git.apps.os.sepia.ceph.com Git - ceph.git/commitdiff
config: make meta expansion in set_val optional
authorSage Weil <sage@inktank.com>
Fri, 1 Jun 2012 19:44:42 +0000 (12:44 -0700)
committerSage Weil <sage@inktank.com>
Tue, 12 Jun 2012 18:50:54 +0000 (11:50 -0700)
Signed-off-by: Sage Weil <sage@inktank.com>
src/common/config.cc
src/common/config.h

index b5037b7a8e165c1090d53e79ab078c88c1a2f9ca..7784338892217e19409f4ae4f90b58ab90793267 100644 (file)
@@ -584,7 +584,7 @@ void md_config_t::set_val_or_die(const char *key, const char *val)
   assert(ret == 0);
 }
 
-int md_config_t::set_val(const char *key, const char *val)
+int md_config_t::set_val(const char *key, const char *val, bool meta)
 {
   Mutex::Locker l(lock);
   if (!key)
@@ -593,7 +593,8 @@ int md_config_t::set_val(const char *key, const char *val)
     return -EINVAL;
 
   std::string v(val);
-  expand_meta(v);
+  if (meta)
+    expand_meta(v);
 
   string k(ConfFile::normalize_key_name(key));
 
index 53120224e61513535460792dd973c8507f1568bc..52144b8e3b442b88ecf3a091469962371ed79ab1 100644 (file)
@@ -121,7 +121,7 @@ public:
 
   // Set a configuration value.
   // Metavariables will be expanded.
-  int set_val(const char *key, const char *val);
+  int set_val(const char *key, const char *val, bool meta=true);
 
   // Get a configuration value.
   // No metavariables will be returned (they will have already been expanded)