X-Git-Url: https://git.sur5r.net/?a=blobdiff_plain;f=bacula%2Fsrc%2Fstored%2Fdircmd.c;h=a53efa31c3cb443e4e22fdb178df95e1333652a0;hb=36b40d5c7f3ff90565ab73ac75f0dc4f6660ff37;hp=972c66fc8a4d841383c50e8e2610f1fd3382d21e;hpb=c879001a9d7a768affedf971d023f943eb1bf787;p=bacula%2Fbacula diff --git a/bacula/src/stored/dircmd.c b/bacula/src/stored/dircmd.c index 972c66fc8a..a53efa31c3 100644 --- a/bacula/src/stored/dircmd.c +++ b/bacula/src/stored/dircmd.c @@ -20,7 +20,7 @@ Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA. - Bacula® is a registered trademark of John Walker. + Bacula® is a registered trademark of Kern Sibbald. The licensor of Bacula is the Free Software Foundation Europe (FSFE), Fiduciary Program, Sumatrastrasse 25, 8006 Zürich, Switzerland, email:ftf@fsfeurope.org. @@ -650,7 +650,8 @@ static bool mount_cmd(JCR *jcr) if (dcr) { dev = dcr->dev; dev->dlock(); /* Use P to avoid indefinite block */ - Dmsg1(100, "mount cmd blocked=%d\n", dev->blocked()); + Dmsg2(100, "mount cmd blocked=%d must_unload=%d\n", dev->blocked(), + dev->must_unload()); switch (dev->blocked()) { /* device blocked? */ case BST_WAITING_FOR_SYSOP: /* Someone is waiting, wake him */ @@ -837,7 +838,7 @@ static bool unmount_cmd(JCR *jcr) */ /* block_device(dev, BST_UNMOUNTED); replace with 2 lines below */ dev->set_blocked(BST_UNMOUNTED); - dev->no_wait_id = 0; + clear_thread_id(dev->no_wait_id); if (!unload_autochanger(dcr, -1)) { dev->close(); } @@ -936,6 +937,10 @@ static bool release_cmd(JCR *jcr) static bool bootstrap_cmd(JCR *jcr) { + /* If getting the bootstrap file succeeds, we do not need + * the FD because we will be reading. + */ + jcr->need_fd = false; return get_bootstrap_file(jcr, jcr->dir_bsock); }