-
Notifications
You must be signed in to change notification settings - Fork 66
/
ChangeLog
908 lines (787 loc) · 41.4 KB
/
ChangeLog
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
199
200
201
202
203
204
205
206
207
208
209
210
211
212
213
214
215
216
217
218
219
220
221
222
223
224
225
226
227
228
229
230
231
232
233
234
235
236
237
238
239
240
241
242
243
244
245
246
247
248
249
250
251
252
253
254
255
256
257
258
259
260
261
262
263
264
265
266
267
268
269
270
271
272
273
274
275
276
277
278
279
280
281
282
283
284
285
286
287
288
289
290
291
292
293
294
295
296
297
298
299
300
301
302
303
304
305
306
307
308
309
310
311
312
313
314
315
316
317
318
319
320
321
322
323
324
325
326
327
328
329
330
331
332
333
334
335
336
337
338
339
340
341
342
343
344
345
346
347
348
349
350
351
352
353
354
355
356
357
358
359
360
361
362
363
364
365
366
367
368
369
370
371
372
373
374
375
376
377
378
379
380
381
382
383
384
385
386
387
388
389
390
391
392
393
394
395
396
397
398
399
400
401
402
403
404
405
406
407
408
409
410
411
412
413
414
415
416
417
418
419
420
421
422
423
424
425
426
427
428
429
430
431
432
433
434
435
436
437
438
439
440
441
442
443
444
445
446
447
448
449
450
451
452
453
454
455
456
457
458
459
460
461
462
463
464
465
466
467
468
469
470
471
472
473
474
475
476
477
478
479
480
481
482
483
484
485
486
487
488
489
490
491
492
493
494
495
496
497
498
499
500
501
502
503
504
505
506
507
508
509
510
511
512
513
514
515
516
517
518
519
520
521
522
523
524
525
526
527
528
529
530
531
532
533
534
535
536
537
538
539
540
541
542
543
544
545
546
547
548
549
550
551
552
553
554
555
556
557
558
559
560
561
562
563
564
565
566
567
568
569
570
571
572
573
574
575
576
577
578
579
580
581
582
583
584
585
586
587
588
589
590
591
592
593
594
595
596
597
598
599
600
601
602
603
604
605
606
607
608
609
610
611
612
613
614
615
616
617
618
619
620
621
622
623
624
625
626
627
628
629
630
631
632
633
634
635
636
637
638
639
640
641
642
643
644
645
646
647
648
649
650
651
652
653
654
655
656
657
658
659
660
661
662
663
664
665
666
667
668
669
670
671
672
673
674
675
676
677
678
679
680
681
682
683
684
685
686
687
688
689
690
691
692
693
694
695
696
697
698
699
700
701
702
703
704
705
706
707
708
709
710
711
712
713
714
715
716
717
718
719
720
721
722
723
724
725
726
727
728
729
730
731
732
733
734
735
736
737
738
739
740
741
742
743
744
745
746
747
748
749
750
751
752
753
754
755
756
757
758
759
760
761
762
763
764
765
766
767
768
769
770
771
772
773
774
775
776
777
778
779
780
781
782
783
784
785
786
787
788
789
790
791
792
793
794
795
796
797
798
799
800
801
802
803
804
805
806
807
808
809
810
811
812
813
814
815
816
817
818
819
820
821
822
823
824
825
826
827
828
829
830
831
832
833
834
835
836
837
838
839
840
841
842
843
844
845
846
847
848
849
850
851
852
853
854
855
856
857
858
859
860
861
862
863
864
865
866
867
868
869
870
871
872
873
874
875
876
877
878
879
880
881
882
883
884
885
886
887
888
889
890
891
892
893
894
895
896
897
898
899
900
901
902
903
904
905
906
907
* Fri Mar 10 16:30:00 AEST 2023 Mark Harvey <[email protected]> <[email protected]>
- review of all utilities and use '-m <barcode>' the standard option
- Add support for 'INQUIRY_DATA_HAS_CHANGED'
- Added 'Extended Inquiry Data VPD page for Ultrium
- Add SELinux ACL so systemctl scripts will work if SELinux is enforcing
- mhvtl.ko: Various improvements to suit recent kernel changes (thanks Lee Duncan and Tamas Revesz)
- mhvtl.ko: Change initiator ID from 15 to -1 (resolves conflict if target also configured with ID 15)
- mhvtl.ko: Remove printk in favour of pr_* calls
- pre-package mhvtl.ko source into /usr/lib/firmware/mhvtl/ and add wrapper script 'mhvtl_kernel_mod_build' to extract, compile and install
- Various 64bit/32bit casts fixed.
- Updated Vagrant to use AlmaLinux, RockyLinux, CentOS, OpenSuse, Ubuntu
* Thu Mar 10 10:30:00 AEST 2022 Mark Harvey <[email protected]> <[email protected]>
- Updated default drives in library 10 from LTO4/LTO5 to LTO6 & LTO8
- Added initial support for Data Integrity Validation (via Logical Block Protection) - IBM LTO6,LTO7 & LTO8 with this release.
- mhvtl.ko: Various updates to match the latest kernels
- Additional checks for Vagrant build on CentOS, Ubuntu and OpenSUSE
- Improve tape load/unload handshake to make it more robust
- Improve handling of missing slot numbers in library_contents.xx
- Makefile - Move variables to a common location (config.mk)
- SEND DIAGNOSTICS: Implement basic sanity check for SSC devices
- VERIFY(6) op code support
- Update install instructions with sg3_utils vs sg3-utils package names
- LTO-6 media load to match LTO standards (LTO8 cannot read LTO6 media)
- New utility 'preload_tape' bypassing need to write via /dev/st*
- Add missing 'ENCRYPTION capable' bit for LTO6, 7 & 8 media
- systemd device config: Best effort, log errors via klog
- Obligatory spelling fixes
- Bump version to 1.7 : Beginning of LBP, VERIFY(6) and SEND DIAGNOSTICS support
* Thu Oct 07 10:40:00 AEST 2021 Mark Harvey <[email protected]> <[email protected]>
- rename list.h to avoid generic name conflict
- rename scsi.h to avoid generic name conflict
- rename log.h to avoid generic name conflict
- Exclude __builtin_cpu_supports() on non x86_64 CPU types
- Fix spelling of retrieving
- mhvtl.ko: Define SG_SEGMENT_SZ only if not defined
- Increase default kmem_cache bounce buffer size to 64k
- mhvtl.ko: kernel module oops on PPC
- mhvtl.ko: Log errors if they occur
- mhvtl.ko: Correct compiler warning about printf var sizes
- mhvtl.ko: Simplify file_inode()
- mhvtl.ko: Use _safe version of list_for_each_entry
- mhvtl.ko: Limit number of outstanding queued commands
- mhvtl.ko: Log minor number with other ioctl info
- mhvtl.ko: clean up noisy logging at level 2
- mhvtl.ko: Initialise outstanding op struct before adding to list
- mktape: Set default version string based from MHVTL_VERSION
- Update LTO-8 media denisty codes
- Security Protocol OUT: Fix null pointer check
- Fix routine to extract barcode from string
- Fix typos in mktape man page
- dump_tape: Fix segfault due to local variable conflict
- Use bounce buffer if tape block size is larger than request buffer
- Remove unused scsi_host_template field
- mhvtl.ko: Compile on RedHat 8.x kernel
- mhvtl.ko: reinstate HAVE_UNLOCKED_IOCTL
- mhvtl.ko: Remove reference to DRIVER_SENSE
- Update function names with 'mhvtl_' prefix
- Update kernel /sys/ location to suit new pseudo name space
- OOM: /proc/<pid>/oom_adj is deprecated. Using oom_score_adj.
- systemd: Update Makefile to include systemd install path
- mhvtl.spec: Update to build a package on CentOS8
* Tue Mar 10 09:00:00 AEST 2020 Mark Harvey <[email protected]> <[email protected]>
- Fix kernel module oops/panic due to race between placing OP ready for user space before all variable were initialised
- Add ccan version of crc32c routine which includes CPU optimisations for sse4.2 capabile CPUs
* Sun Oct 06 12:20:00 AEST 2019 Mark Harvey <[email protected]> <[email protected]>
- Fix kernel copy_to_user()/copy_from_user() to use white-listed buffer
- Fix kernel compile for 5.0+ kernels
* Wed Apr 10 10:30:30 AEST 2019 Mark Marvey <[email protected]> <[email protected]>
- Fix long standing bug on media unload
- Added CRC32 checks for each block written/read
- allow kernel module to compile on 5.0 kernels
- Add example on how to configure LIO pscsi (passthru) driver with mhVTL
- Fix parsing args in dump_tape
* Thu Mar 28 14:30:30 AEST 2019 Mark Marvey <[email protected]> <[email protected]>
- Create virtual media on rpm install
- Fixed a couple typos in spec file (one from several years ago)
- Don’t overwrite /etc/mhvtl/* but install as ‘rpmnew’
- Replace SUSE specific rpm macros with hand crafted ’systemctl’ commands.
- systems-generators dir needed munging for CentOS7
- Include ‘ChangeLog’ as part of the tar ball - the time/date build on man pages is dependant
* Thu Nov 29 15:42:24 PST 2018 Lee Duncan <[email protected]>
- Many changes to support systemd:
- Removed /etc/init.d/mhvtl script
- Config files are now generated at install time, not the first
time the service is run
- Created service files and templates, and a generator
- Updated INSTALL file with sytemd info
- removed build_library_config and mhvtl init script
- Updated man pages and doc/index.html
- Updated make files
- created generate_device_conf and generate_library_contents, called at
'make install' time, to take the place of what the init file used to do
- updated SPEC file for systemd
- updated example scripts
- fixed asprintf calls to check return values (to make compiler happy)
- added some arguments and better arg parsing to vtltape and vtllibray
- moved some .gitignore entries around, to be more local
- Bumped version to 1.5-5
- Fixed config file error in library_contents.* where VERSION was missing
* Thu Sep 7 2014 Mark Harvey <[email protected]> <[email protected]>
- Bumped version to 1.5-2
- Fix vtllibrary segfault using 'default' emulation
- Correct slot mappings for L180/L700 emulation
- Correct slot mappings for SL500 emulation
- Increase max serial number length to 15 chars
- More accurate emulation of IBM TS3100/3200 inquiry page bits
- Fix bug with 'edit_tape' not understanding the 'null' media type
* Thu May 1 2014 Mark Harvey <[email protected]> <[email protected]>
- Bumped version to 1.5-1
- Fix bug with vpd pages 0x80 & 0x83 in library personality modules.
* Sun Apr 13 2014 Mark Harvey <[email protected]> <[email protected]>
- Bumped version to 1.5-0
- Introduce library personality modules - limited emulations
- Resolve bug with more than 1260 slots
- Rename mhvtl bus type so scsi_debug & mhvtl can load together.
* Sun Oct 20 2013 Mark Harvey <[email protected]> <[email protected]>
- Bumped version to 1.4-10
- Various cleanups due to static code check 'smatch'
- Fix TapeAlert bit offsets
- Return bit/byte offset for sense INVALID FIELD IN CDB/PARAMS
- Fix returned data size when 0 data is requested (kernel module fix)
- SSC - Fix op code 0Fh (read reverse) incorrectly set to 'reserve'
- SMC - Ability to keep library media change persistant across restarts
- SSC - Implement 'read media serial number' op code
- Fix 'make_vtl_media' script to understand IBM 03592 media type
* Thu Aug 29 2013 Mark Harvey <[email protected]> <[email protected]>
- Bumped version to 1.4-9
- SSC -> MODE SELECT overhaul.
- Sanitize delay values introduced in 1.4-8
- daemons now open /dev/mhvtlXX nodes in exclusive mode
- Code cleanup based on Valgrind - memory leaks and unused file handles
- Correctly set SCSI revision field for T10000B
- SMC -> Adjust behaviour if 'Scalar' library defined
set 'BarC' field in inquiry page and
pad "Full Firmware Revision" field with compile time/date
* Sat Jun 29 2013 Mark Harvey <[email protected]> <[email protected]>
- Bumped version to 1.4-8
- Add additional fields in MAM for multi-partition support capability
- MODE SELECT fixes
- Solaris 11.1 st mode select
- Make virtual media more resilient against disk full conditions
- Add additional error checking between kernel and userspace ioctl
- Add ability to introduce delays in load/unload/position/thread/rewind op codes
- Add 16byte CDB locate command support
- Minor kernel module tweeks - increase timeout & error checking on ioctl()
* Fri Mar 22 2013 Mark Harvey <[email protected]> <[email protected]>
- Bumped version to 1.4-7
- Add DLT7000/DLT8000 emulation
- Record 'last load' data in MAM
- New utility 'edit_tape' which will allow modificiation of media 'meta data'
- Prevent and log possibility of READ ELEMENT STATUS overflowing data buffer
- Set 'POWERON-RESET' if library re-configured via HUP signal
- Update 'minor' number from 'unsigned char' to 'unsigned int' which removes
max number of device nodes at 256
- Rework READ ELEMENT STATUS - Simplify code and correct bug where incorrect
byte count returned.
- Add 'support' for specifying 9x40 and DLT media via barcode suffix
- Update kernel module to prevent overflow if DEF_MAX_MINOR_NO reached.
- Update kernel module to allow up to 1024 minor numbers
- Update kernel module vers to 0.18.12, vers date 20130310-0
- off-by-one fix of compression mode page
- Fix 'READ POSITION' ssc op code
- Helper scripts for NetBackup added
- drive_stats.pl (parse 'scsi_command' output and email on tape unload)
- vlt_endeject_notify.pl (NetBackup Vault helper)
* Sat Jan 31 2013 Mark Harvey <[email protected]> <[email protected]>
- Bumped version to 1.4-6
- Return correct TAPE CAPACITY log page
- Fix overflow TAPE CAPACITY log page
- Fix potential vtltape segfault when 'block position back'
- New utility 'edit_tape' to update virtual media metadata
* Sat Jan 12 2013 Mark Harvey <[email protected]> <[email protected]>
- Bumped version to 1.4-5
- Added support for LTO-6
- Fix EOM handling
- Fix data returned in TAPE CAPACITY log page
* Thu Sep 13 2012 Mark Harvey <[email protected]> <[email protected]>
- Bumped version to 1.4-4
- Fix a build issue on older (SLES9) linux distributions
- Silence a compiler warning about uninitialised var 'month' in quantum PM
- Note: 1.4-2 & 1.4-3 never made it as released packages.
* Wed Sep 12 2012 Mark Harvey <[email protected]> <[email protected]>
- Bumped version to 1.4-3
- Add 'performance' counter to vtllibrary
- Fix off-by-one error in LOG SELECT
- Implement LOG reset via PCR bit in LOG SELECT
* Sat Sep 01 2012 Mark Harvey <[email protected]> <[email protected]>
- Bumped version to 1.4-2
- Add 'performance' counter to each SCSI op code logged
* Wed Aug 08 2012 Mark Harvey <[email protected]> <[email protected]>
- Bumped version to 1.4-1
- Bug fix:
Fix dump_tape to understand new library subdirectory format
Fix vtlcmd to understand new library subdirectory format
* Wed Aug 01 2012 Mark Harvey <[email protected]> <[email protected]>
- Bumped version to 1.4-0
- Allow 'default' personality module to load all media R/W
- Add IBM half-hight INQUIRY string match
- vtltape: Update log entry regarding media capacity depending on capabilities
- vtltape: Make the backoff algrithm value configurable
- Add SDLT600 & SDLT320 personality module
- mhvtl.ko: Silence install 'depmod' error
- Move standard inquiry info into memory structure
- Default media belonging to a library in a subdir
- Remove kmod-mhvtl.spec
- Rename 'mhvtl' package as 'mhvtl-utils'
- Use ELRepo spec file
- Move 'make install' from RPM to Makefile
* Fri Jun 15 2012 Mark Harvey <[email protected]> <[email protected]>
- Bumped version to 1.3-0
- Move 'on disk' unique functions into its own shared lib (libvtlcart.so)
- HP Ultrium VPD page data update to match HP documentation
- IBM Ultrium VPD page 0xC0 & 0xC1 update to match IBM documentation
- Fix SPIN return status
- Add helper functions for moving media within library
(in prep for library partition manager)
- Add ability to set/clear APPEND ONLY status from user (vtlcmd)
* Wed Apr 04 2012 Mark Harvey <[email protected]> <[email protected]>
- Bumped version to 1.2-3
- Fix segfault in AIT4 when attempting to access Security Protocol IN/OUT
- No need to fail in virtual media parent directory exists
- Add more descriptive debug messages for log/mode page lookups
* Thu Mar 22 2012 Mark Harvey <[email protected]> <[email protected]>
- Bumped version to 1.2-2
- Changed defaults so fifo is not enabled. If fifo not used, it will
block writing process (i.e. hang daemons)
- Improved MODE SELECT / SENSE to support 'changeable field bitmaps
- Started implementing ALLOW OVERWRITE support (incomplete)
- Fixed INQUIRY string match for STK T10000A
* Sat Jan 21 2012 Mark Harvey <[email protected]> <[email protected]>
- Bumped version to 1.2-1
- Fix memory leak in lzo decompression routine.
* Fri Jan 20 2012 Mark Harvey <[email protected]> <[email protected]>
- Bumped version to 1.2-0
- Ability to specify zlib or lzo compression.
via 'vtlcmd' at runtime.
'vtlcmd <> compression lzo'
'vtlcmd <> compression zlib'
/etc/mhvtl/device.conf entry
' Compression type: lzo'
' Compression type: zlib'
* Sat Dec 24 2011 Mark Harvey <[email protected]> <[email protected]>
- Bumped version to 1.1-1
- Clean up IPC resources when finished with them
- Simplify fifo reference counting
- Start including Scientific Linux patches (Still need to include kmod RPM)
- Fix 'make install' on Ubuntu
- Various log message cleanups
* Sun Oct 09 2011 Mark Harvey <[email protected]> <[email protected]>
- Bumped version to 1.1
- Added real time state notification.
'-f <fifo name>' (Set in build_library_config)
Defaults to all daemons using the same 'named pipe'
Each entry is prefixed with '<index>:' and text to the change of state.
- MODE SENSE for LTO devices update the 'media type' field.
- LOG SENSE page 0x0c (Sequential Access Device Page) updates with valid data
* Sun Sep 11 2011 Mark Harvey <[email protected]> <[email protected]>
- Bumped version to 1.0.1
- Added mode page 25h (vendor specific) for IBM LTO3/4/5
This allows the Windows IBM Tape Driver to load correctly (connected via
iSCSI)
- Attempt to correct file permission/ownership when media is created manually
- A HUP signal to the vtllibrary daemon will cause it to re-read its config
from the /etc/mhvtl/library_contents.XX file. (So you can change the slot
config without having to re-start the daemon).
* Sun Sep 04 2011 Mark Harvey <[email protected]> <[email protected]>
- Bumped version to 1.00.00
- Re-worked MODE SENSE/SELECT data structures into a linked list.
- Re-worked LOG SENSE/SELECT data structures into a linked list.
- Added support for sub-page MODE information.
- Added STK 9x40 drive emulations.
- Removed dead code from kernel driver.
- Add working REPORT DENSITY support to the SSC.
This change required the personality modules to define the list of supported
densities. The media density is defined at 'mktape' time.
Hence, the optional 'media load' rules in device.conf are now redundent
and not used.
BUT: The option to load any media into any drive is also gone.
* Sat Jun 25 2011 Mark Harvey <[email protected]> <[email protected]>
- Bumped version to 0.18.17
- Improvements
- Kernel module compile warning since 2.6.33
- Bug fixes
- Test MAP port open before moving media
- Fix buffer overflow in vtllibrary (product_id)
- Return correct sense from space op code
* Sun May 22 2011 Mark Harvey <[email protected]> <[email protected]>
- Bumped version to 0.18.16
- Improvements
- Cleaning media behaves more like real (IBM LTO4) drive.
- Implement OPEN/CLOSE IMPORT/EXPORT element OP code (Thanks Sebastian)
- Kernel module support for 2.6.39 (Thanks Sebastian)
- Bug fixes
- SPACE op code - Space to end-of-data fixed (Thanks Sebastian)
This fixes an issue triggered using Oracle Backup
- REQUEST SENSE - Return correct data.
- SPOUT - Return check_condition on some error paths
- Cleaning Media - Return 'not ready' instead of 'good' when loaded
- Don't write FILEMARKS to WORM or Cleaning media
* Wed May 04 2011 Mark Harvey <[email protected]> <[email protected]>
- Bumped version to 0.18.15
- Improvements
- Implemented 'Personality Module' for each drive type
(many cleanups due to 'PM' change fallout thanks to Sebastian)
- Increase max barcode length to 16 chars
- Bug fixes
- Inquiry no longer incorrectly reports support for TrmIOP and CmdQue
- Fixed block read/writes corruption if 'multiple blocks' specified
- Fix Device Capabilities mode page - Don't advertise EXCHANGE MEDIUM support
* Thu Mar 17 2011 Mark Harvey <[email protected]> <[email protected]>
- Bumped version to 0.18.14
- Bug fixes:
- kernel module build fixes for Linux kernel 2.6.37 and greater
- Improvements
- Add STK T10000C media/drive support
- Always log 'fatal' errors
- Cleanup to mhvtl.spec
- Catch signals to prevent daemon terminating early.
* Thu Jan 11 2011 Mark Harvey <[email protected]> <[email protected]>
- Bumped version to 0.18.13
- Bug fixes:
- SMC read element status. Return correct length.
- SMC read element status. Handle request for 'any' slot type.
- SSC log page. Byte-swap Bytes Read/Written.
- vtltape: Return ILLEGAL REQUEST for unsupported OP codes.
- Density code updates.
- Increased sense buffer from 38 bytes to 96 bytes.
* Wed Nov 17 2010 Mark Harvey <[email protected]> <[email protected]>
- Bumped version to 0.18.12
- Bug fixes:
- Silence 'which setuidgid' test
- Fix compile on 2.6.34 kernel
- ERASE only from BOT
- Test SPACE '0' blocks/filemarks before moving
- Fix REQUEST SENSE returned size
- Implement SILI bit test
- Check if ERASE WORM media is allowed
- Only support SPIN/SPOUT for LTO-4/5, T10K and 3592E05/6 drive types
- Fix REQUEST SENSE page length. Previously only returning 8 bytes.
- Improvements
- Re-organised code in vtllibrary to use a big jump table
- Fix LTO5 media density reporting
- Match HP ULTRIUM 4-SCSI
- Ability to create DDS specific media
(still need to find correct density codes for DDS)
* Thu Sep 23 2010 Mark Harvey <[email protected]> <[email protected]>
- Bumped version to 0.18.11
- Bug fix: Off-by-one if a re-position & then overwrite a filemark.
Caused TSM & HP Dataprotector all sorts of problems.
- Export kernel module 'major' number via /sys/bus/pseudo/drivers/mhvtl/major
- Remove external script to create device nodes. Each daemon creates its own
device node at startup. Uses 'kernel module' major no. sys interface.
- Fix potential NULL pointer usage in REQUEST SENSE
- VPD page 0x83 NAA field fix
- VPD page length fix (only 0x50 bytes in size not 0x52)
- Hopefully removed last reference to /proc
- Use setuidgid if availble instead of 'su $USER -c <vtltape|vtllibrary>'
- Add kernel module RPM spec file for RedHat
- Add Gentoo build
* Wed Sep 01 2010 Mark Harvey <[email protected]> <[email protected]>
- Bumped version to 0.18.10
- Correct incorrect usage of & vs &&
- Fix TapeAlert.
Error where the flags were not being set due to an earlier change.
- Add extra verbage around positioning information. Trying to track down
a problem with HP Dataprotector when it spaces back a block.
- Make tape media & drive type loading logs more readable.
- New utility 'tapeexerciser' which I've been using to track down the
Dataprotector issue. A simple & basic 'st ioctl()' test utility.
- Fix 'is vtl running' logic in rc script. Was broken if USER == root
* Wed Jul 09 2010 Mark Harvey <[email protected]> <[email protected]>
- Bumped version to 0.18.9
- Fix WORM media support - Bug report from Albert Pauw
- Complete LTO5 media support
* Wed Jun 23 2010 Mark Harvey <[email protected]> <[email protected]>
- Bumped version to 0.18.8
- Several Security Protocol IN updates - thanks Albert Pauw
* Return certificate data
* Correct length for 'KEY FORMATS'
* Correct length for SPIN SUPPORTED PAGES
- Fix kernel compile on RedHat AS4
- Media/drive matching now 'dynamic' and defined in device.conf
- Added man page for device.conf
- Fix media corruption when media is 'formatted'
- Add LTO5 & SDLT-S4 drive/media types
- Handle INQUIRY correctly after media change (return SAM_STAT_GOOD)
- Updated rc script so all devices created on Target & LUN. i.e. Don't use
channel. Some application software has trouble if only the channel is unique.
* Sat May 08 2010 Mark Harvey <[email protected]> <[email protected]>
- Bumped version to 0.18.7
- Allow media sizes larger than 2G on 32bit platforms
- Implement STK vendor unique op code 'LOAD DISPLAY' -> logs via syslog.
- Fix core dump on invalid data in NAA strings.
- Support VENDOR ID for SMC device with embedded spaces
* Thu May 02 2010 Mark Harvey <[email protected]> <[email protected]>
- Bumped version to 0.18.6
- Support VENDOR ID with embedded spaces
- Fix 'vtlcmd list map'
- Fix import of media via MAP (off-by-one)
- Return TapeCapacity LOG SENSE in bytes/KB/MB depending on drive type
- Honour MAP status (return error if MAP is open and robot attempts to
move media in/out of MAP)
- General cleanup of kernel module (thanks to Herbert Stadler)
- Relax dependencies on /proc in faviour of /sys
* Thu Apr 01 2010 Mark Harvey <[email protected]> <[email protected]>
- Bumped version to 0.18.5
- Silence warning regarding local_irq_save() - Thanks to Norm Lunda
- Re-work param parsing used by vtlcmd - Thanks to Herbert Stadler
- Fix homepage URL
* Fri Mar 05 2010 Mark Harvey <[email protected]> <[email protected]>
- Bumped version to 0.18.4
- Fix syntax in rc script. Reported by Nabil
That's what I get for rushing a fix out (ELEMENT STATUS) without testing
everything..
* Thu Mar 04 2010 Mark Harvey <[email protected]> <[email protected]>
- Bumped version to 0.18.3
- Test media mounted before REWIND (TSM seems to ignore previous TUR)
- Make creation of media home dir more robust
- Add queue depth callback - Defaults to 32.
- Conversion script of old config files to new format
- Fix problem with size of ELEMENT STATUS DATA length. Thanks to Norm Lunde.
* Thu Jan 28 2010 Mark Harvey <[email protected]> <[email protected]>
- Bumped version to 0.18.2
- Add support for multiple libraries on single host
- pack MAM struct so it's 1024 bytes on both 32 & 64bit hosts
- Updated URL after google moved it
* Wed Dec 16 2009 Mark Harvey <[email protected]> <[email protected]>
- Bumped version to 0.16.11
- Add tests for media/drive type. i.e. Only allow LTO media in LTO drives.
- New defination for 'Compression:' in device.conf (Thanks Kevan Rehm)
' Compression: factor [1-9] enabled [0|1]'
Where factor : 1 Fastest compression -> 9 Best compression
enabled : 0 => Compression disabled, 1 => Compression enabled
* Tue Dec 15 2009 Mark Harvey <[email protected]> <[email protected]>
- Bumped version to 0.18.1
- Fix data silent data corruption.
- Add tests for media/drive type. i.e. Only allow LTO media in LTO drives.
- Increased max number of LUNs from 7 to 32
- Changed ' Compression: factor X enabled Y' to same as 0.16 branch.
' Compression: factor [1-9] enabled [0|1]'
Where factor : 1 Fastest compression -> 9 Best compression
enabled : 0 => Compression disabled, 1 => Compression enabled
* Tue Dec 01 2009 Mark Harvey <[email protected]> <[email protected]>
- Bumped version to 0.18.0
- Kevan Rehm reworked media format. The 'old' format suffered from performance
problems. The larger the defined tape capacity, the longer it took to
seek/position due to the sequential walk of header structures.
The new tape format consists of three files.
.data - Data file.
.indx - Arrary of one header structure per written tape block or filemark.
.meta - MAM, followed by meta header structure, followed by variable length
of filemark block numbers
Each Physical Cartridge Label (PCL) is located under its own directory
MHVTL_HOME_PATH/<PCL>/
* Sun Nov 29 2009 Mark Harvey <[email protected]> <[email protected]>
- Bumped version to 0.16.9
- Check string length in device.conf and abort if too long.
- Compression now working.
Set up via MODE SELECT op code.
Set default compression in device.conf 'Compression: X'
Where 0 is off, 9 is max.
- Defaults with SPECTRA/PYTHON library
- Fix kernel module compile on 2.6.31+ (Ubuntu 9.10)
- Fix kernel silent data corruption
- Set kernel ENABLE_CLUSTERING to enable > 512k blocks on x86_64
- SPIN/SPOUT: Return correct list of supported pages.
* Tue Nov 10 2009 Mark Harvey <[email protected]> <[email protected]>
- Bumped version to 0.16.8
- Reworked READ ELEMENT STATUS (Thanks to Kevan Rehm)
- Fix EOD header size.
- Makefile rework.
Honour PREFIX & DESTDIR.
User/group name defined.
Home paths for data files & config files defined.
Add compression support (disabled by default).
* Thu Oct 9 2009 Mark Harvey <[email protected]> <[email protected]>
- Bumped version to 0.16.7
Fix REPORT ELMEMENT STATUS for All elements. TSM was core dumping.
Reported and fixed by Bernardo Clavijo.
Re-worked Media Access Port.
Now requires 'vtlcmd library open map' before media can be removed and
'vtlcmd library close map' for the Medium Transport Element to place
media into the MAP.
* Thu Oct 1 2009 Mark Harvey <[email protected]> <[email protected]>
- Bumped version to 0.16.6
Fixed output of 'dump_tape' utility
* Wed Sep 16 2009 Mark Harvey <[email protected]> <[email protected]>
- Bumped version to 0.16.5
Fixed verbosity test in MHVTL_DBG macro (again)
* Tue Sep 15 2009 Mark Harvey <[email protected]> <[email protected]>
- Bumped version to 0.16.4
More logging cleanups
Fixed verbosity test in MHVTL_DBG macro
* Wed Sep 02 2009 Mark Harvey <[email protected]> <[email protected]>
- Bumped version to 0.16.3
Reworked logging using a macros MHVTL_DBG.
Increased max block size to kernel max (from 256k)
* Sat Aug 15 2009 Mark Harvey <[email protected]> <[email protected]>
- Bumped version to 0.16.2
Changed/updated load MAP() functionality.
Previous implementation re-read config file and parsed the MAP slots.
This is 'interactive' using the vtlcmd command.
e.g. vtlcmd library load map BARCODE
Corrected NAA field in VPD page 0x83. This was a hard coded string.
Now reads entry from /etc/mhvtl/device.conf
' NAA: 11:22:33:44:ab:cd:ef:03' (8 octet value)
Remove dependency on sg3_utils
* Wed Aug 05 2009 Mark Harvey <[email protected]> <[email protected]>
- Bumped version to 0.16.1
Fixed kernel module oops on lu removal - Many thanks to Jean-Francois
Added loadMap() to vtllibrary.
* Tue Jul 09 2009 Mark Harvey <[email protected]> <[email protected]>
- Bumped version to 0.16.0
- Moved INQUIRY into userspace.
Re-jigged all helper scripts.
Still need to do dynamic config of : vpd pages & mode pages.
- Added pseudo encryption support (SPIN/SPOUT op codes)
- kernel module will oops if unloaded and re-loaded..
* Fri Jan 02 2009 Mark Harvey <[email protected]> <[email protected]>
- Bumped version to 0.15.10
- Removed kfifo from data path for SCSI OP codes which originate at the target
- Add simple SCSI Persistent Reserve
- Major change to kernel module. Replaced queued_command_arr[] with linked list
* Thu Nov 27 2008 Mark Harvey <[email protected]> <[email protected]>
- Bumped version to 0.15.9
- Re-fixed WRITE ATTRIBUTE bug forcing a rewind of media.
- Fixed build for PPC64 platform
- Add special reserved barcode 'NOBAR' to indicate a slot is full but
contains no barcode.
* Fri Nov 21 2008 Mark Harvey <[email protected]> <[email protected]>
- Bumped version to 0.15.8
- Added initial SECURITY PROTOCOL code
* Tue Nov 19 2008 Mark Harvey <[email protected]> <[email protected]>
- Bumped version to 0.15.7
- Merge READ ATTRIBUTES fixes from Raymond Gilson
* Sun Nov 16 2008 Mark Harvey <[email protected]> <[email protected]>
- Bumped version to 0.15.6
- Fixed bug where WRITE ATTRIBUTE was causing media to rewind.
- Increase default buffer size of SMC from 512k to 1024k - Ability to handle
more (twice the) slots
* Fri Nov 14 2008 Mark Harvey <[email protected]> <[email protected]>
- Bumped version to 0.15.5
- sg structure changed between 2.6.23 and 2.6.24 causing the kernel module
to no longer build on latest kernel.
* Fri Apr 04 2008 Mark Harvey <[email protected]> <[email protected]>
- Bumped version to 0.15.4
- Kernel module change. Default type is SDLT600 instead of IBM TD3 as there is
confusion on the windows side of things regarding IBM Drivers vs IBM for
Tivoli vs Symantec Tape Drivers.
Maybe the QUANTUM SDLT600 will behave better ??
Only time will tell...
* Fri Mar 28 2008 Mark Harvey <[email protected]> <[email protected]>
- Bumped version to 0.15.3
- Return 'block descriptor data' on a MODE SENSE 'page 0' instead of an error.
* Mon Mar 10 2008 Mark Harvey <[email protected]> <[email protected]>
- Bumped version to 0.15.2
Re-org of the source code.
- Placed user-space code in directory ./usr
- Moved kernel drivers from ./kernel-driver/linux-2.6 to ./kernel
Yet another 'tunable' option. Set the firmware release to "string" by
# echo "5400" > /sys/bus/pseudo/drivers/vtl/firmware
* Thu Mar 06 2008 Mark Harvey <[email protected]> <[email protected]>
- Bumped version to 0.15.1
Ability to define default media size in /etc/vtl/vtl.conf
* Wed Mar 05 2008 Mark Harvey <[email protected]> <[email protected]>
- Name change as 'vtl' is was deemed too generic.
Renamed to 'mhvtl' as this is being used by Symantec's Roseville office and
is as good a name as any.
- With the new name comes a new version 0.15.0
* Tue Feb 19 2008 Mark Harvey <[email protected]> <[email protected]>
- Bumped version to 0.14.1
Cleaned up compile time warnings on x86_64 platform.
Added sg_utils and zlib as RPM 'requires' packages.
* Thu Feb 14 2008 Mark Harvey <[email protected]> <[email protected]>
- Bumped version to 0.14.0
- With the ability to define device serial numbers, I thought it was time
to increase vers from 0.12 to 0.14
- Cleaned up helper scripts.
* Fri Feb 08 2008 Mark Harvey <[email protected]> <[email protected]>
- Bumped vers to 0.12.37
- Added ability to set serial number via new utility 'vtl_set_sn -q X'
The serial number is read from /etc/vtl/library_config for each 'Drive X:'
e.g.
Drive 2: SN20034
Drive 3: SN20035
If there is no serial number defined in library_config file, and the
serial prefix has been set, then this will be used. Otherwise the old &
trusted method of calculating based on HBA#, ID# & LUN.
* Wed Feb 06 2008 Mark Harvey <[email protected]> <[email protected]>
- Bumped vers to 0.12.36
- Added another config file /etc/vtl/vtl.conf
- Added ability to set a serial number prefix for devices.
- Added ability to set the buffer size used by SSC devices.
- Added ability to set/clear logging levels within vtl.conf
* Sat Feb 02 2008 Mark Harvey <[email protected]> <[email protected]>
- Bumped vers to 0.12-35
- Fix post uninstall
check for group & passwd entries before attempting to run groupdel/userdel
* Sat Jan 08 2008 Mark Harvey <[email protected]> <[email protected]>
- Bumped vers to 0.12-34
Changes to kernel module & rc scripts.
- Default kernel module load reporting the library only.
- The rc scripts now update the number of required tape devices depending on
the contents of /etc/vtl/library_contents
- Using the max_luns or num_tgts the library can consist of different drives
or all the same drive type.
- Deleted x86_64 patch as it is no longer needed.
* Fri Jan 04 2008 Mark Harvey <[email protected]> <[email protected]>
- Reserved vers 0.12-33
A special build with only 5 IBM drives.
* Wed Dec 19 2007 Mark Harvey <[email protected]> <[email protected]>
- Bumped vers to 0.12-32
- Changed user 'vtl' home directory to /opt/vtl
Otherwise there can be problems starting the vtl s/w if /home is an
automount and can't mount /home.
- Changed kernel module Makefile
To compile on Debian or Ubuntu systems "make ubuntu=1"
To compile on SuSE or RedHat systems "make"
* Tue Oct 16 2007 Mark Harvey <[email protected]> <[email protected]>
- Bumped vers to 0.12-31
- No code changes. As sysdup has crashed and management have decided not to
replaced the two failed drives in the RAID 5 system, I've changed the
home of this project to my google homepage.
* Tue Oct 16 2007 Mark Harvey <[email protected]> <[email protected]>
- Bumped vers to 0.12-30
- vtl kernel module: - bumped to 0.12.14 20071015-0
- Another bug fix in the kernel module. This time copying data from user-space
in an unsafe manner. Last reason for kernel oops ??
- Make library module startup more robust by clearing out message Q at start
time.
- Set vtl startup to 'on' at package install time.
* Wed Oct 10 2007 Mark Harvey <[email protected]> <[email protected]>
- Bumped vers to 0.12-28
- vtl kernel module: - bumped to 0.12.14 20071010-0
- Many updates to error handling condition.
* Wed Sep 26 2007 Mark Harvey <[email protected]> <[email protected]>
- Bumped vers to 0.12-26
- vtl kernel module: - bumped to 0.12.14 20070926-0
Moved memory alloc from devInfoReg() to vtl_slave_alloc() - I now don't get
those horrible "Debug: sleeping function called from invalid context"
* Tue Sep 25 2007 Mark Harvey <[email protected]> <[email protected]>
- Bumped vers to 0.12-25
- Resolved an issue where virtual media was being corrupted when performing
erase operation.
* Sat Sep 22 2007 Mark Harvey <[email protected]> <[email protected]>
- Bumped vers to 0.12-24
- On corrupt media load, return NOT READY/MEDIUM FORMAT CORRUPT
* Fri Sep 21 2007 Mark Harvey <[email protected]> <[email protected]>
- Bumped vers to 0.12-23
- vtl kernel module bug fix - resolved a race condition with my usage of
copy_to_user()/copy_from_user() and c_ioctl() routines.
Thanks to Ray Schafer for finding and being able to reproduce race.
* Fri Aug 24 2007 Mark Harvey <[email protected]> <[email protected]>
- Bumped vers to 0.12-22
- Set correct directory ownership and permissions at post install time
for /opt/vtl
* Wed Aug 01 2007 Mark Harvey <[email protected]> <[email protected]>
- Bumped vers to 0.12-21
- Corrected warnings identified by sparse
* Sat Apr 07 2007 Mark Harvey <[email protected]> <[email protected]>
- Bumped vers to 0.12-20
- Calls to tune kernel behaviour of out-of-memory always return 'success'.
Found out the hard way, earlier kernel versions do not support this feature.
- Added check for return status from build_library_config in rc script
* Sat Mar 31 2007 Mark Harvey <[email protected]> <[email protected]>
- Bumped vers to 0.12-19
- Added conditional x86_64/amd64 to vtl.spec so it builds correctly on x86_64
platforms.
* Wed Mar 28 2007 Mark Harvey <[email protected]> <[email protected]>
- Bumped vers to 0.12-18
- Improved (slightly) checking of MAM header on media open.
At least made it 32/64 bit friendly.
* Thu Mar 24 2007 Mark Harvey <[email protected]> <[email protected]>
- Bumped vers to 0.12-17
- Added 'Out Of Memory killer tuning to both vtltape and vtllibrary.
- Added 'tags' as a target in Makefile, i.e. 'make tags'
TAGS will be removed with a 'make distclean'
* Thu Mar 13 2007 Mark Harvey <[email protected]> <[email protected]>
- Bumped vers to 0.12-16
- Added -D_LARGEFILE64 switch to Makefile to allow a more portable way of
opening files > 2G. There should be no need for the x86_64 patch any more.
Needs testing.
* Thu Feb 22 2007 Mark Harvey <[email protected]> <[email protected]>
- Bumped vers to 0.12-14
- Added 'ERASE(6)' command as a result of bug report from Laurent Dongradi.
NetBackup "bplabel -erase -l " command failing.
* Thu Sep 07 2006 Mark Harvey <[email protected]> <[email protected]>
- Bumped vers to 0.12-13
- Just updated some time/date in kernel module. Nothing major.
* Tue Sep 05 2006 Mark Harvey <[email protected]> <[email protected]>
- Bumped vers to 0.12-12
Shared library (libvxscsi.so) conflict with Symantec VRTSvxvm-common-4.1.20
so I've renamed mine to libvtlscsi.so
Should build correctly on an x86_64 RPM system now.
* Thu Aug 31 2006 Mark Harvey <[email protected]> <[email protected]>
- Bumped vers to 0.12-10 (skipped numbering between -5 & -10
Changed interface between user-space and kernel, hence need kernel module
version 0.12.10
The change is to support 'auto sense', where the sense buffer is sent straight
after the data (if sense data is valid).
Need to fix: Way of specifying size of sense buffer. Currently defined in
kernel src (vtl.c) and user-space header vx.h. It would be nice to have this
defined in one place only.
- Updated rc script to check kernel version before starting user-space daemons.
* Wed Jul 05 2006 Mark Harvey <[email protected]> <[email protected]>
- Bumped vers to 0.12-5
- Updated man pages to reflect name changes from vxtape/vxlibrary to
vtltape/vtllibrary
- Removed any vxtape/vxlibrary binaries from build process
* Tue Jul 04 2006 Mark Harvey <[email protected]> <[email protected]>
- Bumped vers to 0.12-4
- Fixed (Well tested) kernel makefile compile on SLES 9 and suse 9.3
i.e. Kernel versions 2.6.5-7.191-smp & 2.6.11.4-21.12-smp
Hacked scsi.h include file and added #if KERNEL_VERSION conditional compile
around kfifo.[ch] if below 2.6.10
- Attempt to improve install/startup on RedHat AS4 + SLES9
* Sun Jul 02 2006 Mark Harvey <[email protected]> <[email protected]>
- Bumped vers to 0.12-0
- Forked this version from main tree. Main branch is 0.13.x which will continue
to be work-in-progress for removal of kfifo routines.
- 0.12-x is to be current 'stable' branch.
* Fri May 19 2006 Mark Harvey <[email protected]> <[email protected]>
- Bumped vers to 0.10-13
- Added TapeUsage & TapeCapacity log parameters. Even thou I'm specifying these
pages are not supported, BackupExec still probes for them and barfs on the
scsi error returned.
* Thu May 18 2006 Mark Harvey <[email protected]> <[email protected]>
- Bumped vers to 0.10-12
- Re-worked the READ ELEMENT STATUS command with the idea of adding the extra
options which appear to be required by BackupExec.
* Wed May 10 2006 Mark Harvey <[email protected]> <[email protected]>
- Bumped vers to 0.10-10
- Fixed bug introduced in vtllibrary where I broke the inventory function.
* Tue May 09 2006 Mark Harvey <[email protected]> <[email protected]>
- Changed poll of 'getting SCSI command' to use ioctl instead of kfifo.
Requires kernel module dated > 20060503-0
* Sun Apr 30 2006 Mark Harvey <[email protected]> <[email protected]>
- Fixed typo in rc script where trying to set permissions on /dev/vx? instead
of /dev/vtl?
* Sat Apr 29 2006 Mark Harvey <[email protected]> <[email protected]>
- Changed logic on WIRTE-FILEMARK SCSI command. Now only attempts to write
filemarks if greater the 0 filemarks specified.
- Added check for SuSE-release and use '{user|group}add --system' switch
otherwise {user|group}add without the --system switch.
- Bumped version to 0.10-6
* Thu Apr 27 2006 Mark Harvey <[email protected]> <[email protected]>
- Seek to EndOfData bug where the tape daemon would loop over the last block
and never return.
* Sat Apr 5 2006 Mark Harvey <[email protected]> <[email protected]>
- Changed the kernel module from 'vx_tape' to vtl (no real impact to user space
- daemons) however changing /dev/ entries from /dev/vx? to /dev/vtl due to name
- space clash with VERITAS StorageFoundation (VxVM/VxFS)
* Sat Apr 1 2006 Mark Harvey <[email protected]> <[email protected]>
- Bumped version to 0.9 as this has the start of a working Solaris port.
* Thu Mar 24 2006 Mark Harvey <[email protected]> <[email protected]>
- Added extra logging for mode_sense command if verbose > 2
* Thu Mar 10 2006 Mark Harvey <[email protected]> <[email protected]>
- Start of Solaris kernel port.
- Moved kernel driver into seperate subdir.
- Added some 'ifdef Solaris' to source code.
* Thu Feb 22 2006 Mark Harvey <[email protected]> <[email protected]>
- Added check to make sure RPM_BUILD_ROOT is not / when attempting to remove.
- Shutdown daemons before package removal
* Thu Feb 16 2006 Mark Harvey <[email protected]> <[email protected]>
- Added ALLOW/DENY MEDIUM REMOVAL SCSI cmd to vxlibrary daemon.
- Added Extend/Retract checking to MOVE MEDIUM SCSI cmds.
* Thu Feb 14 2006 Mark Harvey <[email protected]> <[email protected]>
- Made RPM create system account of 'vtl' & group of 'vtl' before install.
* Thu Feb 11 2006 Mark Harvey <[email protected]> <[email protected]>
- bump vers from 0.7 to 0.8
- Rename /opt/vx_media to /opt/vtl
- Rename /etc/vxlibrary to /etc/vtl
- RPM install now creates vtl user & group
- rc script now installs a default library config file in /etc/vtl/
* Thu Feb 2 2006 Mark Harvey <[email protected]> <[email protected]>
- Teach me for not testing fully. Resolved bug where no data was written.
* Thu Feb 2 2006 Mark Harvey <[email protected]> <[email protected]>
- Improvements to handling of cleaning media.
* Wed Jan 3 2006 Mark Harvey <[email protected]> <[email protected]>
- Added a new man page vtl, which aims to document how this package hangs
together.
- Corrected a couple of hard-coded paths in rc scripts
* Wed Jan 3 2006 Mark Harvey <[email protected]> <[email protected]>
- Moved source man pages into separate man directory.
- Updated version of user-mode utilities to that of the kernel module (v0.7)
* Tue Jan 3 2006 Mark Harvey <[email protected]> <[email protected]>
- Added man pages.