[gnome-disk-utility] Convey data rate and remaning time for MD-RAID sync operations
- From: David Zeuthen <davidz src gnome org>
- To: commits-list gnome org
- Cc:
- Subject: [gnome-disk-utility] Convey data rate and remaning time for MD-RAID sync operations
- Date: Fri, 21 Dec 2012 17:26:22 +0000 (UTC)
commit fae02d39f08fd5f4337d4d7ca91d1487c29b809e
Author: David Zeuthen <zeuthen gmail com>
Date: Fri Dec 21 12:26:00 2012 -0500
Convey data rate and remaning time for MD-RAID sync operations
Signed-off-by: David Zeuthen <zeuthen gmail com>
data/ui/disks.ui | 13 +++++++++++++
src/disks/gduwindow.c | 24 ++++++++++++++++++++++++
2 files changed, 37 insertions(+), 0 deletions(-)
---
diff --git a/data/ui/disks.ui b/data/ui/disks.ui
index 56dbe63..0228096 100644
--- a/data/ui/disks.ui
+++ b/data/ui/disks.ui
@@ -1059,6 +1059,19 @@
<property name="height">1</property>
</packing>
</child>
+ <child>
+ <object class="GtkLabel" id="devtab-drive-raid-progress-label">
+ <property name="visible">True</property>
+ <property name="can_focus">False</property>
+ <property name="xalign">0</property>
+ </object>
+ <packing>
+ <property name="left_attach">0</property>
+ <property name="top_attach">2</property>
+ <property name="width">1</property>
+ <property name="height">1</property>
+ </packing>
+ </child>
</object>
<packing>
<property name="left_attach">1</property>
diff --git a/src/disks/gduwindow.c b/src/disks/gduwindow.c
index 8d14b23..2e7ff77 100644
--- a/src/disks/gduwindow.c
+++ b/src/disks/gduwindow.c
@@ -146,6 +146,7 @@ struct _GduWindow
GtkWidget *devtab_drive_raid_state_grid;
GtkWidget *devtab_drive_raid_state_value_label;
GtkWidget *devtab_drive_raid_state_progressbar;
+ GtkWidget *devtab_drive_raid_progress_label;
GtkWidget *devtab_drive_job_label;
GtkWidget *devtab_drive_job_grid;
@@ -253,6 +254,7 @@ static const struct {
{G_STRUCT_OFFSET (GduWindow, devtab_drive_raid_state_grid), "devtab-drive-raid-state-grid"},
{G_STRUCT_OFFSET (GduWindow, devtab_drive_raid_state_value_label), "devtab-drive-raid-state-value-label"},
{G_STRUCT_OFFSET (GduWindow, devtab_drive_raid_state_progressbar), "devtab-drive-raid-state-progressbar"},
+ {G_STRUCT_OFFSET (GduWindow, devtab_drive_raid_progress_label), "devtab-drive-raid-progress-label"},
{G_STRUCT_OFFSET (GduWindow, devtab_drive_job_label), "devtab-drive-job-label"},
{G_STRUCT_OFFSET (GduWindow, devtab_drive_job_grid), "devtab-drive-job-grid"},
@@ -2285,6 +2287,8 @@ update_device_page_for_mdraid (GduWindow *window,
gchar *degraded_markup = NULL;
gchar *raid_state = NULL;
gchar *raid_state_extra = NULL;
+ guint64 sync_rate = 0;
+ guint64 sync_remaining_time = 0;
gdu_volume_grid_set_no_media_string (GDU_VOLUME_GRID (window->volume_grid),
_("RAID array is not running"));
@@ -2297,6 +2301,8 @@ update_device_page_for_mdraid (GduWindow *window,
degraded = udisks_mdraid_get_degraded (mdraid);
sync_action = udisks_mdraid_get_sync_action (mdraid);
sync_completed = udisks_mdraid_get_sync_completed (mdraid);
+ sync_rate = udisks_mdraid_get_sync_rate (mdraid);
+ sync_remaining_time = udisks_mdraid_get_sync_remaining_time (mdraid);
bitmap_location = udisks_mdraid_get_bitmap_location (mdraid);
chunk_size = udisks_mdraid_get_chunk_size (mdraid);
@@ -2625,6 +2631,24 @@ update_device_page_for_mdraid (GduWindow *window,
gtk_widget_show (window->devtab_drive_raid_state_label);
gtk_widget_show (window->devtab_drive_raid_state_grid);
+ if (sync_remaining_time > 0)
+ {
+ s2 = gdu_utils_format_duration_usec (sync_remaining_time, GDU_FORMAT_DURATION_FLAGS_NO_SECONDS);
+ s3 = g_format_size (sync_rate);
+ /* Translators: Used for MD-RAID sync operation.
+ * The first %s is the estimated amount of time remaining (ex. "1 minute" or "5 minutes").
+ * The second %s is the average amount of bytes transfered per second (ex. "8.9 MB").
+ */
+ s = g_strdup_printf (C_("mdraid-sync-op", "%s remaining (%s/sec)"), s2, s3);
+ g_free (s3);
+ g_free (s2);
+ s2 = g_strdup_printf ("<small>%s</small>", s);
+ g_free (s);
+ gtk_label_set_markup (GTK_LABEL (window->devtab_drive_raid_progress_label), s2);
+ g_free (s2);
+ gtk_widget_show (window->devtab_drive_raid_progress_label);
+ }
+
/* -------------------------------------------------- */
/* Show MDRaid-specific items */
[
Date Prev][
Date Next] [
Thread Prev][
Thread Next]
[
Thread Index]
[
Date Index]
[
Author Index]