LinearTapeFileSystem / ltfs

Reference implementation of the LTFS format Spec for stand alone tape drive
BSD 3-Clause "New" or "Revised" License
257 stars 76 forks source link

LTFS mount not working even though --enable-buggy-ifs is used #428

Closed Llamato closed 6 months ago

Llamato commented 1 year ago

After compiling ltfs on debian bookworm running in a vmware vm with the tape attached though sasci passthough, I was able to format a tape using mkltfs -d /dev/sg2 -f' When I then try to mount the ltfs tape it does not work saying it can not read the index. Can this be solved? Please see command outputs below for details.

mkltfs -d /dev/sg2 -f

LTFS15000I Starting mkltfs, LTFS version 2.5.0.0 (Prelim), log level 2.
LTFS15041I Launched by "/home/tina/Downloads/ltfs2/ltfs-master/src/utils/.libs/mkltfs -d /dev/sg2 -f".
LTFS15042I This binary is built for Linux (x86_64).
LTFS15043I GCC version is 12.2.0.
LTFS17087I Kernel version: Linux version 6.1.0-12-amd64 (debian-kernel@lists.debian.org) (gcc-12 (Debian 12.2.0-14) 12.2.0, GNU ld (GNU Binutils for Debian) 2.40) #1 SMP PREEMPT_DYNAMIC Debian 6.1.52-1 (2023-09-07) i386.
LTFS17089I Distribution: PRETTY_NAME="Debian GNU/Linux 12 (bookworm)".
LTFS15003I Formatting device '/dev/sg2'.
LTFS15004I LTFS volume blocksize: 524288.
LTFS15005I Index partition placement policy: None.

LTFS11337I Update index-dirty flag (1) - NO_BARCODE (0x0x55a980daca00).
LTFS17085I Plugin: Loading "sg" tape backend.
LTFS30209I Opening a device through sg-ibmtape driver (/dev/sg2).
LTFS30250I Opened the SCSI tape device 32.0.1.0 (/dev/sg2).
LTFS30207I Vendor ID is HP      .
LTFS30208I Product ID is Ultrium 5-SCSI  .
LTFS30214I Firmware revision is Z5AD.
LTFS30215I Drive serial is HUE2510DR9.
LTFS30285I The reserved buffer size of /dev/sg2 is 1048576.
LTFS30294I Setting up timeout values from RSOC.
LTFS17160I Maximum device block size is 1048576.
LTFS11330I Loading cartridge.
LTFS39805W The timeout table is not configured: SCSI OP code 0x4d. Use the default timeout.
LTFS11332I Load successful.
LTFS39805W The timeout table is not configured: SCSI OP code 0x4d. Use the default timeout.
LTFS17157I Changing the drive setting to write-anywhere mode.
LTFS15049I Checking the medium (load).
LTFS39805W The timeout table is not configured: SCSI OP code 0x4d. Use the default timeout.
LTFS15010I Creating data partition b on SCSI partition 1.
LTFS15011I Creating index partition a on SCSI partition 0.
LTFS17165I Resetting the medium's capacity proportion.
LTFS11097I Partitioning the medium.
LTFS11100I Writing label to partition b.
LTFS11278I Writing index to partition b.
LTFS17235I Writing index of NO_BARCODE to b (Reason: Format, 0 files) HUE2510DR9.
LTFS17236I Wrote index of NO_BARCODE (Gen = 1, Part = b, Pos = 5, HUE2510DR9).
LTFS11337I Update index-dirty flag (0) - NO_BARCODE (0x0x55a980daca00).
LTFS11100I Writing label to partition a.
LTFS11278I Writing index to partition a.
LTFS17235I Writing index of NO_BARCODE to a (Reason: Format, 0 files) HUE2510DR9.
LTFS17236I Wrote index of NO_BARCODE (Gen = 1, Part = a, Pos = 5, HUE2510DR9).
LTFS15013I Volume UUID is: 0a3159f3-ea88-4837-b473-efb8f10bf4ae.

LTFS39805W The timeout table is not configured: SCSI OP code 0x4d. Use the default timeout.
LTFS15019I Volume capacity is 1434 GB.
LTFS30205I MODESENSE (0x5a) returns -20501.
LTFS30263I MODESENSE returns Invalid Field in CDB (-20501) /dev/sg2.
LTFS15024I Medium formatted successfully.

ltfs -o devname=/dev/sg2 /mnt/lto\ tape/

