Author: glebius
Date: Tue Sep 11 20:20:13 2012
New Revision: 240371
URL: http://svn.freebsd.org/changeset/base/240371

Log:
    When synchronizing, include in the config dump amount of
  bytes syncronized.
    The rationale behind this is the following: for large disks the
  percent synchronisation counter ticks too seldom, and monitoring
  software (as well as human operator) can't tell whether
  synchronisation goes on or one of disks got stuck. On an idle
  server one can look into gstat and see whether synchronisation goes
  on or not, but on a busy server that won't work. Also, new value
  monitored can be differentiated obtaining the synchronisation speed
  quite precisely.
  
  Submitted by: Konstantin Kukushkin <dark ramtel.ru>
  Reviewed by:  pjd

Modified:
  head/sys/geom/mirror/g_mirror.c
  head/sys/geom/raid3/g_raid3.c

Modified: head/sys/geom/mirror/g_mirror.c
==============================================================================
--- head/sys/geom/mirror/g_mirror.c     Tue Sep 11 19:25:59 2012        
(r240370)
+++ head/sys/geom/mirror/g_mirror.c     Tue Sep 11 20:20:13 2012        
(r240371)
@@ -3144,6 +3144,11 @@ g_mirror_dumpconf(struct sbuf *sb, const
                                    sc->sc_provider->mediasize));
                        }
                        sbuf_printf(sb, "</Synchronized>\n");
+                       if (disk->d_sync.ds_offset > 0) {
+                               sbuf_printf(sb, "%s<BytesSynced>%jd"
+                                   "</BytesSynced>\n", indent,
+                                   (intmax_t)disk->d_sync.ds_offset);
+                       }
                }
                sbuf_printf(sb, "%s<SyncID>%u</SyncID>\n", indent,
                    disk->d_sync.ds_syncid);

Modified: head/sys/geom/raid3/g_raid3.c
==============================================================================
--- head/sys/geom/raid3/g_raid3.c       Tue Sep 11 19:25:59 2012        
(r240370)
+++ head/sys/geom/raid3/g_raid3.c       Tue Sep 11 20:20:13 2012        
(r240371)
@@ -3448,6 +3448,11 @@ g_raid3_dumpconf(struct sbuf *sb, const 
                                    (sc->sc_mediasize / (sc->sc_ndisks - 1))));
                        }
                        sbuf_printf(sb, "</Synchronized>\n");
+                       if (disk->d_sync.ds_offset > 0) {
+                               sbuf_printf(sb, "%s<BytesSynced>%jd"
+                                   "</BytesSynced>\n", indent,
+                                   (intmax_t)disk->d_sync.ds_offset);
+                       }
                }
                sbuf_printf(sb, "%s<SyncID>%u</SyncID>\n", indent,
                    disk->d_sync.ds_syncid);
_______________________________________________
svn-src-head@freebsd.org mailing list
http://lists.freebsd.org/mailman/listinfo/svn-src-head
To unsubscribe, send any mail to "svn-src-head-unsubscr...@freebsd.org"

Reply via email to