send_volume_info_to_storage_daemon(jcr, bs, &mr);
} else {
/* Not suitable volume */
- bs->fsend(_("1998 Volume \"%s\" status is %s, %s.\n"), mr.VolumeName,
+ bs->fsend(_("1998 Volume \"%s\" catalog status is %s, %s.\n"), mr.VolumeName,
mr.VolStatus, reason);
}
* Encoded attributes
* Link name (if type==FT_LNK or FT_LNKSAVED)
* Encoded extended-attributes (for Win32)
+ * Delta sequence number (32 bit int)
*
* Restore Object
* File_index
jcr->attr = check_pool_memory_size(jcr->attr, msglen);
memcpy(jcr->attr, msg, msglen);
p = jcr->attr - msg + p; /* point p into jcr->attr */
- skip_nonspaces(&p); /* skip FileIndex */
+ skip_nonspaces(&p); /* skip FileIndex */
skip_spaces(&p);
ar->FileType = str_to_int32(p);
- skip_nonspaces(&p); /* skip FileType */
+ skip_nonspaces(&p); /* skip FileType */
skip_spaces(&p);
fname = p;
len = strlen(fname); /* length before attributes */
attr = &fname[len+1];
+ ar->DeltaSeq = 0;
+ if (ar->FileType == FT_REG) {
+ p = attr + strlen(attr) + 1; /* point to link */
+ p = p + strlen(p) + 1; /* point to extended attributes */
+ p = p + strlen(p) + 1; /* point to delta sequence */
+ /*
+ * Older FDs don't have a delta sequence, so check if it is there
+ */
+ if (p - jcr->attr < msglen) {
+ ar->DeltaSeq = str_to_int32(p); /* delta_seq */
+ }
+ }
Dmsg2(400, "dird<stored: stream=%d %s\n", Stream, fname);
Dmsg1(400, "dird<stored: attr=%s\n", attr);
bool ret=false;
int32_t pktsiz;
size_t nbytes;
- ssize_t last = 0, size = 0;
- int count = 0;
+ ssize_t size = 0;
int32_t msglen; /* message length */
POOLMEM *msg = get_pool_memory(PM_MESSAGE);
FILE *spool_fd=NULL;
goto bail_out;
}
size += nbytes;
- if ((++count & 0x3F) == 0) {
- last = size;
- }
}
if (!jcr->is_job_canceled()) {
update_attribute(jcr, msg, msglen);