<html>
<head>
<title>$now rsync-backup report</title>
+ <meta name=viewport content="width=device-width initial-scale=1.0">
<style type='text/css'><!--
body {
background: white;
+rsync-backup (1.0.2.4) experimental; urgency=low
+
+ * check-bkp-status: Include the necessary dropping to not look useless
+ on mobile browsers.
+
+ -- Mark Wooding <mdw@distorted.org.uk> Wed, 18 Mar 2015 09:44:39 +0000
+
+rsync-backup (1.0.2.3) experimental; urgency=low
+
+ * rfreezefs: Fix a bug in cleanup following failure to freeze a
+ filesystem.
+ * Fix some of the manual pages.
+
+ -- Mark Wooding <mdw@distorted.org.uk> Mon, 02 Feb 2015 22:22:48 +0000
+
+rsync-backup (1.0.2.2) experimental; urgency=low
+
+ * check-bkp-status: If a log display is already shown, and then selected
+ from the master table, then don't mark it for auto-hiding.
+
+ -- Mark Wooding <mdw@distorted.org.uk> Wed, 08 Oct 2014 12:32:33 +0100
+
rsync-backup (1.0.2.1) experimental; urgency=low
* Some more minor improvements to `check-bkp-status' output.
.I hash
function, which can be any hash function supported by Python's
.BR hashlib .
-If this option may be omitted then the hash is read from the cache file;
-if there is no cache file either, then an error is reported.
+This option may be omitted: if it is, then the hash is read from the
+cache file; if there is no cache file either, then an error is reported.
.TP
.B \-u, \-\-udiff
Rather than produce a manifest, read a unified
.BR symbolic-link .
The name is followed by
.RB ` \~\->\~ '
-and the link target (or by
+and the link target (or
.BI <E nn \~ message >
if there was an error reading the link destination).
.TP
.TP
.B THAWED
Sent by
-.B rfreezefs to indicate successful thawing of the filesystems in response to
+.B rfreezefs
+to indicate successful thawing of the filesystems in response to
.BR THAW .
.PP
The high-level structure of the protocol is then as follows: the client
or
.B KEEPALIVE
tokens, or an invalid token is received, or it receives one of a number
-of signals, currently
+of signals \(en currently
.BR SIGINT ,
.BR SIGQUIT ,
.BR SIGTERM ,
.BR SIGBUS ,
.BR SIGFPE ,
or
-.BR SIGABRT ,
+.B SIGABRT
+\(en then
.B rfreezefs
will thaw the filesystems and report a failure.
.PP
thawed again.
.TP
.B 3
-Timeout or invalid data. Either no connections containing the cookie
-were made in time, or no data was received for a long enough period
-after the filesystems were frozen, or an invalid token was received. In
-the first case, no filesystems were frozen; in the other two cases, the
-filesystems were successfully thawed.
+Timeout or invalid data. Either no connections containing the
+.B FREEZE
+token were made in time, or no data was received for a long enough
+period after the filesystems were frozen, or an invalid token was
+received. In the first case, no filesystems were frozen; in the other
+two cases, the filesystems were successfully thawed.
.TP
.B 4
Crash. The
/*----- Cleanup -----------------------------------------------------------*/
#define EOM ((char *)0)
-static void EXECL_LIKE(0) emerg(const char *msg,...)
+static void EXECL_LIKE(0) emerg(const char *msg, ...)
{
va_list ap;
int i;
int bad = 0;
- for (i = 0; i < nfs; i++) {
+ for (i = 0; i < n; i++) {
if (fs[i] == -1)
emerg("not really thawing ", fsname[i], EOM);
else if (fs[i] != -2) {
* Hopefully this will prevent bad things happening if we have an accident.
*/
- for (i = 0; i < sizeof(sigcatch)/sizeof(sigcatch[0]); i++) {
+ for (i = 0; i < N(sigcatch); i++) {
if (signal(sigcatch[i], sigmumble) == SIG_ERR)
die(2, "signal (%d): %s", i, strerror(errno));
}