Martin Mucha has uploaded a new change for review.

Change subject: core: use offsets to storing iops counts surviving device 
hotplugs/restarts.
......................................................................

core: use offsets to storing iops counts surviving device hotplugs/restarts.

Change-Id: I0855db019b1896c655a7e73339f7d912cb4abba9
Signed-off-by: Martin Mucha <mmu...@redhat.com>
---
M packaging/dbscripts/disk_image_dynamic_sp.sql
M packaging/dbscripts/upgrade/03_06_0950_add_read_write_ioops_per_disc.sql
2 files changed, 24 insertions(+), 11 deletions(-)


  git pull ssh://gerrit.ovirt.org:29418/ovirt-engine refs/changes/60/38760/1

diff --git a/packaging/dbscripts/disk_image_dynamic_sp.sql 
b/packaging/dbscripts/disk_image_dynamic_sp.sql
index d51ac35..70ceb4c 100644
--- a/packaging/dbscripts/disk_image_dynamic_sp.sql
+++ b/packaging/dbscripts/disk_image_dynamic_sp.sql
@@ -96,6 +96,10 @@
   v_vm_disk_write_ops INTEGER,
   v_vm_disk_read_bytes INTEGER,
   v_vm_disk_written_bytes INTEGER,
+  v_vm_disk_read_ops_offset INTEGER,
+  v_vm_disk_write_ops_offset INTEGER,
+  v_vm_disk_read_bytes_offset INTEGER,
+  v_vm_disk_written_bytes_offset INTEGER,
        v_actual_size BIGINT,
        v_read_latency_seconds numeric(18,9),
        v_write_latency_seconds numeric(18,9),
@@ -108,17 +112,22 @@
   UPDATE
     disk_image_dynamic
   SET
-    read_rate             = v_read_rate,
-    write_rate            = v_write_rate,
-    vm_disk_read_ops      = v_vm_disk_read_ops,
-    vm_disk_write_ops     = v_vm_disk_write_ops,
-    vm_disk_read_bytes    = v_vm_disk_read_bytes,
-    vm_disk_written_bytes = v_vm_disk_written_bytes,
-    actual_size           = v_actual_size,
-    read_latency_seconds  = v_read_latency_seconds,
-    write_latency_seconds = v_write_latency_seconds,
-    flush_latency_seconds = v_flush_latency_seconds,
-    _update_date          = LOCALTIMESTAMP
+    read_rate                    = v_read_rate,
+    write_rate                   = v_write_rate,
+    vm_disk_read_ops             = CASE WHEN v_vm_disk_read_ops <= 
vm_disk_read_ops_offset THEN vm_disk_read_ops + v_vm_disk_read_ops ELSE 
vm_disk_read_ops - vm_disk_read_ops_offset END,
+    vm_disk_write_ops            = CASE WHEN v_vm_disk_write_ops <= 
vm_disk_write_ops_offset THEN vm_disk_write_ops + v_vm_disk_write_ops ELSE 
vm_disk_write_ops - vm_disk_write_ops_offset END,
+    vm_disk_read_bytes           = CASE WHEN v_vm_disk_read_bytes <= 
vm_disk_read_bytes_offset THEN vm_disk_read_bytes + v_vm_disk_read_bytes ELSE 
vm_disk_read_bytes - vm_disk_read_bytes_offset END,
+    vm_disk_written_bytes        = CASE WHEN v_vm_disk_written_bytes <= 
vm_disk_written_bytes_offset THEN vm_disk_written_bytes + 
v_vm_disk_written_bytes ELSE vm_disk_written_bytes - 
vm_disk_written_bytes_offset END,
+
+    vm_disk_read_ops_offset      = v_vm_disk_read_ops,
+    vm_disk_write_ops_offset     = v_vm_disk_write_ops,
+    vm_disk_read_bytes_offset    = v_vm_disk_read_bytes,
+    vm_disk_written_bytes_offset = v_vm_disk_written_bytes,
+    actual_size                  = v_actual_size,
+    read_latency_seconds         = v_read_latency_seconds,
+    write_latency_seconds        = v_write_latency_seconds,
+    flush_latency_seconds        = v_flush_latency_seconds,
+    _update_date                 = LOCALTIMESTAMP
   WHERE
     image_id in
     (SELECT distinct image_guid
diff --git 
a/packaging/dbscripts/upgrade/03_06_0950_add_read_write_ioops_per_disc.sql 
b/packaging/dbscripts/upgrade/03_06_0950_add_read_write_ioops_per_disc.sql
index f50ea3a..356a73f 100644
--- a/packaging/dbscripts/upgrade/03_06_0950_add_read_write_ioops_per_disc.sql
+++ b/packaging/dbscripts/upgrade/03_06_0950_add_read_write_ioops_per_disc.sql
@@ -2,3 +2,7 @@
 SELECT fn_db_add_column('disk_image_dynamic', 'vm_disk_write_ops', ' INTEGER 
NOT NULL DEFAULT 0');
 SELECT fn_db_add_column('disk_image_dynamic', 'vm_disk_read_bytes', ' INTEGER 
NOT NULL DEFAULT 0');
 SELECT fn_db_add_column('disk_image_dynamic', 'vm_disk_written_bytes', ' 
INTEGER NOT NULL DEFAULT 0');
+SELECT fn_db_add_column('disk_image_dynamic', 'vm_disk_read_ops_offset', ' 
INTEGER NOT NULL DEFAULT 0');
+SELECT fn_db_add_column('disk_image_dynamic', 'vm_disk_write_ops_offset', ' 
INTEGER NOT NULL DEFAULT 0');
+SELECT fn_db_add_column('disk_image_dynamic', 'vm_disk_read_bytes_offset', ' 
INTEGER NOT NULL DEFAULT 0');
+SELECT fn_db_add_column('disk_image_dynamic', 'vm_disk_written_bytes_offset', 
' INTEGER NOT NULL DEFAULT 0');


-- 
To view, visit https://gerrit.ovirt.org/38760
To unsubscribe, visit https://gerrit.ovirt.org/settings

Gerrit-MessageType: newchange
Gerrit-Change-Id: I0855db019b1896c655a7e73339f7d912cb4abba9
Gerrit-PatchSet: 1
Gerrit-Project: ovirt-engine
Gerrit-Branch: master
Gerrit-Owner: Martin Mucha <mmu...@redhat.com>
_______________________________________________
Engine-patches mailing list
Engine-patches@ovirt.org
http://lists.ovirt.org/mailman/listinfo/engine-patches

Reply via email to