I am running 5.0.0, and will compile 5.0.1 today and give it a try tonight.

I don't have PreferMountedVolumes specifically set anywhere, so according to 
the dev-manual that means that it's defaulting to Yes.. I didn't actually see 
that config option when figuring out how to make my setup use multiple volumes 
& drives rather than interleave data, so instead I set Maximum Concurrent Jobs 
= 1 on each drive Device entry.

It seems that disk based devices are treated differently than tape ones with 
regard to keeping volumes mounted, in general, and that some of the special 
case code that relies on knowning what volume is loaded into what drive might 
be failing/not being used because of that.. see the output below from a status 
storage (I only included the first two drives to save space, but they are all 
similar).. notice in particular that the drive has a slot loaded, but is listed 
as !OPEN and none of the volume information prints out.  

Other than running 5.0.1 and keeping full debug and trace output, is there 
anything else I can provide to help?

Cheers,

Joe


*status storage
Automatically selected Storage: zztop_changer0
Connecting to Storage daemon zztop_changer0 at zztop:9103

zztop.ajboggs.net-sd Version: 5.0.0 (26 January 2010) x86_64-redhat-linux-gnu 
redhat
Daemon started 24-Feb-10 16:13, 45 Jobs run since started.
 Heap: heap=1,499,136 smbytes=923,854 max_bytes=1,635,608 bufs=208 max_bufs=351
Sizes: boffset_t=8 size_t=8 int32_t=4 int64_t=8

Device status:
Autochanger "changer0" with devices:
   "changer0_drive0" (/bacula/changer0/drives/drive0)
   "changer0_drive1" (/bacula/changer0/drives/drive1)
   "changer0_drive2" (/bacula/changer0/drives/drive2)
   "changer0_drive3" (/bacula/changer0/drives/drive3)
   "changer0_drive4" (/bacula/changer0/drives/drive4)
   "changer0_drive5" (/bacula/changer0/drives/drive5)
   "changer0_drive6" (/bacula/changer0/drives/drive6)
   "changer0_drive7" (/bacula/changer0/drives/drive7)
   "changer0_drive8" (/bacula/changer0/drives/drive8)
   "changer0_drive9" (/bacula/changer0/drives/drive9)
Device "changer0_drive0" (/bacula/changer0/drives/drive0) is not open.
    Slot 9 is loaded in drive 0.
Configured device capabilities:
EOF BSR BSF FSR FSF EOM !REM RACCESS !AUTOMOUNT !LABEL !ANONVOLS ALWAYSOPEN
Device state:
!OPENED !TAPE !LABEL !MALLOC !APPEND !READ !EOT !WEOT !EOF !NEXTVOL !SHORT 
!MOUNTED
num_writers=0 reserved=0 block=0

Device parameters:
Archive name: /bacula/changer0/drives/drive0 Device name: changer0_drive0
File=0 block=0
Min block=0 Max block=0

Device "changer0_drive2" (/bacula/changer0/drives/drive2) is not open.
    Slot 8 is loaded in drive 2.
Configured device capabilities:
EOF BSR BSF FSR FSF EOM !REM RACCESS !AUTOMOUNT !LABEL !ANONVOLS ALWAYSOPEN
Device state:
!OPENED !TAPE !LABEL !MALLOC !APPEND !READ !EOT !WEOT !EOF !NEXTVOL !SHORT 
!MOUNTED
num_writers=0 reserved=0 block=0

Device parameters:
Archive name: /bacula/changer0/drives/drive2 Device name: changer0_drive2
File=0 block=0
Min block=0 Max block=0


> -----Original Message-----
> From: Kern Sibbald [mailto:[email protected]]
> Sent: Wednesday, March 03, 2010 2:08 AM
> To: [email protected]
> Cc: Joseph Dickson
> Subject: Re: [Bacula-devel] disk volumes removed from volume list
> causing concurrency bug?
> 
> What version of Bacula are you running?
> Are you running with PreferMountedVolumes=no?
> 
> If you are running 5.0.0, would you please try 5.0.1 and report back if
> you
> have the same problem.
> 
> Best regards,
> 
> Kern
> 
> 
> On Wednesday 03 March 2010 05:26:44 Joseph Dickson wrote:
> > Greetings..
> >
> > I've been having a concurrency problem with my fully disk-based
> autochanger
> > setup, which is resulting in volumes being marked as Error status
> > erroneously.  As near as I can tell, the situation which leads up to
> this
> > is:
> >
> > 1:  the volume that is decided upon is already loaded in a different
> drive
> > than has been assigned to the job 2:  multiple jobs are running
> competing
> > for volumes within the same pool 3:  Maximum Concurrent Jobs is set
> to 1 on
> > each Device entry
> >
> > In digging through the code, it looks like vol_mgr.c has some special
> case
> > code to deal with the case where a volume is being swapped from one
> drive
> > to the other.  However, it looks to me like the code that allows all
> that
> > to happen (namely, keeping the volume in the vol_list even after
> > volume_unused is called, so that the code in reserve_volume can
> detect that
> > the volume is already loaded in a drive in the changer) is
> specifically
> > disabled for disk devices:
> >
> > vol_mgr.c in volume_unused at around line # 587:
> >
> >    /*
> >     * If this is a tape, we do not free the volume, rather we wait
> >     *  until the autoloader unloads it, or until another tape is
> >     *  explicitly read in this drive. This allows the SD to remember
> >     *  where the tapes are or last were.
> >     */
> >    Dmsg4(dbglvl, "=== set not reserved vol=%s num_writers=%d
> > dev_reserved=%d dev=%s\n", dev->vol->vol_name, dev->num_writers,
> > dev->num_reserved(), dev->print_name()); Dmsg1(dbglvl, "=== clear
> in_use
> > vol=%s\n", dev->vol->vol_name); dev->vol->clear_in_use();
> >    if (dev->is_tape() || dev->is_autochanger()) {
> >       return true;
> >    } else {
> >       /*
> >        * Note, this frees the volume reservation entry, but the
> >        *   file descriptor remains open with the OS.
> >        */
> >       return free_volume(dev);
> >    }
> >
> > It seems to me (and my admittedly extremely shallow understanding of
> the
> > code so far) that either this code should be changed to treat disk
> volumes
> > the same, OR code should be added to unload a disk based autochanger
> drive
> > when the volume is done being used.
> >
> > Please forgive me if I'm way off base.. just trying to track down the
> cause
> > of my problem :(   A (rather length) trace output of a series of jobs
> which
> > illustrates the problem I'm having can be found at:
> > http://pastebin.com/raw.php?i=Ne0XJbBh
> >
> > Any thoughts or ideas on where to keep looking?
> >
> > Cheers,
> >
> > Joe
> 

------------------------------------------------------------------------------
Download Intel® Parallel Studio Eval
Try the new software tools for yourself. Speed compiling, find bugs
proactively, and fine-tune applications for parallel performance.
See why Intel Parallel Studio got high marks during beta.
http://p.sf.net/sfu/intel-sw-dev
_______________________________________________
Bacula-devel mailing list
[email protected]
https://lists.sourceforge.net/lists/listinfo/bacula-devel

Reply via email to