summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorRichard W.M. Jones <rjones@redhat.com>2008-04-15 20:49:30 +0100
committerRichard W.M. Jones <rjones@redhat.com>2008-04-15 20:49:30 +0100
commit4268ee74b7237c3e8bc1d78b92b6e3669cbec6da (patch)
treeaac790249130b7a6cdb3c631da36841ef21e01f1
parent81294675f6a5058a3381871f1dc99c806922d77c (diff)
downloadvirt-top-4268ee74b7237c3e8bc1d78b92b6e3669cbec6da.zip
virt-top-4268ee74b7237c3e8bc1d78b92b6e3669cbec6da.tar.gz
virt-top-4268ee74b7237c3e8bc1d78b92b6e3669cbec6da.tar.xz
Added developer documentation.
-rw-r--r--virt-df/README68
1 files changed, 67 insertions, 1 deletions
diff --git a/virt-df/README b/virt-df/README
index 0623030..c3ba4fe 100644
--- a/virt-df/README
+++ b/virt-df/README
@@ -1,2 +1,68 @@
+$Id$
+
+For user documentation:
+
Please see the manual page (virt-df.pod or virt-df.txt in this
-directory). \ No newline at end of file
+directory).
+
+Developer documentation
+----------------------------------------------------------------------
+
+This program has suddenly become rather large and confusing.
+Hopefully this documentation should go some way towards explaining
+what is going on inside the source.
+
+The main program consists of two modules:
+
+ - virt_df.ml / virt_df.mli (module name: Virt_df)
+
+ This has evolved into a library of miscellaneous functions
+ and values which are included throughout the rest of the
+ program. If you see an unexplained function then it's
+ likely that it is defined in here.
+
+ Start by reading virt_df.mli which contains the full types
+ and plenty of documentation.
+
+ - virt_df_main.ml
+
+ This is the program. It reads the command line arguments,
+ loads the domain descriptions, calls out to the plug-ins
+ to probe for disks / partitions / filesystems / etc., and
+ finally prints the results.
+
+ The file consists of basically one large program that
+ does all of the above in sequence.
+
+Everything else in this directory is a plug-in specialized for probing
+a particular filesystem, partition scheme or type of LVM. The
+plug-ins at time of writing are:
+
+ - virt_df_ext2.ml / virt_df_ext2.mli
+
+ EXT2/3/4 plug-in.
+
+ - virt_df_linux_swap.ml / virt_df_linux_swap.mli
+
+ Linux swap (new style).
+
+ - virt_df_mbr.ml / virt_df_mbr.mli
+
+ Master Boot Record (MS-DOS) disk partitioning.
+
+ - virt_df_lvm2*
+
+ LVM2 parsing, which is by far the most complex plug-in.
+ It consists of:
+
+ - virt_df_lvm2.ml
+ - virt_df_lvm2.mli
+ LVM2 probing, PV detection.
+
+ - virt_df_lvm2_parser.mly
+ - virt_df_lvm2_lexer.mll
+ Scanner/parser for parsing LVM2 metadata definitions.
+
+ - virt_df_lvm2_metadata.ml
+ - virt_df_lvm2_metadata.mli
+ AST for LVM2 metadata definitions.