/* if protocol version is >= 17 then send the io_error flag */
if (f != -1 && remote_version >= 17) {
- write_int(f, io_error);
+ extern int module_id;
+ write_int(f, lp_ignore_errors(module_id)? 0 : io_error);
}
if (f != -1) {
/* if protocol version is >= 17 then recv the io_error flag */
if (f != -1 && remote_version >= 17) {
- io_error |= read_int(f);
+ extern int module_id;
+ if (lp_ignore_errors(module_id)) {
+ read_int(f);
+ } else {
+ io_error |= read_int(f);
+ }
}
if (list_only) {
BOOL list;
BOOL use_chroot;
BOOL transfer_logging;
+ BOOL ignore_errors;
char *uid;
char *gid;
char *hosts_allow;
True, /* list */
True, /* use chroot */
False, /* transfer logging */
+ False, /* ignore errors */
"nobody",/* uid */
"nobody",/* gid */
NULL, /* hosts allow */
{"include", P_STRING, P_LOCAL, &sDefault.include, NULL, 0},
{"include from", P_STRING, P_LOCAL, &sDefault.include_from,NULL, 0},
{"transfer logging", P_BOOL, P_LOCAL, &sDefault.transfer_logging,NULL,0},
+ {"ignore errors", P_BOOL, P_LOCAL, &sDefault.ignore_errors,NULL,0},
{"log format", P_STRING, P_LOCAL, &sDefault.log_format, NULL, 0},
{"refuse options", P_STRING, P_LOCAL, &sDefault.refuse_options,NULL, 0},
{"dont compress", P_STRING, P_LOCAL, &sDefault.dont_compress,NULL, 0},
FN_LOCAL_BOOL(lp_list, list)
FN_LOCAL_BOOL(lp_use_chroot, use_chroot)
FN_LOCAL_BOOL(lp_transfer_logging, transfer_logging)
+FN_LOCAL_BOOL(lp_ignore_errors, ignore_errors)
FN_LOCAL_STRING(lp_uid, uid)
FN_LOCAL_STRING(lp_gid, gid)
FN_LOCAL_STRING(lp_hosts_allow, hosts_allow)
The default is no "hosts deny" option, which means all hosts can connect.
+dit(bf(ignore errors)) The "ignore errors" option tells rsyncd to
+ignore IO errors on the server when deciding whether to run the delete
+phase of the transfer. Normally rsync skips the --delete step if any
+IO errors have occurred in order to prevent disasterous deletion due
+to a temporary resource shortage or other IO error. In some cases this
+test is counter productive so you can use this option to turn off this
+behaviour.
+
dit(bf(transfer logging)) The "transfer logging" option enables per-file
logging of downloads and uploads in a format somewhat similar to that
used by ftp daemons. If you want to customize the log formats look at