From 2631fe0420df6e4570fd8272f84ff4c29e009575 Mon Sep 17 00:00:00 2001 From: John Ferlan Date: Sat, 16 Feb 2013 07:43:31 -0500 Subject: [PATCH] internals: Update to include RPC and Lock links and add new data Added a picture and explanation describing the virConnectOpen processing at a "higher" level, but with some source code references. --- docs/internals.html.in | 102 ++++++++++++++++++++++++++-- docs/libvirt-virConnect-example.fig | 58 ++++++++++++++++ docs/libvirt-virConnect-example.png | Bin 0 -> 10464 bytes 3 files changed, 156 insertions(+), 4 deletions(-) create mode 100644 docs/libvirt-virConnect-example.fig create mode 100644 docs/libvirt-virConnect-example.png diff --git a/docs/internals.html.in b/docs/internals.html.in index 5689998d07..90143effdc 100644 --- a/docs/internals.html.in +++ b/docs/internals.html.in @@ -9,12 +9,106 @@

+

Before adding new code it will be important to get a basic understanding + of the many elements involved with making any call or change to the libvirt + code. The architecture goals must be adhered to + when submitting new code. Understanding the many places that need to be + touched and the interactions between various subsystems within libvirt + will directly correlate to the ability to be successful in getting new + code accepted.

+

The following diagram depicts code flow from a client application, in + this case the libvirt provided virsh command through the + various layers to elicit a response from some chosen hypervisor. +

+ +

+ virConnectOpen calling sequence +

+ diff --git a/docs/libvirt-virConnect-example.fig b/docs/libvirt-virConnect-example.fig new file mode 100644 index 0000000000..3d58411f5e --- /dev/null +++ b/docs/libvirt-virConnect-example.fig @@ -0,0 +1,58 @@ +#FIG 3.2 Produced by xfig version 3.2.5b +Landscape +Center +Inches +Letter +100.00 +Single +-2 +1200 2 +2 2 0 2 0 7 50 -1 -1 0.000 0 0 -1 0 0 5 + 450 375 4575 375 4575 1725 450 1725 450 375 +2 2 0 2 0 7 50 -1 -1 0.000 0 0 -1 0 0 5 + 1125 2475 4950 2475 4950 3600 1125 3600 1125 2475 +2 1 0 1 0 7 50 -1 -1 0.000 0 0 -1 1 0 2 + 1 0 1.00 60.00 120.00 + 1725 1725 2175 2475 +2 2 0 1 0 7 50 -1 -1 0.000 0 0 -1 0 0 5 + 3150 5700 6525 5700 6525 6900 3150 6900 3150 5700 +2 2 0 1 0 7 50 -1 -1 0.000 0 0 -1 0 0 5 + 7875 6825 10125 6825 10125 7725 7875 7725 7875 6825 +2 2 0 2 0 7 50 -1 -1 0.000 0 0 -1 0 0 5 + 2550 4725 10350 4725 10350 7800 2550 7800 2550 4725 +2 2 0 1 0 7 50 -1 -1 0.000 0 0 7 0 0 5 + 8850 1950 11550 1950 11550 3360 8850 3360 8850 1950 +2 1 0 1 0 7 50 -1 -1 0.000 0 0 -1 1 0 2 + 1 0 1.00 60.00 120.00 + 3975 3600 5025 4425 +2 1 0 1 0 7 50 -1 -1 0.000 0 0 -1 1 0 2 + 1 0 1.00 60.00 120.00 + 8925 3225 5400 4425 +2 1 0 1 0 7 50 -1 -1 0.000 0 0 -1 1 0 2 + 1 0 1.00 60.00 120.00 + 5625 6900 7875 7425 +2 1 0 1 0 7 50 -1 -1 0.000 0 0 -1 1 0 3 + 1 0 1.00 60.00 120.00 + 11400 3375 11400 7575 10125 7575 +2 2 0 2 0 7 50 -1 -1 0.000 0 0 -1 0 0 5 + 8400 975 12450 975 12450 4125 8400 4125 8400 975 +2 1 0 1 0 7 50 -1 -1 0.000 0 0 -1 1 0 6 + 1 0 1.00 60.00 120.00 + 10125 7125 10725 7125 10725 4425 7725 4425 7725 2700 8850 2700 +4 0 0 50 -1 16 12 0.0000 4 180 2430 1350 2895 virConnectOpenReadOnly(uri)\001 +4 0 0 50 -1 16 12 0.0000 4 180 3240 1350 3090 virConnectOpenAuth(uri, auth, flags)\001 +4 0 0 50 -1 0 12 0.0000 4 165 1350 3300 5850 virConnectOpen:\001 +4 0 0 50 -1 0 12 0.0000 4 165 2070 3300 6045 virConnectOpenReadOnly:\001 +4 0 0 50 -1 0 12 0.0000 4 165 1710 3300 6240 virConnectOpenAuth:\001 +4 0 0 50 -1 0 12 0.0000 4 180 900 3975 6600 do_open():\001 +4 0 0 50 -1 0 14 0.0000 4 135 1260 8025 7125 Rremote driver\001 +4 0 0 50 -1 16 24 0.0000 4 135 630 5025 4650 libvirt\001 +4 0 0 50 -1 0 14 0.0000 4 180 1890 9000 2175 remoteDispatchOpen():\001 +4 0 0 50 -1 0 12 0.0000 4 45 270 9300 2475 ...\001 +4 0 0 50 -1 0 12 0.0000 4 180 1440 9300 2670 virConnectOpen()\001 +4 0 0 50 -1 0 12 0.0000 4 180 2160 9300 2865 virConnectOpenReadOnly()\001 +4 0 0 50 -1 0 12 0.0000 4 45 270 9300 3060 ...\001 +4 0 0 50 -1 0 12 0.0000 4 180 1080 8250 7350 remoteOpen()\001 +4 0 0 50 -1 16 16 0.0000 4 165 3240 600 1050 "virsh -c qemu:///system list --all"\001 +4 0 0 50 -1 16 12 0.0000 4 180 1710 1350 2700 virConnectOpen(uri)\001 +4 0 0 50 -1 16 24 0.0000 4 135 720 9750 825 libvirtd\001 diff --git a/docs/libvirt-virConnect-example.png b/docs/libvirt-virConnect-example.png new file mode 100644 index 0000000000000000000000000000000000000000..ae9c65ba01ef574c59f11d75c7d959b53a02ee2b GIT binary patch literal 10464 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

