From owner-svn-src-head@FreeBSD.ORG Mon Mar 7 10:41:13 2011 Return-Path: Delivered-To: svn-src-head@freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:4f8:fff6::34]) by hub.freebsd.org (Postfix) with ESMTP id 04F86106564A; Mon, 7 Mar 2011 10:41:13 +0000 (UTC) (envelope-from pjd@FreeBSD.org) Received: from svn.freebsd.org (svn.freebsd.org [IPv6:2001:4f8:fff6::2c]) by mx1.freebsd.org (Postfix) with ESMTP id CE2E28FC13; Mon, 7 Mar 2011 10:41:12 +0000 (UTC) Received: from svn.freebsd.org (localhost [127.0.0.1]) by svn.freebsd.org (8.14.3/8.14.3) with ESMTP id p27AfCeM032346; Mon, 7 Mar 2011 10:41:12 GMT (envelope-from pjd@svn.freebsd.org) Received: (from pjd@localhost) by svn.freebsd.org (8.14.3/8.14.3/Submit) id p27AfCas032344; Mon, 7 Mar 2011 10:41:12 GMT (envelope-from pjd@svn.freebsd.org) Message-Id: <201103071041.p27AfCas032344@svn.freebsd.org> From: Pawel Jakub Dawidek Date: Mon, 7 Mar 2011 10:41:12 +0000 (UTC) To: src-committers@freebsd.org, svn-src-all@freebsd.org, svn-src-head@freebsd.org X-SVN-Group: head MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Cc: Subject: svn commit: r219372 - head/sbin/hastd X-BeenThere: svn-src-head@freebsd.org X-Mailman-Version: 2.1.5 Precedence: list List-Id: SVN commit messages for the src tree for head/-current List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Mon, 07 Mar 2011 10:41:13 -0000 Author: pjd Date: Mon Mar 7 10:41:12 2011 New Revision: 219372 URL: http://svn.freebsd.org/changeset/base/219372 Log: - Log size of data to synchronize in human readable form (using %N). - Log synchronization time (using %T). - Log synchronization speed in human readable form (using %N). MFC after: 2 weeks Modified: head/sbin/hastd/primary.c Modified: head/sbin/hastd/primary.c ============================================================================== --- head/sbin/hastd/primary.c Mon Mar 7 10:39:26 2011 (r219371) +++ head/sbin/hastd/primary.c Mon Mar 7 10:41:12 2011 (r219372) @@ -1667,6 +1667,7 @@ sync_thread(void *arg __unused) struct hast_resource *res = arg; struct hio *hio; struct g_gate_ctl_io *ggio; + struct timeval tstart, tend, tdiff; unsigned int ii, ncomp, ncomps; off_t offset, length, synced; bool dorewind; @@ -1680,8 +1681,10 @@ sync_thread(void *arg __unused) for (;;) { mtx_lock(&sync_lock); if (offset >= 0 && !sync_inprogress) { - pjdlog_info("Synchronization interrupted. " - "%jd bytes synchronized so far.", + gettimeofday(&tend, NULL); + timersub(&tend, &tstart, &tdiff); + pjdlog_info("Synchronization interrupted after %#.0T. " + "%NB synchronized so far.", &tdiff, (intmax_t)synced); event_send(res, EVENT_SYNCINTR); } @@ -1713,10 +1716,11 @@ sync_thread(void *arg __unused) if (offset < 0) pjdlog_info("Nodes are in sync."); else { - pjdlog_info("Synchronization started. %ju bytes to go.", - (uintmax_t)(res->hr_extentsize * + pjdlog_info("Synchronization started. %NB to go.", + (intmax_t)(res->hr_extentsize * activemap_ndirty(res->hr_amp))); event_send(res, EVENT_SYNCSTART); + gettimeofday(&tstart, NULL); } } if (offset < 0) { @@ -1730,9 +1734,17 @@ sync_thread(void *arg __unused) rw_rlock(&hio_remote_lock[ncomp]); if (ISCONNECTED(res, ncomp)) { if (synced > 0) { + int64_t bps; + + gettimeofday(&tend, NULL); + timersub(&tend, &tstart, &tdiff); + bps = (int64_t)((double)synced / + ((double)tdiff.tv_sec + + (double)tdiff.tv_usec / 1000000)); pjdlog_info("Synchronization complete. " - "%jd bytes synchronized.", - (intmax_t)synced); + "%NB synchronized in %#.0lT (%NB/sec).", + (intmax_t)synced, &tdiff, + (intmax_t)bps); event_send(res, EVENT_SYNCDONE); } mtx_lock(&metadata_lock);