kernel: program vxconfigd is using a deprecated SCSI ioctl, please convert it to SG_IO

book

Article ID: 100026293

calendar_today

Updated On:

Description

Error Message

kernel: program vxconfigd is using a deprecated SCSI ioctl, please convert it to SG_IO

Applies :

SF 5.1 sp1

 

Cause

The linux kernel deprecates 6 SCSI ioctls:

  • SCSI_IOCTL_SEND_COMMAND
  • SCSI_IOCTL_TEST_UNIT_READY
  • SCSI_IOCTL_BENCHMARK_COMMAND
  • SCSI_IOCTL_SYNC
  • SCSI_IOCTL_START_UNIT
  • SCSI_IOCTL_STOP_UNIT

 

Among these 6 ioctls, Volume Manager (VxVM) now only uses SCSI_IOCTL_SEND_COMMAND in the Storage Foundation 5.1 SP1 and some earlier releases may be having any of the above 6 deprecated SCSI ioctl's. Further, it uses SCSI_IOCTL_SEND_COMMAND only in the Operating System's user-land space and not in the kernel space. In the source code, these IOCTL’s only traverses the SCSI command, if deprecated, raising an alert. After this, the Linux kernel will handle the passed-in SCSI command even if deprecated. The Linux Operating System has a good backward compatibility on these SCSI interfaces. This is why we may encounter these messages on systems with Storage Foundation only on the Linux platform.

Resolution

The kernel messages are only encountered on the Linux platform and are only informative messages and not functional, i.e. these messages will not cause any issues in production environments.  

Veritas is working on the product enhancement via Etrack incident e1533134 which will finally fix this deprecated SCSI ioctl interface issue in Storage Foundation (SF) 6.0 SP1 release. 

Note: At the time of writing this document, there is currently no indication of a release time for the SF 6.0 SP1 release.

 

Issue/Introduction

The kernel messages were logged in system logs /var/log/messages. The messages file gets filled up due to numerous such messages logged within seconds. VxVM only uses one deprecated SCSI interface which is SCSI_IOCTL_SEND_COMMAND, so the kernel message must alert on this SCSI ioctl interface. However, there are several places in the product source code which can invoke this ioctl, hence making it difficult to identify the exact call stack.

Additional Information

ETrack: 1533134 ETrack: 2697976