summaryrefslogtreecommitdiffstats
path: root/mdk-stage1
diff options
context:
space:
mode:
Diffstat (limited to 'mdk-stage1')
-rw-r--r--mdk-stage1/NEWS1
-rw-r--r--mdk-stage1/mount.c12
2 files changed, 13 insertions, 0 deletions
diff --git a/mdk-stage1/NEWS b/mdk-stage1/NEWS
index 7b0918ce6..816a92452 100644
--- a/mdk-stage1/NEWS
+++ b/mdk-stage1/NEWS
@@ -1,4 +1,5 @@
- do not advice long dead pcmcia.img & network.img images (mga#5466)
+- first attempt at supporting XenBlk discs
1.65
- load btrfs module to mount btrfs
diff --git a/mdk-stage1/mount.c b/mdk-stage1/mount.c
index 6c180d8e6..918f5d1a2 100644
--- a/mdk-stage1/mount.c
+++ b/mdk-stage1/mount.c
@@ -72,6 +72,18 @@ int ensure_dev_exists(const char * dev)
}
} else if (name[3])
minor += (name[3] - '0');
+ } else if (ptr_begins_static_str(name, "xvd")) {
+ /* Virtual disks */
+ major = 202;
+ minor = (name[2] - 'a') << 4;
+ if (name[4] && name[5]) {
+ minor += 10 + (name[5] - '0');
+ if (name[4] > 1 || name[5] > 5) {
+ log_message("I don't know how to create device %s, please post bugreport to me!", dev);
+ return -1;
+ }
+ } else if (name[4])
+ minor += (name[4] - '0');
} else if (ptr_begins_static_str(name, "hd")) {
/* IDE disks/cd's */
if (name[2] == 'a')