about summary refs log tree commit homepage
path: root/lib/mogilefs/admin.rb
diff options
context:
space:
mode:
Diffstat (limited to 'lib/mogilefs/admin.rb')
-rw-r--r--lib/mogilefs/admin.rb9
1 files changed, 5 insertions, 4 deletions
diff --git a/lib/mogilefs/admin.rb b/lib/mogilefs/admin.rb
index a48aaa0..eeff6bd 100644
--- a/lib/mogilefs/admin.rb
+++ b/lib/mogilefs/admin.rb
@@ -64,17 +64,18 @@ class MogileFS::Admin < MogileFS::Client
 
   def get_devices(devid = nil)
     to_i = %w(mb_asof mb_free mb_used mb_total devid weight hostid)
-    want = %w(status observed_state).concat(to_i)
+    want = %w(status reject_bad_md5 observed_state utilization).concat(to_i)
     rv = @backend.get_devices(devid ? { :devid => devid } : {})
     rv = clean('devices', 'dev', rv, true, to_i, want)
-    ostates = Hash[%w(readable writeable unreachable).map! { |f| [f,f] }]
 
     rv.each do |row|
       u = row["utilization"] and
         row["utilization"] = nil == u ? nil : u.to_f
 
-      # maps "" to nil (for dead devices)
-      row["observed_state"] = ostates[row["observed_state"]]
+      case row["observed_state"]
+      when ""
+        row["observed_state"] = nil
+      end
 
       # be sure we do not set this at all for pre-2.60 MogileFS-Server
       case row["reject_bad_md5"]