📄 changes
字号:
CHANGES, mtx 1.2.17:- copy_barcode was off by one.- Replace garbled chars with \0 in case barcodes full of BS. Barcode changes courtesy of dirkx at covalent dot net. Set __WEIRD_CHAR_SUPPRESS to activate this code (it is not activated by default in -current.)CHANGES, mtx 1.2.16:- Fix a very special case that ADIC loaders presented to element status parser- Fix a buffer overflow w/some weird hardware, courtesy of Lars Fredricksen- Make version number include a "rel" so that the rpm will overrride a "pre" version's rpm, i.e., --version will say "mtx 1.2.16rel". - Added TapeChanger Perl package for use with Amanda to the contrib directory (see http://www.killfile.org/~tskirvin/software/tapechanger.html ) courtesy of Tim Skirvin. - Fixed spec file that was broken by 1.2.15 :-(, courtesy of Kenneth PorterCHANGES, mtx 1.2.15:- Some Solaris fixes, courtesy of Matt Ward- Fix URL in .spec fileCHANGES, mtx 1.2.14:- Fix so it'll work if 0 is result of SCSI open (e.g., in cron jobs on Linux)- Move changelog to end of .spec file for easier reading- Added a bit of text to beginning of COMPATIBILITY fileCHANGES, mtx 1.2.13:- Fixed some autoloader bugs w/autoloaders that don't report an arm. - Fixed barcode backoff.- Added "nobarcode" option- Increased timeout for 'mtx inventory' to 30 minutes (note: may increase this even more if needed, please let me know!)- Shortened timeout for 'mtx inquiry' to 30 seconds- tapeinfo now prints SCSI ID/LUN info if available (only on Linux at the moment, sigh). - update documentation w/new email addresses, updated compile directions, various fixes. CHANGES, mtx 1.2.12:- Fix FreeBSD compile bugs- Fix SGI compile bugs- Add HP/UX port (I hope!), courtesy of William Smith. - Re-wrote ReadElementStatus to make work for %!@# brain dead firmware that reports non-existent drives (I hope!). Also has side-effect of now working with multiple-arm libraries (though it only sees first arm!).- Cleaned up all -Wall messages.- Cleaned up Linux Sparc, installs loaderinfo.1, courtesy of Matt Dainty.- tapeinfo now reports status of CheckUnitReady. - tapeinfo no longer puts out Block Position if CheckUnitReady says 'no'.- tapeinfo now puts out Density Code and Medium Type/Not Loaded (modification of patches sent in by Bob Rahe)CHANGES, mtx 1.2.11:- Added a GNU autoconf Makefile.in (still provide a Makefile for your use) *WARNING* autoconf is not yet working on all supported OS's! You may need to do the old-fashioned 'edit Makefile' bit!- Changed mtx.h and mtxl.c to include and define various things based upon what features autoconf detected (e.g., if 'camlib.h', use FreeBSD-style 'cam', if 'scsi/sg.h' use Linux-style 'sg', etc.). If I ever port to a Unix that has same SCSI interface as one of the existing ports, autoconf will handle it without me having to add another set of #if's or #ifdefs. - Went ahead and tossed mtxctl into contrib.- In 'tapeinfo', skip \0 characters in serial numbers (some use \0 terminator, some do not, skip it if this one does). - in 'tapeinfo', dump out the block position and (if at BOP) the "BOP: Yes" flag. Also dump out other info such as block limits. - Put file 'sparc-patch1' contributed by Chaskiel M Grundman, and applied it (sigh)- Added tapeinfo.py to 'contrib' directory- Updated mtx.py in 'contrib' directory- Created 'loaderinfo' program to report some misc. info about loaders.- Created 'scsitape' program so that I don't have to keep messing with #@$%@! tape ioctls on the various Unixes that I'm porting tape software to. (But see the warnings!).- Applied the Solaris patch to the read_element_status command (sigh). - Added timeout adjustment to the SCSI subsystem. - WARNING: DIGITAL UNIX AND VMS ARE PROBABLY IRREPERABLY BROKEN, due to the timeout changes to the SCSI subsystem. If anybody wishes to fix them, feel free to send me patches. - added contrib program "mtx-changer" (an Amanda tape changer script for ?Solaris? that uses mtx rather than stc)- Jiggered Linux SCSI module for smarter error conditions handling (there are some error conditions that are normal for READ of tape drives).- Added contrib program "config_sgen_solaris.sh" which should ease setting up the 'sgen' driver on Solaris 8 (still no easy Solaris 7 or below config). CHANGES, mtx 1.2.10:- Added FAQ and COMPATIBILITY (feel free to send me patches to these files!)- Added LICENSE- Added serial number to 'tapeinfo' output. - Fixed stupid syntax error in mtx.c (compiled with gcc, not with others!)- Fixed spec file for building rpms (maybe).- Added an 'erase' command (undocumented) for use on Linux for doing short erases on tapes (the Linux device driver defaults to a long erase). - Made mtx inventory return an error code if the inventory fails, so that we can wait for inventory to be completed at system startup for libraries that auto-inventory (sigh). CHANGES, mtx 1.2.9:- Added an 'eject' command that, if directed to a tape drive, will eject the tape, and for some autoloaders, if directed to LUN 1, will eject the entire magazine.- Fixed the 'transfer' command to be 1 based rather than 0 based (sigh)- Now properly reports bar code for the tape that's in the tape drive.- Added some miscellaneous Python and Perl scripts to 'contrib'. Thanks to Frank Samuelson for the Perl scripts. CHANGES, mtx 1.2.8:- Spec file has been changed to use the "portable" patch supplied by Red Hat so it should work on Linux Alpha and Linux SPARC too... maybe...- Now will accept 4-byte element status for most element types, despite fact that these don't comply with SCSI standards :-(. This should make many older changers work, including HP optical changers. - Fixed PeripheralDeviceType table, courtesy of Rob Turk.- Now looks for CHANGER environment variable if a device is not specified on the command line. If can't find CHANGER, then tries TAPE environment variable.- Properly sets TransportElementAddress in the CDB for the MOVE MEDIUM command with what was discovered via the READ_ELEMENT_STATUS command, rather than setting them to zero (SCSI spec says that zero should be the default arm, but at least one changer out there didn't like it). - Added a '--version' command (sigh). - Added an 'inventory' command for Breece Hill libraries that don't automatically do an inventory at powerup. CHANGES, mtx 1.2.7:- Fixed problem w/single drive Exabyte 220 reporting element status data for both drives (sigh).- some general cleanup in the barcode fallback code (what a cruft!). Discovered that ADIC DAT AUTOCHANGER does not work w/mtx because it produces gibberish (will apparently only produce one element status page per request).- Fixed the RPM .spec file to have updated file locations, doc locations.- Fixed MoveMedium to say 'Output' for direction, to make it work with Solaris 8 - Some changes to the Solaris low-level module to report more errors (though it still doesn't work as well as the Linux low-level module). Should now work properly with Solaris 2.6/7/8. (Solaris changes courtesy of Richard Fish of Enhanced Software Technologies). CHANGES, mtx 1.2.6:- Fixed 'eepos' stuff to use | rather than || (whoops!)- Accept a 4-byte element descriptor for the robot arm for certain older autochangers. CHANGES, mtx 1.2.5: - Added 'noattach' command. If on command line prior to other commands, forces them to use the regular SCSI changer API rather than the _ATTACHED API, no matter what the _ATTACHED bit in the Inquiry page said. - Created 'tapeinfo' program.CHANGES, mtx 1.2.4:- Major overhaul of element guts to dynamically allocate the arrays using the result of a MODE_SENSE on the Element Address Assignment Page. If mtx 1.2.3 works for you and mtx 1.2.4 does NOT work for you, please un-comment the '#define DEBUG_MODE_SENSE' in file 'mtxl.c' and EMAIL me the results.CHANGES, mtx 1.2.3:- Fixed the source storage element number stuff (again, sigh)- Because of above fix, 'next' etc. ought to work right again.CHANGES, mtx 1.2.2:- Fixed that it was saying everything was an Import/Export element (oops!)- Properly update the Import/Export element count.CHANGES, mtx 1.2.1:- Now explicitly output that a Storage element is in fact an Import/Export element.- Added 'transfer' command to transfer between two Storage elements (so that you can get a tape to an Import/Export element.- Added 'eepos' command for controlling tray retraction on the Breecehill import/export trays. (Works with "load" and "unload" commands too, though that is not documented on "mtx -h"). CHANGES, mtx 1.2.0:- Re-numbered now that Leonard has asked me to take over maintenance of the 'mtx' program.- Temporarily treat Import/Export elements the same as Storage elements. Need to fix this eventually so that the GUI knows what kind of element we're talking about. - Removed quotes from the source element # to make it easier to parse from Perl or Python (just do a split on spaces). - Added sample program, 'mam2debug', showing how to use mtxl library for your own programs (this happens to dump the Exabyte Mammoth 2's internal debug buffer to a file, using the Mammoth2-specific SCSI commands to do so).CHANGES, mtxl 1.4.8:- Whoops, report logical rather than physical when I have to scan for open slots :-).CHANGES, mtxl 1.4.7:- Update comment to reflect mtxl 1.4.6 stuff :-).- Fix the part of the code that scans for open slots as sources for media.CHANGES, mtxl 1.4.6:- Don't use _ATTACHED interface if it reports itself as a Medium Changer!CHANGES, mtxl 1.4.5:- Changed "whoops" compile error on Linux (teach me to release w/o testing on the most popular platform!)- Changed declarations to remove compile-time warnings.CHANGES, mtxl 1.4.4:- Added support for FreeBSD. (uses pass device, NOT native FreeBSD ch device).- Change all 'int' DeviceFD to DEVICE_TYPE DeviceFD. Note that SGI and FreeBSD use a struct * to access the CAM SCSI layer, rather than a file fd. - Fixed goof where I'd hard-wired max # of elements to 127 for testing purposes (it should be sum of MAX_STORAGE_ELEMENTS + MAX_TRANSFER_ELEMENTS + MAX_TRANSPORT_ELEMENTS from mtx.h -- change those if you need more elements, bearing in mind that the code for ReadElementStatus in mtxl.c maxes out at 255 elements unless you fix that too).- Cleaned some cruft out of the MOVE_MEDIUM code.- Must have GNU Make to process Makefile. In reality, I don't know of any machine where we voluntarily use the native 'make' command, because a) there's a half dozen native 'make' all with their own perverted syntaxes, and b) most of them are brain dead beyond belief. CHANGES, mtxl 1.4.3:- Do an INQUIRY prior to doing a MOVE_MEDIUM or READ_ELEMENT_STATUS so that I can detect the MChanger bit and use MOVE_MEDIUM_ATTACHED or READ_ELEMENT_STATUS_ATTACHED commands instead. - Successfully tested with dual drives!- first, next, last now working - Created a man page- Created a 'make install', edit Makefile to alter destinations. CHANGES, mtxl 1.4.2:- Found the problem with the DAT changer! It was burping on the 'bar code' bit... so I intercept that sense key, re-issue w/out the 'bar code' bit, and success!- Added a 'TODO' file...CHANGES, mtxl 1.4.1:- Added 'invert' qualifier to 'load' and 'unload' commands to invert the media (for HP optical jukeboxes). Type './mtx' by itself to see the syntax.- Figured out why my code wasn't properly detecting errors -- turns out the 'sg' device can return ok status even when there is sense data to be reported!- Still to fix: *still* isn't working right with my Seagate 6-tape DDS-4 DAT changer... also need to put the second drive into the Exabyte 220 to make sure the dual-drive stuff works properly (!). CHANGES, mtxl 1.4:- Have now tested the barcode (volume tag) stuff. It works! (Well, there wasan index-by-one problem that I had to squash, but after that...)- Changed to use SCSI Generic device API on Linux rather than SCSI_IOCTL_SEND_COMMAND API, which cut things off at 4095 bytes on i386Linux. - Added a bunch of debugging output that needs to be ripped out :-(. Make sure you remove the -DDEBUG from the Makefile, and probably -DLONG_PRINT_REQUEST_SENSE too (unless you LIKE sense results that makesense!) - Still have annoying bug on Linux of only reading 1st 16 bytes of sensedata. Alas, this appears to be a problem in the Linux 2.2 kernel, not inanything that we're doing :-(. Hmm... cdrecord has the same problem, Mr.Schilling says he's been saying it's a problem since 1997. Sigh. - Still need to test the dual-drive stuff!CHANGES, mtxl 1.3:- Hacked in the barcode (volume tag) stuff. NEED SOMEONE TO TESTWHETHER IT WORKS!- started issuing redundant initial READ_ELEMENT_STATUS with Allocation Lengthof 8 in order to get a BYTE_COUNT_OF_REPORT_AVAILABLE in order to calculate abetter Allocation Length for the "real" READ_ELEMENT_STATUS. Trying to send aquery to a small 6-tape changer with an Allocation Length suited for a 200-element tape library was resulting in some errors and lockups on thepart of the tape changer device.- first, last, next, previous are STILL broken. Sorry :-(. CHANGES, mtxl 1.2:- Changed many output messages to make them more easily parsed byscripts written in awk/perl/python- Extracted out a library of SCSI tape library routines usable by "C"programs (must be GPL'ed). Extensive re-arranging of code.- Added support for multiple drives.- Started adding support for tape changers that use the "MCHangr" bit rather than a separate ID or LUN.- Increased limits so we could deal with LARGE tape libraries.- Started adding support for barcode readers in said tape libraries- broke first, last, next, previous. Sorry :-(. - Added ability to chain commands on command line. Thus could say 'mtx -f/dev/sg4 unload 4 0 load 7 0' to unload a tape from drive 0 and load thetape in slot 7 into drive 0.
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -