I believe I recall seeing something like this discussed on the list a few weeks ago. SCST propagates the device handler name through to the initiator via the "model" field, whereas LIO uses a constant string passed from the backstore module - "IBLOCK", for instance. The advantage of passing the device handler name through is that if there are multiple luns exported from multiple targets it's simpler to use naming conventions to sort out where a lun may have come from and what it is for. Below is a patch I put together to override this constant with the config item name from the storage object and it seems to work in our environment. Before: [root@osd3 mnt]# lsscsi [0:0:0:0] disk AMCC 9650SE-24M DISK 4.10 /dev/sda [12:0:0:0] disk LIO-ORG IBLOCK 4.0 /dev/sdb [12:0:0:1] disk LIO-ORG IBLOCK 4.0 /dev/sdc After: [root@osd3 mnt]# lsscsi [0:0:0:0] disk AMCC 9650SE-24M DISK 4.10 /dev/sda [12:0:0:0] disk LIO-ORG san1_backup1 4.0 /dev/sdb [12:0:0:1] disk LIO-ORG san1_backup2 4.0 /dev/sdc Is this functionality possibly useful? Any pitfalls to this approach? diff -durN linux-3.4.1.orig/drivers/target/target_core_transport.c linux-3.4.1/drivers/target/target_core_transport.c --- linux-3.4.1.orig/drivers/target/target_core_transport.c 2012-06-01 01:18:44.000000000 -0600 +++ linux-3.4.1/drivers/target/target_core_transport.c 2012-06-08 14:46:49.807956878 -0600 @@ -1327,6 +1327,13 @@ { int force_pt; struct se_device *dev; + const char *configname; + + configname = config_item_name(&se_dev->se_dev_group.cg_item); + if ( configname != NULL) { + pr_debug("Changing vendorname from '%s' to '%s'\n", inquiry_prod, configname); + inquiry_prod = configname; + } dev = kzalloc(sizeof(struct se_device), GFP_KERNEL); if (!dev) { @@ -1416,6 +1423,12 @@ strncpy(&dev->se_sub_dev->t10_wwn.vendor[0], "LIO-ORG", 8); strncpy(&dev->se_sub_dev->t10_wwn.model[0], inquiry_prod, 16); + /* + * inquiry_prod comes from the config item name, which is potentially + * longer than the 16 bytes copied by strncpy above. Ensure that we + * have a null terminator + */ + dev->se_sub_dev->t10_wwn.model[15] = '\0'; strncpy(&dev->se_sub_dev->t10_wwn.revision[0], inquiry_rev, 4); } scsi_dump_inquiry(dev); -- To unsubscribe from this list: send the line "unsubscribe target-devel" in the body of a message to majordomo@xxxxxxxxxxxxxxx More majordomo info at http://vger.kernel.org/majordomo-info.html