X-Git-Url: https://git.sur5r.net/?a=blobdiff_plain;f=bacula%2Fsrc%2Fstored%2Fbscan.c;h=69482f198eaaa2a088d51108ab8569c72614d7a6;hb=5acaefa52eef9207ee62d4fe9d231701c0dc4529;hp=1a71b1825e8d84651f6368baa33a5e222817a732;hpb=77ab14c62897f5c7fbfa3538846908c75d3ea40a;p=bacula%2Fbacula diff --git a/bacula/src/stored/bscan.c b/bacula/src/stored/bscan.c index 1a71b1825e..69482f198e 100644 --- a/bacula/src/stored/bscan.c +++ b/bacula/src/stored/bscan.c @@ -10,19 +10,32 @@ * Version $Id$ */ /* - Copyright (C) 2001-2006 Kern Sibbald + Bacula® - The Network Backup Solution - This program is free software; you can redistribute it and/or - modify it under the terms of the GNU General Public License - version 2 as amended with additional clauses defined in the - file LICENSE in the main source directory. + Copyright (C) 2001-2006 Free Software Foundation Europe e.V. - This program is distributed in the hope that it will be useful, - but WITHOUT ANY WARRANTY; without even the implied warranty of - MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the - the file LICENSE for additional details. + The main author of Bacula is Kern Sibbald, with contributions from + many others, a complete list can be found in the file AUTHORS. + This program is Free Software; you can redistribute it and/or + modify it under the terms of version two of the GNU General Public + License as published by the Free Software Foundation plus additions + that are listed in the file LICENSE. - */ + This program is distributed in the hope that it will be useful, but + WITHOUT ANY WARRANTY; without even the implied warranty of + MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU + General Public License for more details. + + You should have received a copy of the GNU General Public License + along with this program; if not, write to the Free Software + Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA + 02110-1301, USA. + + Bacula® is a registered trademark of John Walker. + The licensor of Bacula is the Free Software Foundation Europe + (FSFE), Fiduciary Program, Sumatrastrasse 25, 8006 Zürich, + Switzerland, email:ftf@fsfeurope.org. +*/ #include "bacula.h" #include "stored.h" @@ -98,7 +111,7 @@ pthread_cond_t wait_device_release = PTHREAD_COND_INITIALIZER; static void usage() { fprintf(stderr, _( -"Copyright (C) 2001-%s Kern Sibbald.\n" +PROG_COPYRIGHT "\nVersion: %s (%s)\n\n" "Usage: bscan [ options ] \n" " -b bootstrap specify a bootstrap file\n" @@ -116,7 +129,7 @@ static void usage() " -v verbose\n" " -V specify Volume names (separated by |)\n" " -w specify working directory (default from conf file)\n" -" -? print this message\n\n"), BYEAR, VERSION, BDATE); +" -? print this message\n\n"), 2001, VERSION, BDATE); exit(1); } @@ -134,6 +147,7 @@ int main (int argc, char *argv[]) my_name_is(argc, argv, "bscan"); init_msg(NULL, NULL); + OSDependentInit(); while ((ch = getopt(argc, argv, "b:c:d:h:mn:pP:rsSu:vV:w:?")) != -1) { switch (ch) { @@ -256,7 +270,7 @@ int main (int argc, char *argv[]) if (showProgress) { char ed1[50]; struct stat sb; - fstat(dev->fd, &sb); + fstat(dev->fd(), &sb); currentVolumeSize = sb.st_size; Pmsg1(000, _("First Volume Size = %sn"), edit_uint64(currentVolumeSize, ed1)); @@ -329,7 +343,7 @@ static bool bscan_mount_next_read_volume(DCR *dcr) if (showProgress) { char ed1[50]; struct stat sb; - fstat(dev->fd, &sb); + fstat(dev->fd(), &sb); currentVolumeSize = sb.st_size; Pmsg1(000, _("First Volume Size = %sn"), edit_uint64(currentVolumeSize, ed1)); @@ -352,6 +366,9 @@ static void do_scan() read_records(bjcr->read_dcr, record_cb, bscan_mount_next_read_volume); + if (update_db) { + db_write_batch_file_records(bjcr); /* used by bulk batch file insert */ + } free_attr(attr); } @@ -567,7 +584,7 @@ static bool record_cb(DCR *dcr, DEV_RECORD *rec) /* Create JobMedia record */ mjcr->read_dcr->VolLastIndex = dcr->VolLastIndex; create_jobmedia_record(db, mjcr); - dev->attached_dcrs->remove(mjcr->read_dcr); + detach_dcr_from_dev(mjcr->read_dcr); free_jcr(mjcr); break;