From: Kern Sibbald Date: Sat, 3 Apr 2010 18:56:42 +0000 (+0200) Subject: Rework SD mount.c locking again X-Git-Tag: Release-7.0.0~2006 X-Git-Url: https://git.sur5r.net/?a=commitdiff_plain;h=4588bc91e21d986786a07ff3b70791ccdf5e8a45;p=bacula%2Fbacula Rework SD mount.c locking again --- diff --git a/bacula/src/stored/autochanger.c b/bacula/src/stored/autochanger.c index a0d7e99fc7..713d6ad28b 100644 --- a/bacula/src/stored/autochanger.c +++ b/bacula/src/stored/autochanger.c @@ -463,7 +463,7 @@ bool unload_dev(DCR *dcr, DEVICE *dev) save_slot = dcr->VolCatInfo.Slot; dcr->VolCatInfo.Slot = dev->get_slot(); - dev->dlock(); +// dev->dlock(); POOLMEM *changer_cmd = get_pool_memory(PM_FNAME); POOL_MEM results(PM_MESSAGE); @@ -503,7 +503,7 @@ bool unload_dev(DCR *dcr, DEVICE *dev) } unlock_changer(dcr); - dev->dunlock(); +// dev->dunlock(); free_volume(dev); /* Free any volume associated with this drive */ free_pool_memory(changer_cmd); diff --git a/bacula/src/stored/mount.c b/bacula/src/stored/mount.c index 774c63c3b0..1c9f884bce 100644 --- a/bacula/src/stored/mount.c +++ b/bacula/src/stored/mount.c @@ -109,12 +109,12 @@ mount_next_vol: if (dev->must_unload()) { ask = true; /* ask operator to mount tape */ } - unlock_volumes(); +// unlock_volumes(); do_unload(); do_swapping(true /*is_writing*/); do_load(true /*is_writing*/); - lock_volumes(); +// lock_volumes(); if (!find_a_volume()) { goto no_lock_bail_out; } @@ -136,7 +136,7 @@ mount_next_vol: * and move the tape to the end of data. * */ - unlock_volumes(); +// unlock_volumes(); dcr->setVolCatInfo(false); /* out of date when Vols unlocked */ if (autoload_device(dcr, true/*writing*/, NULL) > 0) { autochanger = true; @@ -146,7 +146,7 @@ mount_next_vol: VolCatInfo.Slot = 0; ask = retry >= 2; } - lock_volumes(); +// lock_volumes(); Dmsg1(150, "autoload_dev returns %d\n", autochanger); /* * If we autochanged to correct Volume or (we have not just