Skip to contentSkip to conversation

sg: fix device number in blktrace data

PATCH In review Martin Peschke 2 participants 2 messages Jan 30, 2009

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

PATCH 1/1 sg: fix device number in blktrace data

Hi,

we have run into an issue with blktrace being started for sg devices. Please apply.

Thanks,
Martin

From: Martin Peschke <[email protected]>

The device number denoting a generic SCSI devices (sg) in a blktrace trace is broken; major and minor are always 0. It looks like sdp->device->sdev_gendev.devt is not initialized properly. The fix below uses other data to make up a valid device number, similar to the way an sg device number is generated for sysfs output.

---
 drivers/scsi/sg.c |    2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)
drivers/scsi/sg.c +1 -1
@@ -1078,7 +1078,7 @@ sg_ioctl(struct inode *inode, struct fil
 	case BLKTRACESETUP:
 		return blk_trace_setup(sdp->device->request_queue,
 				       sdp->disk->disk_name,
-				       sdp->device->sdev_gendev.devt,
+				       MKDEV(SCSI_GENERIC_MAJOR, sdp->index),
 				       (char *)arg);
 	case BLKTRACESTART:
 		return blk_trace_startstop(sdp->device->request_queue, 1);
maintainer
#1 lore raw
Quoted 12 lines · Martin Peschke

Hi,

we have run into an issue with blktrace being started for sg devices. Please apply.

Thanks,
Martin

From: Martin Peschke <[email protected]>

Quoted 8 lines

The device number denoting a generic SCSI devices (sg) in a blktrace trace is broken; major and minor are always 0. It looks like sdp->device->sdev_gendev.devt is not initialized properly. The fix below uses other data to make up a valid device number, similar to the way an sg device number is generated for sysfs output.