Join GitHub today
GitHub is home to over 20 million developers working together to host and review code, manage projects, and build software together.
Fetching latest commit…
Cannot retrieve the latest commit at this time.
|Failed to load latest commit information.|
This program generates output suitable for the dot program from graphviz. It produces dependency graphs between the various different library modules in LVM2. You must run this program from within the top level directory of the LVM2 source. In addition you must have built LVM2 so that the symbolic links in include/ are present - since the program needs these to work out what modules are being referenced. Example usage: Draw a directed graph of all dependencies. Hopefully this will produce a nicely layered graph, with no cycles. > lvm_deps --all | dot -Tpdf -o all_modules.pdf Perhaps we're only interested in the libraries directly and indirectly used by a particular module. Again, we're looking for a nice tree like structure with no cycles. > lvm_deps --reachable=lib/commands | dot -Tpdf -o commands_modules.pdf If you suspect there are cycles use this to draw a graph of just the strongly coupled components. ie. just the cycles. Hopefully this graph is empty, or just has 2 node clusters that can be fixed easily. Alas this isn't currently the case for LVM2 :( > lvm_deps --cycles | dot -Tpdf -o cycles_modules.pdf