summaryrefslogtreecommitdiffstats
path: root/virt-df/virt_df_main.ml
diff options
context:
space:
mode:
authorRichard W.M. Jones <rjones@redhat.com>2008-04-15 11:44:41 +0100
committerRichard W.M. Jones <rjones@redhat.com>2008-04-15 11:44:41 +0100
commit40c683ea4c9d921a6fe23c2639125261b92da472 (patch)
treebd48665ca2251cb9d7b6e70408ec19aee0f7d69b /virt-df/virt_df_main.ml
parent0019c13c600d34f12778e849246711bb20ba4ee2 (diff)
downloadvirt-top-40c683ea4c9d921a6fe23c2639125261b92da472.tar.gz
virt-top-40c683ea4c9d921a6fe23c2639125261b92da472.tar.xz
virt-top-40c683ea4c9d921a6fe23c2639125261b92da472.zip
Add PV detection framework.
Diffstat (limited to 'virt-df/virt_df_main.ml')
-rw-r--r--virt-df/virt_df_main.ml25
1 files changed, 19 insertions, 6 deletions
diff --git a/virt-df/virt_df_main.ml b/virt-df/virt_df_main.ml
index 9504785..c989d76 100644
--- a/virt-df/virt_df_main.ml
+++ b/virt-df/virt_df_main.ml
@@ -268,13 +268,18 @@ OPTIONS" in
{ disk with d_content = `Partitions parts }
| None ->
(* Not partitioned. Does it contain a filesystem? *)
- let fs = probe_for_filesystems dev in
+ let fs = probe_for_filesystem dev in
match fs with
| Some fs ->
{ disk with d_content = `Filesystem fs }
| None ->
- (* Not partitioned, no filesystem, so it's spare. *)
- disk
+ (* Not partitioned, no filesystem, is it a PV? *)
+ let pv = probe_for_pv dev in
+ match pv with
+ | Some lvm_name ->
+ { disk with d_content = `PhysicalVolume lvm_name }
+ | None ->
+ disk (* Spare/unknown. *)
) in
(* Now we have either detected partitions or a filesystem on each
@@ -287,12 +292,18 @@ OPTIONS" in
let ps = List.map (
fun p ->
if p.part_status = Bootable || p.part_status = Nonbootable then (
- let fs = probe_for_filesystems p.part_dev in
+ let fs = probe_for_filesystem p.part_dev in
match fs with
| Some fs ->
{ p with part_content = `Filesystem fs }
| None ->
- p
+ (* Is it a PV? *)
+ let pv = probe_for_pv p.part_dev in
+ match pv with
+ | Some lvm_name ->
+ { p with part_content = `PhysicalVolume lvm_name }
+ | None ->
+ p (* Spare/unknown. *)
) else p
) parts.parts in
let parts = { parts with parts = ps } in
@@ -300,7 +311,9 @@ OPTIONS" in
| disk -> disk
) in
- (* XXX LVM stuff here. *)
+ (* XXX LVM filesystem detection ... *)
+
+