POOL_MEM query(PM_MESSAGE);
UAContext *ua;
bool ok = false;
- char ed1[50], ed2[100], ed3[50];
+ char ed1[50], ed2[100];
POOL_DBR spr;
Dmsg1(050, "Prune volumes PoolId=%d\n", jcr->jr.PoolId);
*/
Dmsg1(100, "bstored: open vol=%s\n", dcr->VolumeName);
if (dev->open(dcr, OPEN_READ_ONLY) < 0) {
- Jmsg3(jcr, M_WARNING, 0, _("Read open device %s Volume \"%s\" failed: ERR=%s\n"),
- dev->print_name(), dcr->VolumeName, dev->bstrerror());
+ if (!dev->poll) {
+ Jmsg3(jcr, M_WARNING, 0, _("Read open device %s Volume \"%s\" failed: ERR=%s\n"),
+ dev->print_name(), dcr->VolumeName, dev->bstrerror());
+ }
goto default_path;
}
Dmsg1(50, "opened dev %s OK\n", dev->print_name());
if (dev->open(dcr, OPEN_READ_ONLY) >= 0) {
continue;
}
+ if (!dev->poll) {
+ Jmsg3(jcr, M_WARNING, 0, _("Read open device %s Volume \"%s\" failed: ERR=%s\n"),
+ dev->print_name(), dcr->VolumeName, dev->bstrerror());
+ }
}
/* Mount a specific volume and no other */
bool found, quit;
int bnet_stat = 0;
char name[500];
+ char tbuf[100];
if (bs->recv() <= 0) {
Emsg0(M_ERROR, 0, _("Connection request failed.\n"));
Dmsg1(000, "<filed: %s", bs->msg);
}
if (sscanf(bs->msg, "Hello Start Job %127s", name) == 1) {
- Dmsg0(110, "Got a FD connection\n");
+ Dmsg1(110, "Got a FD connection at %s\n", bstrftimes(tbuf, sizeof(tbuf),
+ (utime_t)time(NULL)));
handle_filed_connection(bs, name);
return NULL;
}
/*
* This is a connection from the Director, so setup a JCR
*/
- Dmsg0(110, "Got a DIR connection\n");
+ Dmsg1(110, "Got a DIR connection at %s\n", bstrftimes(tbuf, sizeof(tbuf),
+ (utime_t)time(NULL)));
jcr = new_jcr(sizeof(JCR), stored_free_jcr); /* create Job Control Record */
jcr->dir_bsock = bs; /* save Director bsock */
jcr->dir_bsock->set_jcr(jcr);
}
/* We freed the device, so reopen it and wake any waiting threads */
if (dev->open(dcr, OPEN_READ_ONLY) < 0) {
- dir->fsend(_("3901 open device failed: ERR=%s\n"),
- dev->bstrerror());
+ dir->fsend(_("3901 Unable to open device %s: ERR=%s\n"),
+ dev->print_name(), dev->bstrerror());
if (dev->blocked() == BST_UNMOUNTED) {
/* We blocked the device, so unblock it */
Dmsg0(100, "Unmounted. Unblocking device\n");
}
} else if (dev->is_tape()) {
if (dev->open(dcr, OPEN_READ_ONLY) < 0) {
- dir->fsend(_("3901 open device failed: ERR=%s\n"),
- dev->bstrerror());
+ dir->fsend(_("3901 Unable to open device %s: ERR=%s\n"),
+ dev->print_name(), dev->bstrerror());
break;
}
read_label(dcr);
if (dev->open(dcr, OPEN_READ_WRITE) < 0) {
/* If device is not tape, attempt to create it */
if (dev->is_tape() || dev->open(dcr, CREATE_READ_WRITE) < 0) {
+ Jmsg3(dcr->jcr, M_WARNING, 0, _("Open device %s Volume \"%s\" failed: ERR=%s\n"),
+ dev->print_name(), dcr->VolumeName, dev->bstrerror());
goto bail_out;
}
}
JCR *jcr = dcr->jcr;
if (dev->open(dcr, OPEN_READ_WRITE) < 0) {
+ Jmsg3(jcr, M_WARNING, 0, _("Open device %s Volume \"%s\" failed: ERR=%s\n"),
+ dev->print_name(), dcr->VolumeName, dev->bstrerror());
return false;
}
Dmsg2(190, "set append found freshly labeled volume. fd=%d dev=%x\n", dev->fd(), dev);
}
/* If DVD, ignore the error, very often you cannot open the device
* (when there is no DVD, or when the one inserted is a wrong one) */
- if (dev->poll || dev->is_dvd() || dev->is_removable()) {
+ if (dev->poll || dev->is_dvd()) {
goto mount_next_vol;
} else {
Jmsg(jcr, M_ERROR, 0, _("Could not open device %s: ERR=%s\n"),
General:
21May08
+kes Display open() errors except when polling. Previously too
+ many were suppressed. This should fix bug #1070.
kes Fix Win32 reparse points. Bacula will not recurse into any
reparse point directory, including mount points, unless the
directory is explicitly mentioned at the top level (same as
with Unix). A file that is linked to another file will be
backed up -- much as Unix does for hardlinked files.
- This *should* fix bug #1041.
+ This fixes bug #1041.
20May08
kes Remove double quotes from ChangeLog and ReleaseNotes
kes Remove StorageId test when pruning and recycling (Eric's changes).