]> git.sur5r.net Git - bacula/bacula/blobdiff - bacula/src/stored/butil.c
Eliminate dependency on man2html.
[bacula/bacula] / bacula / src / stored / butil.c
index 37de8852839e6b85a60946c0ffbd48b2b1ff5874..43a8088a8f909425cd9c8dacddb39afc687db04c 100644 (file)
@@ -12,7 +12,7 @@
  *   Version $Id$
  */
 /*
-   Copyright (C) 2000-2005 Kern Sibbald
+   Copyright (C) 2000-2006 Kern Sibbald
 
    This program is free software; you can redistribute it and/or
    modify it under the terms of the GNU General Public License
@@ -92,6 +92,9 @@ JCR *setup_jcr(const char *name, char *dev_name, BSR *bsr,
    jcr->fileset_md5 = get_pool_memory(PM_FNAME);
    pm_strcpy(jcr->fileset_md5, "Dummy.fileset.md5");
 
+   init_autochangers();
+   create_volume_list();
+
    dcr = setup_to_access_device(jcr, dev_name, VolumeName, mode);
    if (!dcr) {
       return NULL;
@@ -118,6 +121,8 @@ static DCR *setup_to_access_device(JCR *jcr, char *dev_name,
    DCR *dcr;
    char VolName[MAX_NAME_LENGTH];
 
+   init_reservations_lock();
+
    /*
     * If no volume name already given and no bsr, and it is a file,
     * try getting name from Filename
@@ -157,6 +162,7 @@ static DCR *setup_to_access_device(JCR *jcr, char *dev_name,
    }
    device->dev = dev;
    dcr = new_dcr(jcr, dev);
+   jcr->dcr = dcr;
    if (VolName[0]) {
       bstrncpy(dcr->VolumeName, VolName, sizeof(dcr->VolumeName));
    }
@@ -169,11 +175,13 @@ static DCR *setup_to_access_device(JCR *jcr, char *dev_name,
       if (!acquire_device_for_read(dcr)) {
          return NULL;
       }
+      jcr->read_dcr = dcr;
    } else {
       if (!first_open_device(dcr)) {
          Jmsg1(jcr, M_FATAL, 0, _("Cannot open %s\n"), dev->print_name());
          return NULL;
       }
+      jcr->dcr = dcr;        /* write dcr */
    }
    return dcr;
 }