if (have_acl) {
jcr->acl_data = get_pool_memory(PM_MESSAGE);
+ jcr->total_acl_errors = 0;
}
if (have_xattr) {
jcr->xattr_data = get_pool_memory(PM_MESSAGE);
set_jcr_job_status(jcr, JS_ErrorTerminated);
}
+ if (jcr->total_acl_errors > 0) {
+ Jmsg(jcr, M_ERROR, 0, _("Encountered %ld acl errors while doing backup\n"),
+ jcr->total_acl_errors);
+ }
+
accurate_send_deleted_list(jcr); /* send deleted list to SD */
stop_heartbeat_monitor(jcr);
*/
if (have_acl) {
if (ff_pkt->flags & FO_ACL && ff_pkt->type != FT_LNK && !ff_pkt->cmd_plugin) {
- if (build_acl_streams(jcr, ff_pkt) == bsub_exit_fatal)
- goto bail_out;
+ switch (build_acl_streams(jcr, ff_pkt))
+ case bsub_exit_fatal:
+ goto bail_out;
+ case bsub_exit_nok:
+ /*
+ * Non-fatal errors, count them and when the number is under ACL_REPORT_ERR_MAX_PER_JOB
+ * print the error message set by the lower level routine in jcr->errmsg.
+ */
+ if (jcr->total_acl_errors < ACL_REPORT_ERR_MAX_PER_JOB) {
+ Jmsg(jcr, M_ERROR, 0, "%s", jcr->errmsg);
+ }
+ jcr->total_acl_errors++;
+ break;
+ case bsub_exit_ok:
+ break;
+ }
}
}