]> git.sur5r.net Git - bacula/bacula/blobdiff - bacula/src/stored/askdir.c
Make sure to clear JS_WaitMedia when operator mounts a Volume.
[bacula/bacula] / bacula / src / stored / askdir.c
index 3b83ca961fb3402bcd8f5a416ca1116c45d820c7..47250e7cbbd7a1c14644456602c3b5c71d5f1329 100644 (file)
@@ -491,11 +491,9 @@ bool dir_ask_sysop_to_create_appendable_volume(DCR *dcr)
          Jmsg(jcr, M_INFO, 0, "%s", dev->errmsg);
          return false;
       }
-      dev->dlock();  
       got_vol = dir_find_next_appendable_volume(dcr);   /* get suggested volume */
-      dev->dunlock();
       if (got_vol) {
-         return true;
+         goto get_out;
       } else {
          if (stat == W_TIMEOUT || stat == W_MOUNT) {
             Mmsg(dev->errmsg, _(
@@ -541,6 +539,8 @@ bool dir_ask_sysop_to_create_appendable_volume(DCR *dcr)
       }
       Dmsg1(100, "Someone woke me for device %s\n", dev->print_name());
    }
+
+get_out:
    set_jcr_job_status(jcr, JS_Running);
    dir_send_job_status(jcr);
    Dmsg0(100, "leave dir_ask_sysop_to_mount_create_appendable_volume\n");
@@ -620,7 +620,7 @@ bool dir_ask_sysop_to_mount_volume(DCR *dcr, int mode)
       if (dev->poll) {
          Dmsg1(400, "Poll timeout in mount vol on device %s\n", dev->print_name());
          Dmsg1(400, "Blocked=%s\n", dev->print_blocked());
-         goto bail_out;
+         goto get_out;
       }
 
       if (stat == W_TIMEOUT) {
@@ -643,7 +643,7 @@ bool dir_ask_sysop_to_mount_volume(DCR *dcr, int mode)
       break;
    }
 
-bail_out:
+get_out:
    set_jcr_job_status(jcr, JS_Running);
    dir_send_job_status(jcr);
    Dmsg0(400, "leave dir_ask_sysop_to_mount_volume\n");