Skip to content

Invalid argument (Invalid IOCTL call) when using lin_tape device driver? (RHEL9 & ULT3580-HH8) #114

@c3rberus

Description

@c3rberus

Hello,

I am using IBM TS4300 Tape Library (LTO8 FC) library, this is zoned to a RHEL 9.3 Linux host, the ULT3580-HH8 tape drive is detected in the system. Installed lin_tape device driver.

# cat /proc/scsi/IBMtape
lin_tape version: 3.0.66
lin_tape major number: 511
Attached Tape Devices:
Number  model       SN                       HBA                       SCSI            FO Path
0       ULT3580-HH8 1174F0805B               qla2xxx                   7:0:2:0         NA

# rpm -qi lin_tape
Name        : lin_tape
Version     : 3.0.66
Release     : 1
Architecture: x86_64
Install Date: Thu 15 Feb 2024 02:39:41 PM
Group       : System Environment/Kernel
Size        : 1735657
License     : GPL
Signature   : (none)
Source RPM  : lin_tape-3.0.66-1.src.rpm
Build Date  : Thu 15 Feb 2024 02:38:14 PM
Packager    : IBM Tape SCSI Device Driver Development
Vendor      : IBM
Summary     : IBM Tape SCSI Device Driver for Linux
Description :

# rpm -qi lin_taped
Name        : lin_taped
Version     : 3.0.66
Release     : 1
Architecture: x86_64
Install Date: Thu 15 Feb 2024 02:40:59 PM
Group       : System Environment/Kernel
Size        : 179136
License     : Proprietary
Signature   : (none)
Source RPM  : lin_taped-3.0.66-1.src.rpm
Build Date  : Mon 28 Aug 2023 09:29:31 AM
Packager    : IBM Tape SCSI Device Driver Development
Vendor      : IBM
Summary     : IBM Tape SCSI Device Driver Application/Daemon

I have installed the IBM Tape SCSI Device Driver for Linux (lin_tape), and I can write/read to the device using tar.

However, when I try to use stenc to check status, I get an error.

# stenc --v
stenc 2.0.0 - SCSI Tape Encryption Manager

# stenc -f /dev/IBMtape0
stenc: Invalid argument

# dmesg
[14164.410790] lin_tape: lin_tape_drive_ioctl invalid ioctl

# cat /var/log/lin_tape.trace
IBMtapeDevDriver  Thu Feb 15 19:00:13 2024
   lin_tape_open: Attempt to open IBMtape0
   IBMtape0 opened
   lin_tape_close: Attempt to close IBMtape0
IBMtape0-----0805B  Thu Feb 15 19:00:13 2024
   Tape device opened
   lin_tape_drive_ioctl: Invalid IOCTL call
   Tape device closed.

I also tried compiling stenc with debug flag, there was no extra output observed.

# ./autogen.sh && ./configure --with-scsi-debug && make
# sg_raw -r 44 /dev/IBMtape0 a2 00 00 00 00 00 00 01 00 00 00
do_scsi_pt: Invalid argument

My goal is to be able to use stenc to enable tape encryption.... Anyone have any idea on what could be going on?

The same tape library is zoned to an AIX Power9 system using an older build of stenc, no issues there.

I am thinking something with RHEL 9.3 and the lin_tape driver? I did observe that when lin_tape is installed the way the device appears in /dev changed, no longer /dev/st0 and instead /dev/IBMtape.

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions