This is the mail archive of the cygwin mailing list for the Cygwin project.
Index Nav: | [Date Index] [Subject Index] [Author Index] [Thread Index] | |
---|---|---|
Message Nav: | [Date Prev] [Date Next] | [Thread Prev] [Thread Next] |
Other format: | [Raw text] |
On Aug 17 20:35, bartels wrote: > Hello People, > > I have here two SAS connected LTO-5 drives: one IBM and one HP. > > Both drives work work fine, but sadly mt does not. > The size reported by mt is a meager 35 GB, instead of the expected 1.5TB > > I have tried both an older 32 bit and the 'current' 64 bit cygwin: same result. > > Writing to tape works fine with tar, but the tape is quickly considered 'full'. > Is there any hope of fixing this? LTO-6 is already out there. I don't know. Cygwin uses the Win32 tape API. The OS function GetTapeParameters returns the capacity and the # of remaining bytes as 8 bytes LARGE_INTEGER value. The size of LT)-5 or LTO-6 should fit easily into that. I just checked that the value is stored within Cygwin as 8 byte long long value, so no problem there. The mt tool prints the value as %lld value, so it should print it correctly as 8 byte value. From what I can see, the wrong value *seems* to be returned by the OS. Also, the write(2) function does not check for the remaining bytes, so I wonder why tar should fail prematurely, unless there's a problem with the block number. The OS function GetTapePosition returns the current block number as LARGE_INTEGER, but Cywin stores it in a 32 bit int. So the block number overflows after 4 billion blocks. But even with a small blocksize of 512 bytes this would only occur at about 2 TB of data, long after the end of the tape. Despite that this is more of a theoretical problem, the mtop struct to pass parameters to ioctl(fd, MTIOCTOP, ...) only allows 4 byte count values anyway, even on Linux. Another potential problem is if you try to use blocksizes > 64K. I don't know if that's still a problem in newer Windows versions, but with older versions including Windows XP, the OS didn't handle blocksizes > 64K correctly and we got spurious error messages. Something about this should be in the mailing list archives of old. But the bottom line is, I have no way to test and debug that, since I don't have access to an LTO-5 drive, nor do I have a Windows machine with SAS controller. However, since Cygwin as well as the mt tool are Open Source, maybe you can have a look and debug this issue? Thanks, Corinna -- Corinna Vinschen Please, send mails regarding Cygwin to Cygwin Maintainer cygwin AT cygwin DOT com Red Hat
Attachment:
pgp4wMoZe4Eh9.pgp
Description: PGP signature
Index Nav: | [Date Index] [Subject Index] [Author Index] [Thread Index] | |
---|---|---|
Message Nav: | [Date Prev] [Date Next] | [Thread Prev] [Thread Next] |