DCR *dcr;
const char *cmd = NULL;
bool ok = false;
- bool dolist = false;
+ /*
+ * A safe_cmd may call autochanger script but does not load/unload
+ * slots so it can be done at the same time that the drive is open.
+ */
+ bool safe_cmd = false;
if (sscanf(dir->msg, "autochanger list %127s", devname.c_str()) == 1) {
cmd = "list";
- dolist = ok = true;
+ safe_cmd = ok = true;
} else if (sscanf(dir->msg, "autochanger slots %127s", devname.c_str()) == 1) {
cmd = "slots";
- ok = true;
+ safe_cmd = ok = true;
} else if (sscanf(dir->msg, "autochanger drives %127s", devname.c_str()) == 1) {
cmd = "drives";
- ok = true;
+ safe_cmd = ok = true;
}
if (ok) {
dcr = find_device(jcr, devname, -1);
bnet_fsend(dir, _("3995 Device %s is not an autochanger.\n"),
dev->print_name());
/* Under certain "safe" conditions, we can steal the lock */
- } else if (dolist || !dev->is_open() || dev->can_steal_lock()) {
+ } else if (safe_cmd || !dev->is_open() || dev->can_steal_lock()) {
autochanger_cmd(dcr, dir, cmd);
} else if (dev->is_busy() || dev->is_blocked()) {
send_dir_busy_message(dir, dev);
General:
08Sep06
+kes At Eric's suggestion make both the "slots" and "drive" commands
+ to the Storage daemon work even if the drive is busy.
kes Make two separate Win32 menu links for starting bconsole and
wx-console in winbacula.nsi
kes Apply DVD part_spooled patch from Richard Mortimer