`0z6?9H=AfR zeUv-e9%tD%f1UX;4du(cBD)pxD3fA7fafxR*@~;#BscLxLN9w`PM9+7t8&!POrx+? znd!)#1HpaGpLy*OF<3c34~fYwI-5Q#x$eMeL*fI>84({%wBk!2i1Zl*h_)6%e5NZa z{RKy%rvcwWRMN5mN4}BR0jbw{ff)=Jl38LeR+gcpT2y_@iikV32ow!oeZgZnw7~L~ z&uMLum}|o|d&+Jt41bRZO!tr}Svxo(v~IyMa`^99?>v`<#Zn&JEur$MI@a#oXvy)< z6ynAztEz{9ag6wOq?p7ri9I|bKF#tu3ak~aJu(Yx3Z&XkajM?}W3?F1Lecp#rS>k- zIjYI8Z13RL@WoAlOc5&Sxw2z8ddC6X@3HD?<{@;DY<|Z&s#unf1Q-^hlC(Vf3362% zWs){OjP-BZ1uu4r8I;JYqWB7$pX0@j3iiFi$^tdsIUgK1#uN zH88-?A7G4dIYwVWknEpZiWM3#r_YGXctUIqaq!7?l?_g&*_gPiU;=iP%Zb>!+9s}h zL1YxtF)8MIvfLv#)aJRKoa^eew1DYCqIY~*;>jIcX#`_s!^Mp)s+nRp zVc`?_*z;h##uWvl6z_z8;MtqqJx9q=^|Tp5BAkZ_i28(&Oh@y=?*x*{s`G=wh@RZ!tk*C+-B%i z>{2`{Fg_E9ffTMidM>B(c4E=!$quSZij8K5WsWL0^zKe#zuT!B#hgJK-&ul$JtICV zJ}Zq!is_4$Vg?PjT>M{Vunoml-Ik*(xNT` zFN$OG+R^rZOnCvy_v8>lqidV^Qxj_y{_hxG6lq_SSjum~-b;D2q(PG_2y`1XRKOb( z=v$@XIsN*!3~%yf`UZz5dhhNR+F1Vu)Zqg4PN0-Pthkv;ROls&V5}e+yLfP1^}YYI z)(*M-v>ZEqE9;T6g+BGoRyIf|fJ_p*>)vzC2_5`CYU2i_t7ijP5Cw5kn)jOc-oo2` zdLnQDy!AKyffT3(LJ=aPr?m8-g`EGp;c5=xfe4-6+#j?tYT`f#p{4Sj<-lI&aa~5l zzJFCBZJ5N{!VS=T(%@&V_P*_uu-V)XoH&Jr#ANFbunTFm040qan})6Zo5Gm#(a>q| z$`7Vf8~g0v|B7x<#jNNtpedKg1U?r2J+)pVA*t|=+Uo05^^c0!WQx-lDbWqXWiCG; z+&a|Wf)DBBSarqY+2QJyw~3;N5mCkC^S*kT%$=G=Z~o!uGSVf>k^b}Z7xA{Cn1b$W z#cYOz9CXA_%e;r$prq#y=lUMgrYHFHnQ6LcpYvok>co!Hbe+V}{5(gNQ3AKEU6!1j zp)eNGn_k;t?t>JUQJK5!y@DzIlyV7I_L<|s5j_lzdaR!pF>oTIe~5@qFF?c8(iRvd zzsG|#&LLqnQd)JR``gtH4Y?&G;*Y%d=9^ijck==-R&l=!ZS5-TGe~;NKJQTp@@>ec z0#E`O3$bH-s(BZ>di`4_rmwu(sM$WR>WZYSx=_QzDEIW~=#uVB@i zk5Yr)y@L$)cq$ziJQrTg5{&#huw9SfcV|NLTQVNdqCf}Jk#;l?Mvox&&q6!Iun^zx zJBN002axw*cZx@(6pu?CJsMCDZX#d@b_;Npv$ENGhdt^(@0%+HMQq0UVq+Q!h3VVO zMF*J+jy3qwwWQr{B0^ayC^^LcWB~Ffe1Vl@rwfoo|C z*e$TsL#j@31Di0#bZS|}1RTBF6vXBq#e~EoYM$;Q2Y}{;{Lh!4SR0&51nzB30UQ|Y zm~jNs&<(q1t4Y!(`05v^cbUJs*+BNW804PdM}KvSeZ78GhYLyHEAs zSUeGmSU539-5au7wDAH`jog2q<@`JAv661?J$8^nrRyT+AVAy}&p-?j zubX{15CDHj9YgJMO^3L9|F=)#_YMDj65pf24G15kU8FTkYBg(WV%Q>l=xtCy*w3B= v03ttwZky+Vp=|z#_=ot1_=ot1_=ot1_=otfO^iczUD&^MrMsN^S5)