diff options
Diffstat (limited to 'presentation/images/qcow2_reading.tex')
-rw-r--r-- | presentation/images/qcow2_reading.tex | 55 |
1 files changed, 55 insertions, 0 deletions
diff --git a/presentation/images/qcow2_reading.tex b/presentation/images/qcow2_reading.tex new file mode 100644 index 0000000..ed11d93 --- /dev/null +++ b/presentation/images/qcow2_reading.tex @@ -0,0 +1,55 @@ +%------------------------------------------------------------------------------- +% qcow2_reading.tex - shows how QCOW2 clusters are mapped for reading +%------------------------------------------------------------------------------- +% author : Manuel Bentele +% date : Aug 29, 2019 +% copyright: (c) 2019 Manuel Bentele +%------------------------------------------------------------------------------- + +\begin{tikzpicture}[ + arrow/.style = {-triangle 45} + ] + \node[inner sep = 0, anchor = north] (blkdev) at (0, 0) { + \renewcommand*{\arraystretch}{1.3} + \begin{tabular}{|c|} \hline + \\ \hline + \\ \hline + \\ \hline + \\ \hline + \cellcolor{dat} \\ \hline + \\ \hline + \cellcolor{dat} \\ \hline + \cellcolor{dat} \\ \hline + \\ \hline + \cellcolor{dat} \\ \hline + \end{tabular} + }; + + \node[inner sep = 0, anchor = north, right = of blkdev] (qcow2) { + \renewcommand*{\arraystretch}{1.3} + \hspace*{-0.25cm} + \begin{tabular}{|c|} \hline + \cellcolor{hdr}Header \\ \hline + \cellcolor{ret}Refcount table \\ \hline + \cellcolor{reb}Refcount block \\ \hline + \cellcolor{l1t}L1~table \\ \hline + \cellcolor{l2t}L2~table \\ \hline + \cellcolor{dat}Data cluster \\ \hline + \cellcolor{l2t}L2~table \\ \hline + \cellcolor{dat}Data cluster \\ \hline + \cellcolor{dat}Data cluster \\ \hline + \cellcolor{dat}Data cluster \\ \hline + \end{tabular} + }; + + \draw[triangle 45-triangle 45] ($(blkdev.north west)!0!(blkdev.south west)$) -- node[left] {$O$} ($(blkdev.north west)!0.6!(blkdev.south west)$); + \draw[triangle 45-triangle 45] ($(blkdev.north west)!0.6!(blkdev.south west)$) -- node[left] {$S$} ($(blkdev.north west)!0.8!(blkdev.south west)$); + + \node[above = 0.5 of blkdev, align = center] {Block\\device}; + \node[above = 0.5 of qcow2, align = center] {QCOW2\\file format}; + + \draw[arrow] ($(blkdev.north east)!0.45!(blkdev.south east)$) -- ($(qcow2.north west)!0.75!(qcow2.south west)$); + \draw[arrow] ($(blkdev.north east)!0.65!(blkdev.south east)$) -- ($(qcow2.north west)!0.55!(qcow2.south west)$); + \draw[arrow] ($(blkdev.north east)!0.75!(blkdev.south east)$) -- ($(qcow2.north west)!0.85!(qcow2.south west)$); + \draw[arrow] ($(blkdev.north east)!0.95!(blkdev.south east)$) -- ($(qcow2.north west)!0.95!(qcow2.south west)$); +\end{tikzpicture}
\ No newline at end of file |