On Wednesday 11 October 2006 02:39, Robert Nelson wrote:
> I think at some point a bug was introduced into the code.  The routine
> set_volume_name() in btape.c doesn't set the dcr->VolCatInfo.InChanger to
> true.  However the routine autoload_device in autochanger.c requires it to
> be set to true or it ignores the slot number.
> 
> I have a fixed version of btape that I'm completing final tests on.  I'll
> commit it to the CVS so that it is fixed for the next version of 1.39.X and
> for version 1.40.0.
> 
> I also fixed it so that if the drive is empty or contains a tape other than
> the one for slot 1 when the fill command is started then the correct tape is
> loaded.

Thanks for fixing this.  I suspect that we have made changes in the "core" 
code, but that btape.c has not properly followed.  Thanks for finding/fixing 
it.

Regards,

Kern

> 
> 
> -----Original Message-----
> From: [EMAIL PROTECTED]
> [mailto:[EMAIL PROTECTED] On Behalf Of Kern
> Sibbald
> Sent: Tuesday, October 03, 2006 1:08 PM
> To: bacula-users@lists.sourceforge.net
> Cc: Alan Davis
> Subject: Re: [Bacula-users] btape won't autoload for TL892 on Solaris 10?
> 
> On Tuesday 03 October 2006 21:58, Alan Davis wrote:
> > 
> > Self update on problem #1 - multiple causes and maybe a "non-problem"
> > ie:
> > 
> > The btape autochanger test works perfectly, the fill command fails to 
> > autoload the tapes.
> > 
> > The mtx-changer command had some issues with the "list" and 
> > wait_for_drive under Solaris.
> > 
> > I dug through the code for btape and, if I'm reading it correctly, the 
> > btape fill command will /never/ be able to autoload the tape. It's 
> > depending on a reference to
> > 
> > slot = dcr->VolCatInfo.InChanger ? dcr->VolCatInfo.Slot : 0
> > 
> > to determine the slot that volume TestVolume1 or TestVolume2 is in.
> > Since the label was forced onto the tape without a corresponding 
> > VolCatInfo.Slot element update, and the VolCatInfo.InChanger defaults 
> > to false, the slot will always be set to 0 and disables the autoload.
> 
> This is not true unless a bug has been introduced into the code or unless
> you are running on an old Bacula (i.e. pre 1.38.11).
> 
> > 
> > After I added code to force the InChanger value and Slot and added a 
> > call to acquire_device_for_[read|append] it successfully loads the 
> > tape but then fails to satisfy the volume id requirements in that 
> > routine and errors out.
> > 
> > I'm working on a patch, but it's slow going since I have to learn the 
> > code. It's easy enough to fake out the VolCatInfo bits, but I haven't 
> > figured out how to reserve/mount the device yet. I'll be digging into 
> > the developer's manual but if anyone wants to take a look at it I'd 
> > certainly appreciate it.
> > 
> > The bottom line is that I think I've convinced myself that the btape 
> > error is specific to btape and bacula_sd will function as expected.
> 
> There is no need to get too deeply into the Bacula code since btape has no
> access to the catalog, it must *fake* Volume and Slot numbers.  This is done
> in set_volume_name() and the very end of the btape.c file.
> 
> > 
> > 
> > Alan Davis
> > Senior Architect
> > Ruckus Network, Inc.
> > 703.464.6578 (o)
> > 410.365.7175 (m)
> > [EMAIL PROTECTED]
> > alancdavis AIM
> > 
> > 
> > -----Original Message-----
> > From: Alan Davis [mailto:[EMAIL PROTECTED]
> > Sent: Tuesday, October 03, 2006 4:47 AM
> > To: 'Alan Davis'; 'bacula-users@lists.sourceforge.net'
> > Subject: RE: btape won't autoload for TL892 on Solaris 10?
> > 
> > Self update on problem #1 - possible solution
> > 
> > I found that the permissions on the /devices/.../[EMAIL 
> > PROTECTED],0:changer was 
> > rw for root:sys only. Adding the bacula user to sys and chmod'ing the 
> > device to 660 helped - bacula-sd can now count the number of slots via 
> > mtx-changer.
> > 
> > I found that mtx-changer is not Solaris friendly and has issues with 
> > both the wait_for_drive function
> > 
> > # modified for Solaris' mt
> >     if mt -f $1 status | grep 'No Additional Sense'  >/dev/null 2>&1; 
> > then
> > #    if mt -f $1 status | grep ONLINE  >/dev/null 2>&1; then
> > 
> > and the "list" command
> > 
> > #cat ${TMPFILE} | grep " *Storage Element [0-9]*:.*Full" | awk "{print
> > \$3 #\$4}" | sed "s/Full *\(:VolumeTag=\)*//"
> > 
> > cat ${TMPFILE} | grep ' *Storage Element [0-9]*:.*Full' | awk '{print 
> > $3 $4}' | sed 's/Full *:VolumeTag=*//' | sed 's/^\([0-9]*:\)Full/\1/'
> > 
> > ----
> > Alan Davis
> > Senior Architect
> > Ruckus Network, Inc.
> > 703.464.6578 (o)
> > 410.365.7175 (m)
> > [EMAIL PROTECTED]
> > alancdavis AIM
> > 
> > 
> > -----Original Message-----
> > From: Alan Davis [mailto:[EMAIL PROTECTED]
> > Sent: Tuesday, October 03, 2006 2:17 AM
> > To: 'Alan Davis'; 'bacula-users@lists.sourceforge.net'
> > Subject: RE: btape won't autoload for TL892 on Solaris 10?
> > 
> > Self update on problem # 2 - it just took an incredibly long time to 
> > reposition to the last block of the first tape again.
> > 
> > I still have the first problem - and reading the responses to similar 
> > questions on the archive didn't help. Here's the clearest response, 
> > could someone clarify?
> > 
> > "Use the Autochanger-Directive in the SD configuration. Use that 
> > device  with btape and (usually) in the DIR config."
> > 
> > 
> > Alan Davis
> > Senior Architect
> > Ruckus Network, Inc.
> > 703.464.6578 (o)
> > 410.365.7175 (m)
> > [EMAIL PROTECTED]
> > alancdavis AIM
> > 
> > 
> > -----Original Message-----
> > From: Alan Davis [mailto:[EMAIL PROTECTED]
> > Sent: Tuesday, October 03, 2006 1:58 AM
> > To: 'bacula-users@lists.sourceforge.net'
> > Subject: btape won't autoload for TL892 on Solaris 10?
> > 
> > I'm configuring bacula 1.39.22 on Solaris 10 x86 on an IBM e345 with a 
> > Compaq TL892 library, 2 TZ89 DLT drives w/ 1 TL800 robot. I've been 
> > using a combination of the Bacula manual and Dan Langille's articles 
> > to work out the nuances of the Storage clause for the bacula-sd.conf file.
> > 
> > I'm getting 2 unexpected results from btape fill. It doesn't autoload 
> > the next tape and it hangs after reading the first 10000 records from 
> > the first tape.
> > 
> > Where can I start looking to resolve the problems? Is the no autoload 
> > a problem because I don't have a storage pool defined with appendable 
> > volumes or is it a device configuration problem?
> > 
> > The btape test command says that my settings are ok, and the 
> > autochanger section of btape also works as expected.
> > 
> > The btape fill command takes about 2 hours to fill the DLTIV tape 
> > using the /dev/rmt/0cbn device. When it reaches the end of the first 
> > tape I get this (debug is set to 99):
> > 
> > Wrote blk_block=540000, dev_blk_num=12500 VolBytes=34,836,415,488
> > rate=4939.2 KB/s
> > 03-Oct 01:11 btape: End of Volume "TestVolume1" at 51:486 on device 
> > "Drive-1" (/dev/rmt/0cbn). Write of 64512 bytes got 0.
> > btape: btape.c:2308 Last block at: 51:485 this_dev_block_num=486
> > btape: btape.c:2342 End of tape 53:0. VolumeCapacity=35,061,304,320.
> > Write rate = 4934.0 KB/s
> > 03-Oct 01:11 btape: End of medium on Volume "TestVolume1"
> > Bytes=35,061,304,320 Blocks=543,485 at 03-Oct-2006 01:11.
> > btape: btape.c:2679 Enter dir_find_next_appendable_volume. stop=1
> > btape: btape.c:2707 Enter dir_ask_sysop_to_create_appendable_volume
> > btape: btape.c:2679 Enter dir_find_next_appendable_volume. stop=1 
> > 03-Oct 01:11 btape: Invalid slot=0 defined, cannot autoload Volume.
> > <----##### Unexpected result here
> > Mount blank Volume on device "Drive-1" (/dev/rmt/0cbn) and press 
> > return when ready:
> > btape: dev.c:283 open dev: type=2 dev_name="Drive-1" (/dev/rmt/0cbn)
> > vol=TestVolume2 mode=OPEN_READ_WRITE
> > btape: dev.c:328 open dev: device is tape 03-Oct 01:28 btape: 3301 
> > Issuing autochanger "loaded? drive 0" command.
> > 
> > I used mtx in another session to unload the first tape and load the 
> > second. The test continued normally, successfully loading, labeling 
> > and writing to the second tape and then a similar message and the 
> > prompt to reload the first tape.
> > 
> > The process then seems to hang after reading the first 10000 records :
> > 
> > Volume Label:
> > Id                : Bacula 1.0 immortal
> > VerNo             : 11
> > VolName           : TestVolume1
> > PrevVolName       : 
> > VolFile           : 0
> > LabelType         : PRE_LABEL
> > LabelSize         : 165
> > PoolName          : Default
> > MediaType         : DLT-8000
> > PoolType          : Backup
> > HostName          : athos
> > Date label written: 02-Oct-2006 23:12
> > btape: label.c:227 Leave read_volume_label() VOL_OK 03-Oct 01:31 
> > btape: Ready to read from volume "TestVolume1" on device "Drive-1" 
> > (/dev/rmt/0cbn).
> > btape: acquire.c:278 jcr->dcr=80df1d8
> > Rewinding.
> > Reading the first 10000 records from 0:0.
> > 10000 records read now at 1:5084
> > Reposition from 1:5084 to 51:485
> > 
> > Here are my device definitions:
> > 
> > Autochanger { 
> >   Name = Autochanger 
> >   Device = Drive-1 
> >   Device = Drive-2 
> >   Changer Command = "/opt/bacula/bin/mtx-changer %c %o %S %a %d" 
> >   Changer Device = /dev/changer
> > }
> > 
> > Device { 
> >   Name = Drive-1                      # 
> >   Drive Index = 0 
> >   Media Type = DLT-8000 
> >   Archive Device = /dev/rmt/0cbn 
> >   AutomaticMount = yes;               # when device opened, read it 
> >   AlwaysOpen = yes; 
> >   RemovableMedia = yes; 
> >   RandomAccess = no; 
> >   AutoChanger = yes 
> >   Changer Command = "/opt/bacula/bin/mtx-changer %c %o %S %a %d" 
> >   Changer Device = /dev/changer 
> >   # Enable the Alert command only if you have the mtx package loaded 
> >   Alert Command = "sh -c 'tapeinfo -f %c |grep TapeAlert|cat'" 
> > Offline On Unmount      = no 
> > Hardware End of Medium  = no 
> > BSF at EOM              = yes 
> > Backward Space Record   = no 
> > Fast Forward Space File = no 
> > TWO EOF                 = yes 
> >   LabelMedia = yes;                   # lets Bacula label unlabeled
> > media
> > }
> > 
> > Device { 
> >   Name = Drive-2                      # 
> >   Drive Index = 1 
> >   Media Type = DLT-8000 
> >   Archive Device = /dev/rmt/1cbn 
> >   AutomaticMount = yes;               # when device opened, read it 
> >   AlwaysOpen = yes; 
> >   RemovableMedia = yes; 
> >   RandomAccess = no; 
> >   AutoChanger = yes 
> >   Changer Command = "/opt/bacula/bin/mtx-changer %c %o %S %a %d" 
> >   Changer Device = /dev/changer 
> >   # Enable the Alert command only if you have the mtx package loaded 
> >   Alert Command = "sh -c 'tapeinfo -f %c |grep TapeAlert|cat'" 
> > Offline On Unmount      = no 
> > Hardware End of Medium  = no 
> > BSF at EOM              = yes 
> > Backward Space Record   = no 
> > Fast Forward Space File = no 
> > TWO EOF                 = yes 
> >   LabelMedia = yes;                   # lets Bacula label unlabeled
> > media
> > }
> > 
> > 
> > 
> > 
> > ----
> > Alan Davis
> > Senior Architect
> > Ruckus Network, Inc.
> > 703.464.6578 (o)
> > 410.365.7175 (m)
> > [EMAIL PROTECTED]
> > alancdavis AIM
> > 
> > 
> > 
> > 
> > 
> > 
> > ----------------------------------------------------------------------
> > --- Take Surveys. Earn Cash. Influence the Future of IT Join 
> > SourceForge.net's Techsay panel and you'll get the chance to share 
> > your opinions on IT & business topics through brief surveys -- and 
> > earn cash 
> > http://www.techsay.com/default.php?page=join.php&p=sourceforge&CID=DEV
> > DEV _______________________________________________
> > Bacula-users mailing list
> > Bacula-users@lists.sourceforge.net
> > https://lists.sourceforge.net/lists/listinfo/bacula-users
> > 
> 
> -------------------------------------------------------------------------
> Take Surveys. Earn Cash. Influence the Future of IT Join SourceForge.net's
> Techsay panel and you'll get the chance to share your opinions on IT &
> business topics through brief surveys -- and earn cash
> http://www.techsay.com/default.php?page=join.php&p=sourceforge&CID=DEVDEV
> _______________________________________________
> Bacula-users mailing list
> Bacula-users@lists.sourceforge.net
> https://lists.sourceforge.net/lists/listinfo/bacula-users
> 
> 
> 
> 
> -------------------------------------------------------------------------
> Take Surveys. Earn Cash. Influence the Future of IT
> Join SourceForge.net's Techsay panel and you'll get the chance to share your
> opinions on IT & business topics through brief surveys -- and earn cash
> http://www.techsay.com/default.php?page=join.php&p=sourceforge&CID=DEVDEV
> _______________________________________________
> Bacula-users mailing list
> Bacula-users@lists.sourceforge.net
> https://lists.sourceforge.net/lists/listinfo/bacula-users
> 

-------------------------------------------------------------------------
Using Tomcat but need to do more? Need to support web services, security?
Get stuff done quickly with pre-integrated technology to make your job easier
Download IBM WebSphere Application Server v.1.0.1 based on Apache Geronimo
http://sel.as-us.falkag.net/sel?cmd=lnk&kid=120709&bid=263057&dat=121642
_______________________________________________
Bacula-users mailing list
Bacula-users@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/bacula-users

Reply via email to