init_msg(JCR *jcr, MSGS *msg)
{
DEST *d, *dnew, *temp_chain = NULL;
+ int i;
if (jcr == NULL && msg == NULL) {
init_last_jobs_list();
*
*/
int fd;
- int i;
fd = open("/dev/null", O_RDONLY, 0644);
if (fd > 2) {
close(fd);
if (msg == NULL) {
daemon_msgs = (MSGS *)malloc(sizeof(MSGS));
memset(daemon_msgs, 0, sizeof(MSGS));
-#if !defined(HAVE_WIN32)
for (i=1; i<=M_MAX; i++) {
add_msg_dest(daemon_msgs, MD_STDOUT, i, NULL, NULL);
}
-#endif
Dmsg1(050, "Create daemon global message resource %p\n", daemon_msgs);
return;
}
if (trace) {
if (!trace_fd) {
char fn[200];
- bsnprintf(fn, sizeof(fn), "%s/bacula.trace", working_directory ? working_directory : ".");
+ bsnprintf(fn, sizeof(fn), "%s/%s.trace", working_directory ? working_directory : ".", my_name);
trace_fd = fopen(fn, "a+b");
}
if (trace_fd) {
if (level <= debug_level) {
if (!trace_fd) {
- bsnprintf(buf, sizeof(buf), "%s/bacula.trace", working_directory);
+ bsnprintf(buf, sizeof(buf), "%s/%s.trace", working_directory ? working_directory : ".", my_name);
trace_fd = fopen(buf, "a+b");
}
}
}
dev->rewind(dcr);
+ dev->weof(1);
write_new_volume_label_to_dev(dcr, cmd, "Default", false,/*no relabel*/ true /* label dvd now */);
Pmsg1(-1, _("Wrote Volume label for volume \"%s\".\n"), cmd);
}
min_block_size = dev->min_block_size;
dev->min_block_size = dev->max_block_size;
set_volume_name("TestVolume1", 1);
-
- if (!dev->rewind(dcr)) {
- Pmsg0(000, _("Rewind failed.\n"));
- }
- if (!dev->weof(1)) {
- Pmsg0(000, _("Write EOF failed.\n"));
- }
- labelcmd();
+ dir_ask_sysop_to_create_appendable_volume(dcr);
dev->set_append(); /* force volume to be relabeled */
/*
* Put some random data in the record
*/
fd = open("/dev/urandom", O_RDONLY);
- if (fd) {
+ if (fd != -1) {
read(fd, rec.data, rec.data_len);
close(fd);
} else {
last_file = last_file1;
last_block = last_block1;
+ free_restore_volume_list(jcr);
+ jcr->bsr = NULL;
+ bstrncpy(dcr->VolumeName, "TestVolume1|TestVolume2", sizeof(dcr->VolumeName));
+ create_restore_volume_list(jcr);
+ if (jcr->VolList != NULL) {
+ jcr->VolList->Slot = 1;
+ if (jcr->VolList->next != NULL) {
+ jcr->VolList->next->Slot = 2;
+ }
+ }
+
+ set_volume_name("TestVolume1", 1);
+
if (!simple) {
/* Multiple Volume tape */
/* Close device so user can use autochanger if desired */
}
}
- free_restore_volume_list(jcr);
- jcr->dcr = new_dcr(jcr, dev);
- set_volume_name("TestVolume1", 1);
- jcr->bsr = NULL;
- create_restore_volume_list(jcr);
dev->close();
dev->num_writers = 0;
if (!acquire_device_for_read(dcr)) {
dev->offline();
}
- free_restore_volume_list(jcr);
set_volume_name("TestVolume2", 2);
- jcr->bsr = NULL;
- create_restore_volume_list(jcr);
+
autochanger = autoload_device(dcr, 1, NULL);
if (!autochanger) {
dev->close();
dev->close();
getchar();
}
- open_device(dcr);
labelcmd();
VolumeName = NULL;
BlockNumber = 0;
return false;
}
- free_restore_volume_list(jcr);
- dev->close();
set_volume_name("TestVolume2", 2);
- jcr->bsr = NULL;
- create_restore_volume_list(jcr);
+
+ dev->close();
if (!acquire_device_for_read(dcr)) {
Pmsg2(0, _("Cannot open Dev=%s, Vol=%s\n"), dev->print_name(), dcr->VolumeName);
return false;
bstrncpy(dcr->VolCatInfo.VolCatName, VolName, sizeof(dcr->VolCatInfo.VolCatName));
bstrncpy(dcr->VolumeName, VolName, sizeof(dcr->VolumeName));
dcr->VolCatInfo.Slot = volnum;
+ dcr->VolCatInfo.InChanger = true;
}