summaryrefslogtreecommitdiffstats
path: root/resize
diff options
context:
space:
mode:
authorRichard W.M. Jones <rjones@redhat.com>2012-06-13 20:36:40 +0100
committerRichard W.M. Jones <rjones@redhat.com>2012-06-13 23:07:26 +0100
commit46ed232dc2ff2f7dff91cd93a13d7ce6f2cec504 (patch)
tree7ac4657b5067f50597aa54e2ee4d74d2db6c3054 /resize
parent998ebc333dbfe40c5953e36fb42f9610727a7532 (diff)
downloadlibguestfs-46ed232dc2ff2f7dff91cd93a13d7ce6f2cec504.tar.gz
libguestfs-46ed232dc2ff2f7dff91cd93a13d7ce6f2cec504.tar.xz
libguestfs-46ed232dc2ff2f7dff91cd93a13d7ce6f2cec504.zip
New API: guestfs_canonical_device_name.
This API makes device names canonical, eg. /dev/vda1 -> /dev/sda1.
Diffstat (limited to 'resize')
-rw-r--r--resize/resize.ml4
-rw-r--r--resize/utils.ml14
-rw-r--r--resize/utils_tests.ml9
3 files changed, 2 insertions, 25 deletions
diff --git a/resize/resize.ml b/resize/resize.ml
index e8187c89..5e323bae 100644
--- a/resize/resize.ml
+++ b/resize/resize.ml
@@ -348,7 +348,7 @@ let get_partition_content =
| [] ->
error (f_"%s: physical volume not returned by pvs_full")
dev
- | pv :: _ when canonicalize pv.G.pv_name = dev ->
+ | pv :: _ when g#canonical_device_name pv.G.pv_name = dev ->
ContentPV pv.G.pv_size
| _ :: pvs -> loop pvs
in
@@ -529,7 +529,7 @@ let find_partition =
"/dev/" ^ name
else
name in
- let name = canonicalize name in
+ let name = g#canonical_device_name name in
let partition =
try Hashtbl.find hash name
diff --git a/resize/utils.ml b/resize/utils.ml
index d99f489b..82d45a3e 100644
--- a/resize/utils.ml
+++ b/resize/utils.ml
@@ -84,20 +84,6 @@ let error fs =
in
ksprintf display fs
-(* The reverse of device name translation, see
- * BLOCK DEVICE NAMING in guestfs(3).
- *)
-let canonicalize dev =
- if String.length dev >= 8 &&
- dev.[0] = '/' && dev.[1] = 'd' && dev.[2] = 'e' && dev.[3] = 'v' &&
- dev.[4] = '/' && (dev.[5] = 'h' || dev.[5] = 'v') && dev.[6] = 'd' then (
- let dev = String.copy dev in
- dev.[5] <- 's';
- dev
- )
- else
- dev
-
let feature_available (g : Guestfs.guestfs) names =
try g#available names; true
with G.Error _ -> false
diff --git a/resize/utils_tests.ml b/resize/utils_tests.ml
index 9356d7b6..cc00061e 100644
--- a/resize/utils_tests.ml
+++ b/resize/utils_tests.ml
@@ -25,15 +25,6 @@ let () =
assert (int_of_le32 "\x80\x60\x40\x20" = 0x20406080L);
assert (le32_of_int 0x20406080L = "\x80\x60\x40\x20")
-(* Test Utils.canonicalize. *)
-let () =
- assert (canonicalize "/dev/vda" = "/dev/sda");
- assert (canonicalize "/dev/hda3" = "/dev/sda3");
- assert (canonicalize "/dev/sda4" = "/dev/sda4");
- assert (canonicalize "/dev/hdaa" = "/dev/sdaa");
- assert (canonicalize "/dev/sdaa" = "/dev/sdaa");
- assert (canonicalize "/dev/cciss/c0d0p1" = "/dev/cciss/c0d0p1")
-
(* Test Utils.parse_size. *)
let () =
(* For absolute sizes, oldsize is ignored. *)