Skip to contentSkip to conversation

permit READ DEFECT DATA in block/scsi_ioctl

PATCH In review Douglas Gilbert 2 participants 2 messages Sep 9, 2005

Subsystems (2)
lore
Share & tools
lore
#0 lore raw

PATCH 1/1 permit READ DEFECT DATA in block/scsi_ioctl

The soon to be released smartmontools 5.34 uses the READ DEFECT DATA command on SCSI disks. A disk that has defect list entries (or worse, an increasing number of them) is at risk.

Currently the first invocation of smartctl causes this:
scsi: unknown opcode 0x37
message to appear the console and in the log.

The READ DEFECT DATA SCSI command does not change the state of a disk. Its opcode (0x37) is valid for SBC devices (e.g. disks) and SMC-2 devices (media changers) where it is called INITIALIZE STATUS ELEMENT WITH RANGE and again doesn't change the external state of the device.

The patch is against lk 2.6.13 .

Changelog:
- mark SCSI opcode 0x37 (READ DEFECT DATA) as safe_for_read

Doug Gilbert

drivers/block/scsi_ioctl.c2613rdd renamed from drivers/block/scsi_ioctl.c +1 -0
@@ -123,6 +123,7 @@
 		safe_for_read(READ_12),
 		safe_for_read(READ_16),
 		safe_for_read(READ_BUFFER),
+		safe_for_read(READ_DEFECT_DATA),
 		safe_for_read(READ_LONG),
 		safe_for_read(INQUIRY),
 		safe_for_read(MODE_SENSE),
Acked-by on v1 1/1
#1 lore raw
Quoted 16 lines · Douglas Gilbert

The soon to be released smartmontools 5.34 uses the READ DEFECT DATA command on SCSI disks. A disk that has defect list entries (or worse, an increasing number of them) is at risk.

Currently the first invocation of smartctl causes this:

   scsi: unknown opcode 0x37

message to appear the console and in the log.

The READ DEFECT DATA SCSI command does not change the state of a disk. Its opcode (0x37) is valid for SBC devices (e.g. disks) and SMC-2 devices (media changers) where it is called INITIALIZE STATUS ELEMENT WITH RANGE and again doesn't change the external state of the device.

Quoted 7 lines

The patch is against lk 2.6.13 .

Changelog:
- mark SCSI opcode 0x37 (READ DEFECT DATA) as safe_for_read

Fine with me.

Signature · 1 line
Jens Axboe