SCSI luns

From: Amrut Joshi
Date: Tue Jul 12 2005 - 06:26:42 EST


Hi,

Currently linux scsi subsystem doesnt store the 8-byte luns which are
recieved in REPORT_LUNS reply. This information is forver lost once
the scan is over. In my LDD I need this information. Currently I have
to snoop REPORT_LUNS reply, do scsilun_to_int for all the luns and
store this mapping somewhere. This can be simplified by storing it in
scsi_device. This field will be meaningful only if sdev->scsi_level >=
SCSI_3.

Heres the patch
-----------------------------------------------------------------------------------------------------------------
--- drivers/scsi/scsi_scan.c.orig 2005-06-30 04:30:53.000000000 +0530
+++ drivers/scsi/scsi_scan.c 2005-07-12 16:19:48.533788528 +0530
@@ -1170,6 +1170,7 @@
" aborted\n", devname, lun);
break;
}
+ memcpy(sdev->lun_address, lunp,
sizeof(sdev->lun_address));
}
}

--- include/scsi/scsi_device.h.orig 2005-06-30 04:30:53.000000000 +0530
+++ include/scsi/scsi_device.h 2005-07-12 16:19:48.534788376 +0530
@@ -58,6 +58,8 @@
could all be from the same event. */

unsigned int id, lun, channel;
+ struct scsi_lun lun_address; /* scsi address returned by REPORT_LUNS
+ * usable only if
sdev->scsi_lun >= SCSI_3 */

unsigned int manufacturer; /* Manufacturer of device, for using
* vendor-specific cmd's */

----------------------------------------------------------------------------------------------------------------------

Please CC replies to me as I am not on the list.

Thanks,
-Amrut!
-
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/