diff options
author | Thierry Vignaud <tv@mageia.org> | 2012-05-23 18:28:24 +0000 |
---|---|---|
committer | Thierry Vignaud <tv@mageia.org> | 2012-05-23 18:28:24 +0000 |
commit | a2164f535fbeef5e5e197f81bf897423d43349b1 (patch) | |
tree | 98e015c786e4aa0980fd43ea1f8ef90144a96933 /mdk-stage1/mount.c | |
parent | 57be1bfedfe82267fac3bea3a5ae6d59e4bcb8c4 (diff) | |
download | drakx-a2164f535fbeef5e5e197f81bf897423d43349b1.tar drakx-a2164f535fbeef5e5e197f81bf897423d43349b1.tar.gz drakx-a2164f535fbeef5e5e197f81bf897423d43349b1.tar.bz2 drakx-a2164f535fbeef5e5e197f81bf897423d43349b1.tar.xz drakx-a2164f535fbeef5e5e197f81bf897423d43349b1.zip |
(ensure_dev_exists,getXenBlk,simple_partition_scan,should_prefer_UUID) add support for XenBlk discs
needs testing
Diffstat (limited to 'mdk-stage1/mount.c')
-rw-r--r-- | mdk-stage1/mount.c | 12 |
1 files changed, 12 insertions, 0 deletions
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') |