/* Set old volume name for open if relabeling */
dcr->setVolCatName(volname);
if (dev->open(dcr, mode) < 0) {
/* Set old volume name for open if relabeling */
dcr->setVolCatName(volname);
if (dev->open(dcr, mode) < 0) {
}
/* We freed the device, so reopen it and wake any waiting threads */
if (dev->open(dcr, OPEN_READ_ONLY) < 0) {
}
/* We freed the device, so reopen it and wake any waiting threads */
if (dev->open(dcr, OPEN_READ_ONLY) < 0) {
dev->print_name(), dev->bstrerror());
if (dev->blocked() == BST_UNMOUNTED) {
/* We blocked the device, so unblock it */
dev->print_name(), dev->bstrerror());
if (dev->blocked() == BST_UNMOUNTED) {
/* We blocked the device, so unblock it */
"If this is not a blank tape, try unmounting and remounting the Volume.\n"),
dev->print_name());
}
} else if (dev->is_tape()) {
if (dev->open(dcr, OPEN_READ_ONLY) < 0) {
"If this is not a blank tape, try unmounting and remounting the Volume.\n"),
dev->print_name());
}
} else if (dev->is_tape()) {
if (dev->open(dcr, OPEN_READ_ONLY) < 0) {
"If this is not a blank tape, try unmounting and remounting the Volume.\n"),
dev->print_name());
}
} else if (dev->is_unmountable()) {
if (dev->mount(1)) {
"If this is not a blank tape, try unmounting and remounting the Volume.\n"),
dev->print_name());
}
} else if (dev->is_unmountable()) {
if (dev->mount(1)) {
} else {
dir->fsend(_("3907 %s"), dev->bstrerror());
}
} else { /* must be file */
} else {
dir->fsend(_("3907 %s"), dev->bstrerror());
}
} else { /* must be file */
dev->print_name());
pthread_cond_broadcast(&dev->wait_next_vol);
Dmsg1(100, "JobId=%u broadcast wait_device_release\n", (uint32_t)dcr->jcr->JobId);
dev->print_name());
pthread_cond_broadcast(&dev->wait_next_vol);
Dmsg1(100, "JobId=%u broadcast wait_device_release\n", (uint32_t)dcr->jcr->JobId);
dev->print_name());
} else {
dir->fsend(_("3907 %s"), dev->bstrerror());
}
} else {
Dmsg0(90, "Device already unmounted\n");
dev->print_name());
} else {
dir->fsend(_("3907 %s"), dev->bstrerror());
}
} else {
Dmsg0(90, "Device already unmounted\n");
dir->fsend(_("3907 %s"), dev->bstrerror());
} else {
dev->set_blocked(BST_UNMOUNTED_WAITING_FOR_SYSOP);
dir->fsend(_("3907 %s"), dev->bstrerror());
} else {
dev->set_blocked(BST_UNMOUNTED_WAITING_FOR_SYSOP);
if (dev->is_unmountable() && !dev->unmount(0)) {
dir->fsend(_("3907 %s"), dev->bstrerror());
} else {
if (dev->is_unmountable() && !dev->unmount(0)) {
dir->fsend(_("3907 %s"), dev->bstrerror());
} else {
unload_autochanger(dcr, -1);
}
Dmsg0(90, "Device already released\n");
unload_autochanger(dcr, -1);
}
Dmsg0(90, "Device already released\n");
dev->print_name());
} else if (dev->blocked() == BST_WAITING_FOR_SYSOP) {
Dmsg2(90, "%d waiter dev_block=%d.\n", dev->num_waiting,
dev->blocked());
unload_autochanger(dcr, -1);
dev->print_name());
} else if (dev->blocked() == BST_WAITING_FOR_SYSOP) {
Dmsg2(90, "%d waiter dev_block=%d.\n", dev->num_waiting,
dev->blocked());
unload_autochanger(dcr, -1);
dev->print_name());
} else if (dev->blocked() == BST_UNMOUNTED_WAITING_FOR_SYSOP) {
Dmsg2(90, "%d waiter dev_block=%d. doing unmount\n", dev->num_waiting,
dev->blocked());
dev->print_name());
} else if (dev->blocked() == BST_UNMOUNTED_WAITING_FOR_SYSOP) {
Dmsg2(90, "%d waiter dev_block=%d. doing unmount\n", dev->num_waiting,
dev->blocked());
} else { /* device not being used */
Dmsg0(90, "Device not in use, releasing\n");
dcr->release_volume();
} else { /* device not being used */
Dmsg0(90, "Device not in use, releasing\n");
dcr->release_volume();
dev->print_name());
/* Under certain "safe" conditions, we can steal the lock */
} else if (safe_cmd || !dev->is_open() || dev->can_steal_lock()) {
dev->print_name());
/* Under certain "safe" conditions, we can steal the lock */
} else if (safe_cmd || !dev->is_open() || dev->can_steal_lock()) {