debuggers.hg
changeset 575:00a8c9490645
bitkeeper revision 1.297 (3f0ab250LUIFXjJYkwlz2KDmjDMcHw)
Merge labyrinth.cl.cam.ac.uk:/auto/groups/xeno/users/sos22/xeno.bk
into labyrinth.cl.cam.ac.uk:/auto/groups/xeno/users/sos22/dont_use_this/xeno.bk
Merge labyrinth.cl.cam.ac.uk:/auto/groups/xeno/users/sos22/xeno.bk
into labyrinth.cl.cam.ac.uk:/auto/groups/xeno/users/sos22/dont_use_this/xeno.bk
author | sos22@labyrinth.cl.cam.ac.uk |
---|---|
date | Tue Jul 08 12:00:16 2003 +0000 (2003-07-08) |
parents | 75772169ac6c 07d15d2fc6b7 |
children | 85abfe09ce32 |
files | xenolinux-2.4.21-sparse/fs/partitions/xeno.c |
line diff
1.1 --- a/xenolinux-2.4.21-sparse/fs/partitions/xeno.c Tue Jul 08 11:30:20 2003 +0000 1.2 +++ b/xenolinux-2.4.21-sparse/fs/partitions/xeno.c Tue Jul 08 12:00:16 2003 +0000 1.3 @@ -12,6 +12,7 @@ 1.4 #include "xeno.h" 1.5 1.6 extern int xenolinux_control_msg(int operration, char *buffer, int size); 1.7 +extern unsigned short xldev_to_physdev(kdev_t xldev); 1.8 1.9 /* Grab the physdisk partitions list from the hypervisor. */ 1.10 int xeno_partition(struct gendisk *hd, 1.11 @@ -39,7 +40,6 @@ int xeno_partition(struct gendisk *hd, 1.12 } 1.13 1.14 if (buf->n_aces == PHYSDISK_MAX_ACES_PER_REQUEST) { 1.15 - printk("Error getting Xen partition table, trying ordinary one...\n"); 1.16 kfree(buf); 1.17 return 0; 1.18 } 1.19 @@ -47,13 +47,15 @@ int xeno_partition(struct gendisk *hd, 1.20 count = 0; 1.21 1.22 for (i = 0; i < buf->n_aces; i++) { 1.23 - if (buf->entries[i].partition == 0) 1.24 + if (buf->entries[i].partition == 0) { 1.25 continue; 1.26 + } 1.27 /* Make sure the partition is actually supposed to be on this 1.28 disk. This assumes that Xen and XenoLinux block device 1.29 numbers match up. */ 1.30 - if (buf->entries[i].device != bdev->bd_dev) 1.31 + if (buf->entries[i].device != xldev_to_physdev(bdev->bd_dev)) { 1.32 continue; 1.33 + } 1.34 /* This is a bit of a hack - the partition numbers are specified 1.35 by the hypervisor, and if we want them to match up, this is 1.36 what we need to do. */