svn commit: r255556 - in stable/9/sys: cam geom
Alexander Motin
mav at FreeBSD.org
Sat Sep 14 09:49:19 UTC 2013
Author: mav
Date: Sat Sep 14 09:49:18 2013
New Revision: 255556
URL: http://svnweb.freebsd.org/changeset/base/255556
Log:
MFC r254766:
Add new attribute lunname to report only textual LUN-specific device IDs.
While lunid attribute prefers to report numeric ones, having both may be
useful in some situations.
Modified:
stable/9/sys/cam/cam_xpt.c
stable/9/sys/geom/geom_disk.c
Directory Properties:
stable/9/sys/ (props changed)
Modified: stable/9/sys/cam/cam_xpt.c
==============================================================================
--- stable/9/sys/cam/cam_xpt.c Sat Sep 14 09:42:01 2013 (r255555)
+++ stable/9/sys/cam/cam_xpt.c Sat Sep 14 09:49:18 2013 (r255556)
@@ -1157,7 +1157,8 @@ xpt_getattr(char *buf, size_t len, const
cdai.buftype = CDAI_TYPE_SERIAL_NUM;
else if (!strcmp(attr, "GEOM::physpath"))
cdai.buftype = CDAI_TYPE_PHYS_PATH;
- else if (!strcmp(attr, "GEOM::lunid")) {
+ else if (strcmp(attr, "GEOM::lunid") == 0 ||
+ strcmp(attr, "GEOM::lunname") == 0) {
cdai.buftype = CDAI_TYPE_SCSI_DEVID;
cdai.bufsiz = CAM_SCSI_DEVID_MAXLEN;
} else
@@ -1174,11 +1175,14 @@ xpt_getattr(char *buf, size_t len, const
if (cdai.provsiz == 0)
goto out;
if (cdai.buftype == CDAI_TYPE_SCSI_DEVID) {
- idd = scsi_get_devid((struct scsi_vpd_device_id *)cdai.buf,
- cdai.provsiz, scsi_devid_is_lun_naa);
- if (idd == NULL)
+ if (strcmp(attr, "GEOM::lunid") == 0) {
idd = scsi_get_devid((struct scsi_vpd_device_id *)cdai.buf,
- cdai.provsiz, scsi_devid_is_lun_eui64);
+ cdai.provsiz, scsi_devid_is_lun_naa);
+ if (idd == NULL)
+ idd = scsi_get_devid((struct scsi_vpd_device_id *)cdai.buf,
+ cdai.provsiz, scsi_devid_is_lun_eui64);
+ } else
+ idd = NULL;
if (idd == NULL)
idd = scsi_get_devid((struct scsi_vpd_device_id *)cdai.buf,
cdai.provsiz, scsi_devid_is_lun_t10);
Modified: stable/9/sys/geom/geom_disk.c
==============================================================================
--- stable/9/sys/geom/geom_disk.c Sat Sep 14 09:42:01 2013 (r255555)
+++ stable/9/sys/geom/geom_disk.c Sat Sep 14 09:49:18 2013 (r255556)
@@ -466,6 +466,12 @@ g_disk_dumpconf(struct sbuf *sb, const c
if (dp->d_getattr(bp) == 0)
sbuf_printf(sb, "%s<lunid>%s</lunid>\n",
indent, buf);
+ bp->bio_attribute = "GEOM::lunname";
+ bp->bio_length = DISK_IDENT_SIZE;
+ bp->bio_data = buf;
+ if (dp->d_getattr(bp) == 0)
+ sbuf_printf(sb, "%s<lunname>%s</lunname>\n",
+ indent, buf);
g_destroy_bio(bp);
g_free(buf);
} else
More information about the svn-src-stable-9
mailing list