Tom Stewart
Guest
|
Posted:
Tue Jul 06, 2004 7:41 pm Post subject:
Bug in DLTTAPE.SYS -- no EOT warning? |
|
|
In our backup code, when writing to tape we get an error 1129 (ERROR_EOM_OVERFLOW) instead
of an 1100 (ERROR_END_OF_MEDIA). At this point it's too late to close the session with a
WriteTapemark call.
If we query the drive/driver using GetTapeParameters with TAPE_GET_DRIVE_PARAMETERS we see
an EOTWarningZoneSize of 0, and also a TAPE_DRIVE_SET_EOT_WZ_SIZE of false. However, if we
ignore this bit and call SetTapeParameters with a non-zero EOTWarningZoneSize, the call
returns success. However, if we call GetTapeParameters again, the reported
EOTWarningZoneSize is still 0. However, if we now run a backup, we do get an EOT warning and
can successfully call WriteTapemark.
What gives? Testing has been done on a DLT8000. Same model connected to a machine running
our proprietary OS always reports EOT properly. Is this problem specific to DLT or endemic
to Windows (been tested on 2000 and 2003)?
It would be feasible to write workaround code if all the setting and reporting API's
functioned consistently, but they don't (just count the Howevers two paragraphs up...).
Please help.
--
Tom |
|
Tom Stewart
Guest
|
Posted:
Wed Jul 07, 2004 6:40 pm Post subject:
Re: Bug in DLTTAPE.SYS -- no EOT warning? |
|
|
I note someone else had a very similar question back in 2002:
http://groups.google.com/groups?selm=3c4c16ab%240%2489110%24edfadb0f%40dspool01.news.tele.dk&output=gplain
But no answer then. Help!
--
Tom
"Tom Stewart" <tastewar@newsgroups.nospam> wrote in message
news:OIi32%232YEHA.2432@tk2msftngp13.phx.gbl...
| Quote: | In our backup code, when writing to tape we get an error 1129 (ERROR_EOM_OVERFLOW) instead
of an 1100 (ERROR_END_OF_MEDIA). At this point it's too late to close the session with a
WriteTapemark call.
If we query the drive/driver using GetTapeParameters with TAPE_GET_DRIVE_PARAMETERS we see
an EOTWarningZoneSize of 0, and also a TAPE_DRIVE_SET_EOT_WZ_SIZE of false. However, if we
ignore this bit and call SetTapeParameters with a non-zero EOTWarningZoneSize, the call
returns success. However, if we call GetTapeParameters again, the reported
EOTWarningZoneSize is still 0. However, if we now run a backup, we do get an EOT warning
and
can successfully call WriteTapemark.
What gives? Testing has been done on a DLT8000. Same model connected to a machine running
our proprietary OS always reports EOT properly. Is this problem specific to DLT or endemic
to Windows (been tested on 2000 and 2003)?
It would be feasible to write workaround code if all the setting and reporting API's
functioned consistently, but they don't (just count the Howevers two paragraphs up...).
Please help.
--
Tom
|
|
|