diff options
author | Josh Frye <joshfng@gmail.com> | 2016-06-28 22:30:01 -0400 |
---|---|---|
committer | Josh Frye <joshfng@gmail.com> | 2016-06-29 16:02:12 -0400 |
commit | 98238a27c7b0e5d4c7a674a78c859150966e6f8b (patch) | |
tree | 64a040513f8e231c3766e0c81233a8986ca8446f /app/controllers/admin/system_info_controller.rb | |
parent | d171ff17beb82c2378c1eae52dada91481a48239 (diff) | |
download | gitlab-ce-issue-18886.tar.gz |
Loop all disks when displaying system infoissue-18886
Diffstat (limited to 'app/controllers/admin/system_info_controller.rb')
-rw-r--r-- | app/controllers/admin/system_info_controller.rb | 25 |
1 files changed, 22 insertions, 3 deletions
diff --git a/app/controllers/admin/system_info_controller.rb b/app/controllers/admin/system_info_controller.rb index 3c67370b667..cc63009cdc0 100644 --- a/app/controllers/admin/system_info_controller.rb +++ b/app/controllers/admin/system_info_controller.rb @@ -1,13 +1,32 @@ class Admin::SystemInfoController < Admin::ApplicationController def show + excluded_mounts = [ + "nobrowse", + "read-only", + "ro" + ] + system_info = Vmstat.snapshot + mounts = Sys::Filesystem.mounts + + @disks = [] + mounts.each do |mount| + options = mount.options.split(', ') + + next unless excluded_mounts.each { |em| break if options.include?(em) } + + disk = Sys::Filesystem.stat(mount.mount_point) + @disks.push({ + bytes_total: disk.bytes_total, + bytes_used: disk.bytes_used, + disk_name: mount.name, + mount_path: disk.path + }) + end @cpus = system_info.cpus.length @mem_used = system_info.memory.active_bytes @mem_total = system_info.memory.total_bytes - - @disk_used = system_info.disks[0].used_bytes - @disk_total = system_info.disks[0].total_bytes end end |