svn commit: r240371 - in head/sys/geom: mirror raid3
Gleb Smirnoff
glebius at FreeBSD.org
Tue Sep 11 20:20:14 UTC 2012
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);
More information about the svn-src-head
mailing list