-/*
- *
- * Bacula Director -- User Agent Status Command
- *
- * Kern Sibbald, August MMI
- *
- * Version $Id$
- */
/*
Bacula® - The Network Backup Solution
- Copyright (C) 2001-2006 Free Software Foundation Europe e.V.
+ Copyright (C) 2001-2007 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.
(FSFE), Fiduciary Program, Sumatrastrasse 25, 8006 Zürich,
Switzerland, email:ftf@fsfeurope.org.
*/
+/*
+ *
+ * Bacula Director -- User Agent Status Command
+ *
+ * Kern Sibbald, August MMI
+ *
+ * Version $Id$
+ */
#include "bacula.h"
/*
* .status command
*/
-int qstatus_cmd(UAContext *ua, const char *cmd)
+
+bool dot_status_cmd(UAContext *ua, const char *cmd)
{
JCR* njcr = NULL;
s_last_job* job;
if ((ua->argc != 3) || (strcasecmp(ua->argk[1], "dir"))) {
bsendmsg(ua, "1900 Bad .status command, missing arguments.\n");
- return 1;
+ return false;
}
if (strcasecmp(ua->argk[2], "current") == 0) {
}
} else {
bsendmsg(ua, "1900 Bad .status command, wrong argument.\n");
- return 1;
+ return false;
}
+ return true;
+}
+
+/* This is the *old* command handler, so we must return
+ * 1 or it closes the connection
+ */
+int qstatus_cmd(UAContext *ua, const char *cmd)
+{
+ dot_status_cmd(ua, cmd);
return 1;
}
CLIENT *client;
int item, i;
- if (!open_client_db(ua)) {
- return 1;
- }
Dmsg1(20, "status:%s:\n", cmd);
for (i=1; i<ua->argc; i++) {
if (sp->job->JobType == JT_BACKUP) {
jcr->db = NULL;
ok = complete_jcr_for_job(jcr, sp->job, sp->pool);
+ Dmsg1(250, "Using pool=%s\n", jcr->pool->name());
if (jcr->db) {
close_db = true; /* new db opened, remember to close it */
}
mr.PoolId = jcr->jr.PoolId;
mr.StorageId = sp->store->StorageId;
jcr->wstore = sp->store;
- ok = find_next_volume_for_append(jcr, &mr, 1, false/*no create*/);
+ Dmsg0(250, "call find_next_volume_for_append\n");
+ ok = find_next_volume_for_append(jcr, &mr, 1, fnv_no_create_vol, fnv_no_prune);
}
if (!ok) {
bstrncpy(mr.VolumeName, "*unknown*", sizeof(mr.VolumeName));
sp->pool = run->pool;
get_job_storage(&store, job, run);
sp->store = store.store;
+ Dmsg3(250, "job=%s store=%s MediaType=%s\n", job->name(), sp->store->name(), sp->store->media_type);
sched.binary_insert_multiple(sp, my_compare);
num_jobs++;
}