summaryrefslogtreecommitdiffstats
path: root/presentation/images/qcow2_addressing.tex
diff options
context:
space:
mode:
Diffstat (limited to 'presentation/images/qcow2_addressing.tex')
-rw-r--r--presentation/images/qcow2_addressing.tex63
1 files changed, 63 insertions, 0 deletions
diff --git a/presentation/images/qcow2_addressing.tex b/presentation/images/qcow2_addressing.tex
new file mode 100644
index 0000000..f052248
--- /dev/null
+++ b/presentation/images/qcow2_addressing.tex
@@ -0,0 +1,63 @@
+%-------------------------------------------------------------------------------
+% qcow2_addressing.tex - addressing of QCOW2 data clusters as image
+%-------------------------------------------------------------------------------
+% author : Manuel Bentele
+% date : Aug 29, 2019
+% copyright: (c) 2019 Manuel Bentele
+%-------------------------------------------------------------------------------
+
+\begin{tikzpicture}[
+ arrow/.style = {-triangle 45},
+ datacluster/.style = {rectangle, draw, fill = dat,
+ minimum width = 0.1\textwidth, minimum height = 0.1\textheight},
+ heading/.style = {font = \Large}
+ ]
+ \node[inner sep = 0, anchor = north] (l1table) at (0, 0) {
+ \begin{tabular}{|p{0.25\textwidth}|} \hline
+ \cellcolor{dat} \\ \hline
+ \\ \hline
+ \cellcolor{dat} \\ \hline
+ \\ \hline
+ \end{tabular}
+ };
+
+ \node[inner sep = 0, anchor = north] (l2table1) at (0.5\textwidth, 0) {
+ \begin{tabular}{|p{0.25\textwidth}|} \hline
+ \\ \hline
+ \\ \hline
+ \cellcolor{dat} \\ \hline
+ \\ \hline
+ \cellcolor{dat} \\ \hline
+ \end{tabular}
+ };
+
+ \node[inner sep = 0, below = 0.75 of l2table1] (l2table2) {
+ \begin{tabular}{|p{0.25\textwidth}|} \hline
+ \\ \hline
+ \cellcolor{dat} \\ \hline
+ \cellcolor{dat} \\ \hline
+ \\ \hline
+ \cellcolor{dat} \\ \hline
+ \end{tabular}
+ };
+
+ \node[inner sep = 0, anchor = north, datacluster] (data1) at (0.9\textwidth, 0) {};
+ \node[inner sep = 0, below = 0.5 of data1, datacluster] (data2) {};
+ \node[inner sep = 0, below = 0.5 of data2, datacluster] (data3) {};
+ \node[inner sep = 0, below = 0.5 of data3, datacluster] (data4) {};
+ \node[inner sep = 0, below = 0.5 of data4, datacluster] (data5) {};
+
+ \node[above = 0.5 of l1table, heading] {L1~table};
+ \node[above = 0.5 of l2table1, heading] {L2~tables};
+ \node[above = 0.5 of data1, heading] {Data clusters};
+
+
+ \draw[arrow] ($(l1table.north east)!0.125!(l1table.south east)$) -- ($(l2table1.north west)!0.1!(l2table1.south west)$);
+ \draw[arrow] ($(l1table.north east)!0.625!(l1table.south east)$) -- ($(l2table2.north west)!0.1!(l2table2.south west)$);
+
+ \draw[arrow] ($(l2table1.north east)!0.5!(l2table1.south east)$) -- (data1.west);
+ \draw[arrow] ($(l2table1.north east)!0.9!(l2table1.south east)$) -- (data2.west);
+ \draw[arrow] ($(l2table2.north east)!0.3!(l2table2.south east)$) -- (data3.west);
+ \draw[arrow] ($(l2table2.north east)!0.5!(l2table2.south east)$) -- (data4.west);
+ \draw[arrow] ($(l2table2.north east)!0.9!(l2table2.south east)$) -- (data5.west);
+\end{tikzpicture} \ No newline at end of file