1virt-v2v-hacking(1) Virtualization Support virt-v2v-hacking(1)
2
3
4
6 virt-v2v-hacking -
7
9 First a little history. Virt-v2v has been through at least two
10 complete rewrites, so this is probably about the third version (but we
11 don't intend to rewrite it again). The previous version was written in
12 Perl and can be found here:
13 https://git.fedorahosted.org/git/virt-v2v.git
14
15 The current version started out as almost a line-for-line rewrite of
16 the Perl code in OCaml + C, and it still has a fairly similar
17 structure. Therefore if there are details of this code that you don't
18 understand (especially in the details of guest conversion), checking
19 the Perl code may help.
20
21 The files to start with when reading this code are:
22
23 • types.mli
24
25 • v2v.ml
26
27 types.mli defines all the structures used and passed around when
28 communicating between different bits of the program. v2v.ml controls
29 how the program runs in stages.
30
31 After studying those files, you may want to branch out into the input
32 modules (input_*), the output modules (output_*) or the conversion
33 modules (convert_*). The input and output modules define -i and -o
34 options (see the manual). The conversion modules define what guest
35 types we can handle and the detailed steps involved in converting them.
36
37 Every other file in this directory is a support module / library of
38 some sort. Some code is written in C, especially where we want to use
39 an external C library such as libxml2.
40
42 virt-p2v(1), virt-v2v(1).
43
45 Richard W.M. Jones
46
48 Copyright (C) 2009-2020 Red Hat Inc.
49
51 This program is free software; you can redistribute it and/or modify it
52 under the terms of the GNU General Public License as published by the
53 Free Software Foundation; either version 2 of the License, or (at your
54 option) any later version.
55
56 This program is distributed in the hope that it will be useful, but
57 WITHOUT ANY WARRANTY; without even the implied warranty of
58 MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
59 General Public License for more details.
60
61 You should have received a copy of the GNU General Public License along
62 with this program; if not, write to the Free Software Foundation, Inc.,
63 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA.
64
66 To get a list of bugs against libguestfs, use this link:
67 https://bugzilla.redhat.com/buglist.cgi?component=libguestfs&product=Virtualization+Tools
68
69 To report a new bug against libguestfs, use this link:
70 https://bugzilla.redhat.com/enter_bug.cgi?component=libguestfs&product=Virtualization+Tools
71
72 When reporting a bug, please supply:
73
74 • The version of libguestfs.
75
76 • Where you got libguestfs (eg. which Linux distro, compiled from
77 source, etc)
78
79 • Describe the bug accurately and give a way to reproduce it.
80
81 • Run libguestfs-test-tool(1) and paste the complete, unedited output
82 into the bug report.
83
84
85
86virt-v2v-2.0.7 2022-07-06 virt-v2v-hacking(1)