diff options
author | pjd <pjd@FreeBSD.org> | 2010-08-27 14:08:10 +0000 |
---|---|---|
committer | pjd <pjd@FreeBSD.org> | 2010-08-27 14:08:10 +0000 |
commit | a3721f8d1bda2098ab211f42a740d0afed4f19d4 (patch) | |
tree | b817b9fde62d5ebbba87f8a355256775dae965af | |
parent | b51d684000e6dd62197115ac6a50e4fb37f3925e (diff) | |
download | FreeBSD-src-a3721f8d1bda2098ab211f42a740d0afed4f19d4.zip FreeBSD-src-a3721f8d1bda2098ab211f42a740d0afed4f19d4.tar.gz |
Log that synchronization was interrupted in a proper place.
MFC after: 2 weeks
Obtained from: Wheel Systems Sp. z o.o. http://www.wheelsystems.com
-rw-r--r-- | sbin/hastd/primary.c | 13 |
1 files changed, 8 insertions, 5 deletions
diff --git a/sbin/hastd/primary.c b/sbin/hastd/primary.c index 1b08585..429e914 100644 --- a/sbin/hastd/primary.c +++ b/sbin/hastd/primary.c @@ -1495,10 +1495,17 @@ sync_thread(void *arg __unused) ncomps = HAST_NCOMPONENTS; dorewind = true; - synced = 0; + synced = -1; for (;;) { mtx_lock(&sync_lock); + if (synced == -1) + synced = 0; + else if (!sync_inprogress) { + pjdlog_info("Synchronization interrupted. " + "%jd bytes synchronized so far.", + (intmax_t)synced); + } while (!sync_inprogress) { dorewind = true; synced = 0; @@ -1559,10 +1566,6 @@ sync_thread(void *arg __unused) (uintmax_t)res->hr_secondary_localcnt); (void)metadata_write(res); mtx_unlock(&metadata_lock); - } else if (synced > 0) { - pjdlog_info("Synchronization interrupted. " - "%jd bytes synchronized so far.", - (intmax_t)synced); } rw_unlock(&hio_remote_lock[ncomp]); continue; |