From 3d4bfa63a857fbf7ec4b4cb5bc94a5871bef1fa0 Mon Sep 17 00:00:00 2001 From: Jaime Melis Date: Thu, 9 Jul 2015 10:54:55 +0200 Subject: [PATCH] Feature #3718: Monitor regular disk snapshots --- src/vmm_mad/remotes/poll_xen_kvm.rb | 17 +++++++++++++++-- 1 file changed, 15 insertions(+), 2 deletions(-) diff --git a/src/vmm_mad/remotes/poll_xen_kvm.rb b/src/vmm_mad/remotes/poll_xen_kvm.rb index 864e1aeb11..9435ce0edf 100755 --- a/src/vmm_mad/remotes/poll_xen_kvm.rb +++ b/src/vmm_mad/remotes/poll_xen_kvm.rb @@ -357,7 +357,7 @@ module KVM data[:snapshot_size] << { :id => snap_id, :disk_id => disk_id, :size => snapshot_size.round} end - else file + else # Regular Disk text = `qemu-img info --output=json #{file}` next if !$? || !$?.success? @@ -369,10 +369,23 @@ module KVM disk_size = json['actual-size'].to_f/1024/1024 data[:disk_size] << {:id => disk_id, :size => disk_size.round} + + # Get snapshots + Dir[file + '.snap/*'].each do |snap| + text = `qemu-img info --output=json #{snap}` + next if !$? || !$?.success? + + json = JSON.parse(text) + + snap_id = snap.split("/")[-1] + + snap_size = json['actual-size'].to_f/1024/1024 + + data[:snapshot_size] << { :id => snap_id, :disk_id => disk_id, :size => snap_size.round} + end end end - data end