4306 LTFS14000I LTFS starting, LTFS version 2.5.0.0 (Prelim), log level 2.
4306 LTFS14058I LTFS Format Specification version 2.4.0.
4306 LTFS14104I Launched by "/home/tina/Downloads/ltfs2/ltfs-master/src/.libs/ltfs -o devname=/dev/sg2 /mnt/lto tape/".
4306 LTFS14105I This binary is built for Linux (x86_64).
4306 LTFS14106I GCC version is 12.2.0.
4306 LTFS17087I Kernel version: Linux version 6.1.0-12-amd64 (debian-kernel@lists.debian.org) (gcc-12 (Debian 12.2.0-14) 12.2.0, GNU ld (GNU Binutils for Debian) 2.40) #1 SMP PREEMPT_DYNAMIC Debian 6.1.52-1 (2023-09-07) i386.
4306 LTFS17089I Distribution: PRETTY_NAME="Debian GNU/Linux 12 (bookworm)".
4306 LTFS14063I Sync type is "time", Sync time is 300 sec.
4306 LTFS17085I Plugin: Loading "sg" tape backend.
4306 LTFS17085I Plugin: Loading "unified" iosched backend.
4306 LTFS14095I Set the tape device write-anywhere mode to avoid cartridge ejection.
4306 LTFS30209I Opening a device through sg-ibmtape driver (/dev/sg2).
4306 LTFS30250I Opened the SCSI tape device 32.0.1.0 (/dev/sg2).
4306 LTFS30207I Vendor ID is HP      .
4306 LTFS30208I Product ID is Ultrium 5-SCSI  .
4306 LTFS30214I Firmware revision is Z5AD.
4306 LTFS30215I Drive serial is HUE2510DR9.
4306 LTFS30285I The reserved buffer size of /dev/sg2 is 1048576.
4306 LTFS30294I Setting up timeout values from RSOC.
4306 LTFS17160I Maximum device block size is 1048576.
4306 LTFS11330I Loading cartridge.
4306 LTFS39805W The timeout table is not configured: SCSI OP code 0x4d. Use the default timeout.
4306 LTFS11332I Load successful.
4306 LTFS39805W The timeout table is not configured: SCSI OP code 0x4d. Use the default timeout.
4306 LTFS17157I Changing the drive setting to write-anywhere mode.
4306 LTFS11005I Mounting the volume from device.
4306 LTFS39805W The timeout table is not configured: SCSI OP code 0x4d. Use the default timeout.
4306 LTFS39805W The timeout table is not configured: SCSI OP code 0x4d. Use the default timeout.
4306 LTFS30205I MODESENSE (0x5a) returns -20501.
4306 LTFS30263I MODESENSE returns Invalid Field in CDB (-20501) /dev/sg2.
4306 LTFS39805W The timeout table is not configured: SCSI OP code 0x4d. Use the default timeout.
4306 LTFS39805W The timeout table is not configured: SCSI OP code 0x4d. Use the default timeout.
4306 LTFS11026I Performing a full medium consistency check.
4306 LTFS30205I READ (0x08) returns -29999.
4306 LTFS30264E READ returns msg = NULL (-29999) /dev/sg2.
4306 LTFS12049E Cannot read: backend call failed (-29999).
4306 LTFS17039E XML parser: failed to read a block from the medium (-29999).
4306 LTFS17037E XML parser: failed to read from XML stream.
4306 LTFS17273E XML parser: Detected an I/O error on reading an index from the tape (-29999).
4306 LTFS17016E Cannot parse index direct from medium (-29999).
4306 LTFS11194W Cannot read index: failed to read and parse XML data (-29999).
4306 LTFS30205I READ (0x08) returns -29999.
4306 LTFS30264E READ returns msg = NULL (-29999) /dev/sg2.
4306 LTFS12049E Cannot read: backend call failed (-29999).
4306 LTFS17039E XML parser: failed to read a block from the medium (-29999).
4306 LTFS17037E XML parser: failed to read from XML stream.
4306 LTFS17273E XML parser: Detected an I/O error on reading an index from the tape (-29999).
4306 LTFS17016E Cannot parse index direct from medium (-29999).
4306 LTFS11194W Cannot read index: failed to read and parse XML data (-29999).
4306 LTFS11253E No index found in the medium.
4306 LTFS11027E Cannot mount volume: medium consistency check failed.
4306 LTFS14013E Cannot mount the volume from device.
4306 LTFS30205I MODESENSE (0x5a) returns -20501.
4306 LTFS30263I MODESENSE returns Invalid Field in CDB (-20501) /dev/sg2.
piste-jp commented 1 year ago

It looks the ANSI label and the LTFS label can be read correctly. So I believe 512KB block cannot be read on this HBA.

Please find out the HBA setting about max transfer length and change to the longer one. In some HBA, it is not existed or implemented with tape support option in HBA.

starmaex commented 7 months ago

I found out today, that not all devnames are working equally:

first I tried something like: sudo ltfs -o devname=/dev/st0 /media/ltfs but here I've got the XML parser errors as well...

Then I tried using the serial number (sudo ltfs -o devname=9068800725 /media/ltfs) and that worked repeatedly!

starmaex commented 7 months ago

OK, using devname=/dev/sg10 works as well. Must be a different behavior when using st0 though dmesg tells me that my tape is ready at device st0...

piste-jp commented 7 months ago

@starmaex ,

I believe your comment is not related into this issue at all... Please open another issue if you want to have some conversations about your comment.

piste-jp commented 6 months ago

Close because of no activity for a long time.