/*
Bacula® - The Network Backup Solution
- Copyright (C) 2001-2010 Free Software Foundation Europe e.V.
+ Copyright (C) 2001-2012 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.
utime_t VolFirstWritten;
utime_t VolLastWritten;
- memset(&mr, 0, sizeof(mr));
memset(&sdmr, 0, sizeof(sdmr));
memset(&jm, 0, sizeof(jm));
Dsm_check(100);
ok = db_get_pool_record(jcr, jcr->db, &pr);
if (ok) {
mr.PoolId = pr.PoolId;
- mr.StorageId = jcr->wstore->StorageId;
+ set_storageid_in_mr(jcr->wstore, &mr);
mr.ScratchPoolId = pr.ScratchPoolId;
ok = find_next_volume_for_append(jcr, &mr, index, fnv_create_vol, fnv_prune);
Dmsg3(050, "find_media ok=%d idx=%d vol=%s\n", ok, index, mr.VolumeName);
* However, do so only if we are writing the tape, i.e.
* the number of VolWrites has increased.
*/
- if (jcr->wstore && jcr->wstore->StorageId && sdmr.VolWrites > mr.VolWrites) {
+ if (jcr->wstore && sdmr.VolWrites > mr.VolWrites) {
Dmsg2(050, "Update StorageId old=%d new=%d\n",
mr.StorageId, jcr->wstore->StorageId);
- if (jcr->wstore->StorageId == 0) {
- Jmsg(jcr, M_ERROR, 0, _("Attempt to set StorageId to zero.\n"));
- } else {
- mr.StorageId = jcr->wstore->StorageId;
- }
+ /* Update StorageId after write */
+ set_storageid_in_mr(jcr->wstore, &mr);
+ } else {
+ /* Nothing written, reset same StorageId */
+ set_storageid_in_mr(NULL, &mr);
}
/* Copy updated values to original media record */
Jmsg1(jcr, M_FATAL, 0, _("Invalid Catalog request: %s"), omsg);
free_memory(omsg);
}
+
Dmsg1(400, ">CatReq response: %s", bs->msg);
Dmsg1(400, "Leave catreq jcr 0x%x\n", jcr);
return;
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);