/*
Bacula® - The Network Backup Solution
- Copyright (C) 2000-2008 Free Software Foundation Europe e.V.
+ Copyright (C) 2000-2010 Free Software Foundation Europe e.V.
The main author of Bacula is Kern Sibbald, with contributions from
many others, a complete list can be found in the file AUTHORS.
Jmsg1(jcr, M_FATAL, 0, _("Record header scan error: %s\n"), sd->msg);
goto bail_out;
}
- Dmsg5(50, "Got hdr: Files=%d FilInx=%d size=%d Stream=%d, %s.\n",
+ Dmsg5(150, "Got hdr: Files=%d FilInx=%d size=%d Stream=%d, %s.\n",
jcr->JobFiles, file_index, rctx.size, rctx.stream, stream_to_ascii(rctx.stream));
/*
if (rctx.type == FT_DELETED) { /* deleted file */
continue;
}
+ /*
+ * Restore objects should be ignored here -- they are
+ * returned at the beginning of the restore.
+ */
+ if (rctx.type == FT_RESTORE_FIRST) {
+ continue;
+ }
/*
* Unpack attributes and do sanity check them
*/
- if (!unpack_attributes_record(jcr, rctx.stream, sd->msg, attr)) {
+ if (!unpack_attributes_record(jcr, rctx.stream, sd->msg, sd->msglen, attr)) {
goto bail_out;
}
-#ifdef xxx
- if (file_index != attr->file_index) {
- Jmsg(jcr, M_FATAL, 0, _("Record header file index %ld not equal record index %ld\n"),
- file_index, attr->file_index);
- Dmsg0(200, "File index error\n");
- goto bail_out;
- }
-#endif
- Dmsg3(200, "File %s\nattrib=%s\nattribsEx=%s\n", attr->fname,
+ Dmsg3(100, "File %s\nattrib=%s\nattribsEx=%s\n", attr->fname,
attr->attr, attr->attrEx);
+ Dmsg3(100, "=== msglen=%d attrExlen=%d msg=%s\n", sd->msglen,
+ strlen(attr->attrEx), sd->msg);
attr->data_stream = decode_stat(attr->attr, &attr->statp, &attr->LinkFI);
case STREAM_ACL_TRU64_ACCESS_ACL:
case STREAM_ACL_SOLARIS_ACLENT:
case STREAM_ACL_SOLARIS_ACE:
+ case STREAM_ACL_AFS_TEXT:
/*
* Do not restore ACLs when
* a) The current file is not extracted
* print the error message set by the lower level routine in jcr->errmsg.
*/
if (jcr->acl_data->nr_errors < ACL_REPORT_ERR_MAX_PER_JOB) {
- Qmsg(jcr, M_WARNING, 0, "%s", jcr->errmsg);
+ Jmsg(jcr, M_WARNING, 0, "%s", jcr->errmsg);
}
jcr->acl_data->nr_errors++;
break;
}
break;
+ case STREAM_XATTR_OPENBSD:
case STREAM_XATTR_SOLARIS_SYS:
case STREAM_XATTR_SOLARIS:
case STREAM_XATTR_DARWIN:
* print the error message set by the lower level routine in jcr->errmsg.
*/
if (jcr->xattr_data->nr_errors < XATTR_REPORT_ERR_MAX_PER_JOB) {
- Qmsg(jcr, M_WARNING, 0, "%s", jcr->errmsg);
+ Jmsg(jcr, M_WARNING, 0, "%s", jcr->errmsg);
}
jcr->xattr_data->nr_errors++;
break;