diff options
author | Richard W.M. Jones <rjones@redhat.com> | 2008-04-15 11:44:41 +0100 |
---|---|---|
committer | Richard W.M. Jones <rjones@redhat.com> | 2008-04-15 11:44:41 +0100 |
commit | 40c683ea4c9d921a6fe23c2639125261b92da472 (patch) | |
tree | bd48665ca2251cb9d7b6e70408ec19aee0f7d69b /virt-df/virt_df_main.ml | |
parent | 0019c13c600d34f12778e849246711bb20ba4ee2 (diff) | |
download | virt-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.ml | 25 |
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 ... *) + + |