aboutsummaryrefslogtreecommitdiffstats
path: root/drivers/s390/block/dasd_alias.c
diff options
context:
space:
mode:
authorLinus Torvalds <torvalds@linux-foundation.org>2008-08-01 13:27:10 -0400
committerLinus Torvalds <torvalds@linux-foundation.org>2008-08-01 13:27:10 -0400
commit9fe3b64be3dc8313e9fa87255f169c608d074cbd (patch)
treec2b44acdf73d0ee4cbb67cbb2722c6eeeafa1d60 /drivers/s390/block/dasd_alias.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_alias.c')
-rw-r--r--drivers/s390/block/dasd_alias.c4
1 files changed, 3 insertions, 1 deletions
diff --git a/drivers/s390/block/dasd_alias.c b/drivers/s390/block/dasd_alias.c
index 2d8df0b30538..20676cdef4a5 100644
--- a/drivers/s390/block/dasd_alias.c
+++ b/drivers/s390/block/dasd_alias.c
@@ -91,7 +91,8 @@ static struct alias_pav_group *_find_group(struct alias_lcu *lcu,
91 else 91 else
92 search_unit_addr = uid->base_unit_addr; 92 search_unit_addr = uid->base_unit_addr;
93 list_for_each_entry(pos, &lcu->grouplist, group) { 93 list_for_each_entry(pos, &lcu->grouplist, group) {
94 if (pos->uid.base_unit_addr == search_unit_addr) 94 if (pos->uid.base_unit_addr == search_unit_addr &&
95 !strncmp(pos->uid.vduit, uid->vduit, sizeof(uid->vduit)))
95 return pos; 96 return pos;
96 }; 97 };
97 return NULL; 98 return NULL;
@@ -332,6 +333,7 @@ static int _add_device_to_lcu(struct alias_lcu *lcu,
332 group->uid.base_unit_addr = uid->real_unit_addr; 333 group->uid.base_unit_addr = uid->real_unit_addr;
333 else 334 else
334 group->uid.base_unit_addr = uid->base_unit_addr; 335 group->uid.base_unit_addr = uid->base_unit_addr;
336 memcpy(group->uid.vduit, uid->vduit, sizeof(uid->vduit));
335 INIT_LIST_HEAD(&group->group); 337 INIT_LIST_HEAD(&group->group);
336 INIT_LIST_HEAD(&group->baselist); 338 INIT_LIST_HEAD(&group->baselist);
337 INIT_LIST_HEAD(&group->aliaslist); 339 INIT_LIST_HEAD(&group->aliaslist);