case STREAM_PLUGIN_META_CATALOG:
{
if (!jcr->plugin) {
- Jmsg(jcr, M_ERROR, 0, _("No plugin related to metadata packet found, metadata restore failed!\n"));
+ Dmsg0(10, "No plugin related to metadata packet found, metadata restore failed!\n");
goto get_out;
}
Dmsg1(400, "[metadata plugin packet] index: %d\n", mp.index);
Dmsg2(400, "[metadata plugin packet] buf: %.*s\n", mp.buf_len, mp.buf);
+ if (!plug_func(jcr->plugin)->metadataRestore) {
+ Dmsg0(10, "Found plugin metadata, but plugin's metadataRestore callback is empty!\n");
+ break;
+ }
+
int rc = plug_func(jcr->plugin)->metadataRestore(jcr->plugin_ctx, &mp);
if (rc != bRC_OK) {
Jmsg(jcr, M_ERROR, 0, _("Plugin metadataRestore call failed, err: %d\n"), rc);
jcr->unlock();
break;
+ case STREAM_PLUGIN_META_BLOB:
+ case STREAM_PLUGIN_META_CATALOG:
+ //TODO Add some metadata verification when it is possible
+ break;
+
default:
break;
}
return _("Plugin Data");
case STREAM_RESTORE_OBJECT:
return _("Restore Object");
+ case STREAM_PLUGIN_OBJECT:
+ return _("Plugin Object");
+ case STREAM_PLUGIN_META_BLOB:
+ return _("Plugin metadata (binary)");
+ case STREAM_PLUGIN_META_CATALOG:
+ return _("Plugin metadata (catalog)");
case STREAM_XACL_AIX_TEXT:
return _("AIX ACL attribs");
case STREAM_XACL_DARWIN_ACCESS:
case STREAM_RESTORE_OBJECT:
case STREAM_PLUGIN_OBJECT:
+ case STREAM_PLUGIN_META_BLOB:
+ case STREAM_PLUGIN_META_CATALOG:
/* nothing to do */
break;
return "contRESTORE-OBJECT";
case STREAM_PLUGIN_OBJECT:
return "contPLUGIN-OBJECT";
+ case STREAM_PLUGIN_META_BLOB:
+ return "convPLUGIN-METADATA-BINARY";
+ case STREAM_PLUGIN_META_CATALOG:
+ return "convPLUGIN-METADATA-CATALOG";
case STREAM_SPARSE_DATA:
return "contSPARSE-DATA";
case STREAM_SPARSE_GZIP_DATA:
return "RESTORE-OBJECT";
case STREAM_PLUGIN_OBJECT:
return "PLUGIN-OBJECT";
+ case STREAM_PLUGIN_META_BLOB:
+ return "PLUGIN-METADATA-BINARY";
+ case STREAM_PLUGIN_META_CATALOG:
+ return "PLUGIN-METADATA-CATALOG";
case STREAM_SPARSE_DATA:
return "SPARSE-DATA";
case STREAM_SPARSE_GZIP_DATA: