X-Git-Url: https://git.sur5r.net/?a=blobdiff_plain;f=bacula%2Fsrc%2Fstored%2Fscan.c;h=655ee2924c69d75a30d59a026510fa9fd213699c;hb=a8397bfc69b83581e359e8c53b031e85ba10af2a;hp=809da6b297c7b37fb73917d559627552a37f1569;hpb=2b6380d53266c4f62e01e79fe66ae89ae555e798;p=bacula%2Fbacula diff --git a/bacula/src/stored/scan.c b/bacula/src/stored/scan.c index 809da6b297..655ee2924c 100644 --- a/bacula/src/stored/scan.c +++ b/bacula/src/stored/scan.c @@ -56,8 +56,10 @@ bool DEVICE::scan_dir_for_volume(DCR *dcr) bool need_slash = false; int len; - + dcrVolCatInfo = dcr->VolCatInfo; /* structure assignment */ + devVolCatInfo = VolCatInfo; /* structure assignment */ bstrncpy(VolumeName, dcr->VolumeName, sizeof(VolumeName)); + name_max = pathconf(".", _PC_NAME_MAX); if (name_max < 1024) { name_max = 1024; @@ -73,7 +75,7 @@ bool DEVICE::scan_dir_for_volume(DCR *dcr) berrno be; dev_errno = errno; Dmsg3(29, "scan_dir_for_vol: failed to open dir %s (dev=%s), ERR=%s\n", - mount_point, print_name(), be.strerror()); + mount_point, print_name(), be.bstrerror()); goto get_out; } @@ -113,9 +115,6 @@ bool DEVICE::scan_dir_for_volume(DCR *dcr) * this volume is really OK. If not, put back the desired * volume name, mark it not in changer and continue. */ - dcrVolCatInfo = dcr->VolCatInfo; /* structure assignment */ - devVolCatInfo = VolCatInfo; /* structure assignment */ - bstrncpy(VolumeName, dcr->VolumeName, sizeof(VolumeName)); /* Check if this is a valid Volume in the pool */ bstrncpy(dcr->VolumeName, result->d_name, sizeof(dcr->VolumeName)); if (!dir_get_volume_info(dcr, GET_VOL_INFO_FOR_WRITE)) { @@ -135,6 +134,8 @@ get_out: if (!found) { /* Restore VolumeName we really wanted */ bstrncpy(dcr->VolumeName, VolumeName, sizeof(dcr->VolumeName)); + dcr->VolCatInfo = dcrVolCatInfo; /* structure assignment */ + VolCatInfo = devVolCatInfo; /* structure assignment */ } sm_check(__FILE__, __LINE__, false); return found;