aboutsummaryrefslogtreecommitdiff
path: root/drivers/s390/block/dasd_devmap.c
diff options
context:
space:
mode:
authorLinus Torvalds <torvalds@linux-foundation.org>2008-08-01 10:27:10 -0700
committerLinus Torvalds <torvalds@linux-foundation.org>2008-08-01 10:27:10 -0700
commit9fe3b64be3dc8313e9fa87255f169c608d074cbd (patch)
treec2b44acdf73d0ee4cbb67cbb2722c6eeeafa1d60 /drivers/s390/block/dasd_devmap.c
parent8b6d8c592fa7b8bfb1218447a273314c13a67e8a (diff)
parentab4227cb2d936886069ef1056c02500d05beb15d (diff)
Merge branch 'for-linus' of git://git390.osdl.marist.edu/pub/scm/linux-2.6
* 'for-linus' of git://git390.osdl.marist.edu/pub/scm/linux-2.6: [S390] qeth: avoid use of include/asm-s390 [S390] dont use kthread for smp_rescan_cpus(). [S390] virtio console: fix section mismatch warning. [S390] cio: Include linux/string.h in schid.h. [S390] qdio: fix section mismatch bug. [S390] stp: fix section mismatch warning. [S390] Remove diag 0x260 call from memory detection. [S390] qdio: make sure qdr is aligned to page size [S390] Add support for memory hot-remove. [S390] Wire up new syscalls. [S390] cio: Memory allocation for idset changed. [S390] qeth: preallocated qeth header for hiper socket [S390] Optimize storage key operations for anon pages [S390] nohz/sclp: disable timer on synchronous waits. [S390] ipl: Reboot from alternate device does not work when booting from file [S390] dasd: Add support for enhanced VM UID [S390] Remove last P390 trace.
Diffstat (limited to 'drivers/s390/block/dasd_devmap.c')
-rw-r--r--drivers/s390/block/dasd_devmap.c16
1 files changed, 13 insertions, 3 deletions
diff --git a/drivers/s390/block/dasd_devmap.c b/drivers/s390/block/dasd_devmap.c
index d774e79476f..cd3335c1c30 100644
--- a/drivers/s390/block/dasd_devmap.c
+++ b/drivers/s390/block/dasd_devmap.c
@@ -913,7 +913,8 @@ dasd_vendor_show(struct device *dev, struct device_attribute *attr, char *buf)
static DEVICE_ATTR(vendor, 0444, dasd_vendor_show, NULL);
#define UID_STRLEN ( /* vendor */ 3 + 1 + /* serial */ 14 + 1 +\
- /* SSID */ 4 + 1 + /* unit addr */ 2 + 1)
+ /* SSID */ 4 + 1 + /* unit addr */ 2 + 1 +\
+ /* vduit */ 32 + 1)
static ssize_t
dasd_uid_show(struct device *dev, struct device_attribute *attr, char *buf)
@@ -945,8 +946,17 @@ dasd_uid_show(struct device *dev, struct device_attribute *attr, char *buf)
sprintf(ua_string, "%02x", uid->real_unit_addr);
break;
}
- snprintf(uid_string, sizeof(uid_string), "%s.%s.%04x.%s",
- uid->vendor, uid->serial, uid->ssid, ua_string);
+ if (strlen(uid->vduit) > 0)
+ snprintf(uid_string, sizeof(uid_string),
+ "%s.%s.%04x.%s.%s",
+ uid->vendor, uid->serial,
+ uid->ssid, ua_string,
+ uid->vduit);
+ else
+ snprintf(uid_string, sizeof(uid_string),
+ "%s.%s.%04x.%s",
+ uid->vendor, uid->serial,
+ uid->ssid, ua_string);
spin_unlock(&dasd_devmap_lock);
return snprintf(buf, PAGE_SIZE, "%s\n", uid_string);
}