Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA
02110-1301, USA.
- Bacula® is a registered trademark of John Walker.
+ Bacula® is a registered trademark of Kern Sibbald.
The licensor of Bacula is the Free Software Foundation Europe
(FSFE), Fiduciary Program, Sumatrastrasse 25, 8006 Zürich,
Switzerland, email:ftf@fsfeurope.org.
unbash_spaces(fileset_name);
jcr->fileset_name = get_pool_memory(PM_NAME);
pm_strcpy(jcr->fileset_name, fileset_name);
- jcr->JobType = JobType;
- jcr->JobLevel = level;
+ jcr->set_JobType(JobType);
+ jcr->set_JobLevel(level);
jcr->no_attributes = no_attributes;
jcr->spool_attributes = spool_attributes;
jcr->spool_data = spool_data;
jcr->PreferMountedVols = PreferMountedVols;
jcr->authenticated = false;
+ jcr->need_fd = true;
/*
* Pass back an authorization key for the File daemon
struct timeval tv;
struct timezone tz;
struct timespec timeout;
- int errstat;
+ int errstat = 0;
Dsm_check(1);
Dmsg1(200, "Run_cmd: %s\n", jcr->dir_bsock->msg);
- /* The following jobs don't need the FD */
- switch (jcr->JobType) {
- case JT_COPY:
- case JT_MIGRATE:
- case JT_ARCHIVE:
- jcr->authenticated = true;
+
+ /* If we do not need the FD, we are doing a migrate, copy, or virtual
+ * backup.
+ */
+ if (!jcr->need_fd) {
do_mac(jcr);
return false;
}
timeout.tv_sec = tv.tv_sec + me->client_wait;
Dmsg3(050, "%s waiting %d sec for FD to contact SD key=%s\n",
- jcr->Job, (int)me->client_wait, jcr->sd_auth_key);
+ jcr->Job, (int)(timeout.tv_sec-time(NULL)), jcr->sd_auth_key);
/*
* Wait for the File daemon to contact us to start the Job,
break;
}
}
+ Dmsg3(100, "Auth=%d canceled=%d errstat=%d\n", jcr->authenticated,
+ job_canceled(jcr), errstat);
V(mutex);
memset(jcr->sd_auth_key, 0, strlen(jcr->sd_auth_key));
{
JCR *jcr;
- bmicrosleep(0, 50000); /* wait 50 millisecs */
+/*
+ * With the following bmicrosleep on, running the
+ * SD under the debugger fails.
+ */
+// bmicrosleep(0, 50000); /* wait 50 millisecs */
if (!(jcr=get_jcr_by_full_name(job_name))) {
Jmsg1(NULL, M_FATAL, 0, _("FD connect failed: Job name not found: %s\n"), job_name);
- Dmsg1(3, "**** Job \"%s\" not found", job_name);
+ Dmsg1(3, "**** Job \"%s\" not found.\n", job_name);
return;
}