blob: effed13092b8e4b3ee5b301791c8754fb3d2093d [file] [log] [blame]
<svg xmlns="http://www.w3.org/2000/svg" width="441.5" height="424" viewBox="0 0 441.5 424"><defs><style>.a{fill:#fef3f3;}.a,.b,.c,.e,.g,.h,.j,.k,.n,.o,.q,.r{stroke:#231f20;stroke-miterlimit:10;}.b{fill:#fcd9d9;}.c{fill:#ffebc0;}.d,.l{font-size:12px;}.d,.i,.l{fill:#231f20;}.d{font-family:ArialMT, Arial;}.e{fill:#dcd8ec;}.f{letter-spacing:-0.04em;}.g{fill:#d9eabc;}.h,.j,.k,.n{fill:none;}.j{stroke-dasharray:2 2;}.k{stroke-dasharray:1.99 1.99;}.l{font-family:Arial-BoldMT, Arial;font-weight:700;}.m,.p{font-family:Arial-ItalicMT, Arial;font-style:italic;}.m{font-weight:400;}.n{stroke-width:4px;}.o{fill:#f2f3c0;}.q{fill:#e8c2dc;}.r{fill:#f9bfc0;}</style></defs><rect class="a" x="306" y="99" width="72" height="36" transform="translate(621.5 135.5) rotate(180)"/><rect class="b" x="315" y="108" width="72" height="36" transform="translate(639.5 153.5) rotate(180)"/><rect class="c" x="72" y="387" width="153" height="36" transform="translate(234.5 711.5) rotate(180)"/><text class="d" transform="translate(18.5 311.65)">block_client::BlockDevice</text><rect class="e" x="72" y="324" width="153" height="36" transform="translate(234.5 585.5) rotate(180)"/><text class="d" transform="translate(25.86 248.65)">fs::<tspan class="f" x="16" y="0">T</tspan><tspan x="22.89" y="0">ransactionHandler</tspan></text><rect class="e" x="72" y="261" width="153" height="36" transform="translate(234.5 459.5) rotate(180)"/><text class="d" transform="translate(58.32 185.65)">fs::Journal</text><rect class="g" x="324" y="261" width="153" height="99" transform="translate(738.5 522.5) rotate(180)"/><text class="d" transform="translate(309.33 217.15)">Filesystem</text><rect class="e" x="324" y="198" width="153" height="36" transform="translate(738.5 333.5) rotate(180)"/><text class="d" transform="translate(321.33 122.65)">fs::Vfs</text><line class="h" x1="261.5" y1="180.5" x2="163.7" y2="180.5"/><path class="i" d="M233,274.2a.49.49,0,0,1-.16.69L226.43,279l6.45,4.11a.49.49,0,0,1,.16.69.5.5,0,0,1-.69.15l-7.12-4.53a.5.5,0,0,1,0-.84l7.12-4.53a.42.42,0,0,1,.26-.08A.51.51,0,0,1,233,274.2Z" transform="translate(-62.5 -98.5)"/><line class="h" x1="261.5" y1="243.5" x2="163.7" y2="243.5"/><path class="i" d="M233,337.2a.49.49,0,0,1-.16.69L226.43,342l6.45,4.11a.49.49,0,0,1,.16.69.5.5,0,0,1-.69.15l-7.12-4.53a.5.5,0,0,1,0-.84l7.12-4.53a.42.42,0,0,1,.26-.08A.51.51,0,0,1,233,337.2Z" transform="translate(-62.5 -98.5)"/><text class="d" transform="translate(190.55 176.5)">journaled</text><text class="d" transform="translate(180.64 239.5)">unjournaled</text><line class="h" x1="81.5" y1="261.5" x2="81.5" y2="285.4"/><path class="i" d="M139.2,377.07a.5.5,0,0,1,.69.15l4.11,6.46,4.11-6.46a.5.5,0,1,1,.84.54l-4.53,7.12a.5.5,0,0,1-.84,0l-4.53-7.12a.45.45,0,0,1-.08-.27A.51.51,0,0,1,139.2,377.07Z" transform="translate(-62.5 -98.5)"/><line class="h" x1="81.5" y1="198.5" x2="81.5" y2="224.3"/><path class="i" d="M139.2,316a.49.49,0,0,1,.69.16l4.11,6.45,4.11-6.45a.49.49,0,0,1,.69-.16.5.5,0,0,1,.15.69l-4.53,7.12a.5.5,0,0,1-.84,0l-4.53-7.12a.42.42,0,0,1-.08-.26A.51.51,0,0,1,139.2,316Z" transform="translate(-62.5 -98.5)"/><line class="h" x1="333.5" y1="135.5" x2="333.5" y2="161.3"/><path class="i" d="M391.2,253a.49.49,0,0,1,.69.16l4.11,6.45,4.11-6.45a.49.49,0,0,1,.69-.16.5.5,0,0,1,.15.69l-4.53,7.12a.5.5,0,0,1-.84,0l-4.53-7.12a.42.42,0,0,1-.08-.26A.51.51,0,0,1,391.2,253Z" transform="translate(-62.5 -98.5)"/><polyline class="h" points="423.5 332.5 423.5 333.5 422.5 333.5"/><line class="j" x1="420.5" y1="333.5" x2="2.5" y2="333.5"/><polyline class="h" points="1.5 333.5 0.5 333.5 0.5 332.5"/><line class="k" x1="0.5" y1="330.51" x2="0.5" y2="92.5"/><polyline class="h" points="0.5 91.5 0.5 90.5 1.5 90.5"/><line class="j" x1="3.5" y1="90.5" x2="421.5" y2="90.5"/><polyline class="h" points="422.5 90.5 423.5 90.5 423.5 91.5"/><line class="k" x1="423.5" y1="93.49" x2="423.5" y2="331.5"/><text class="l" transform="translate(9.5 108.09)">C++ Filesystem process<tspan class="m"><tspan x="0" y="14.4">(Rust is similar but some names are different)</tspan></tspan></text><line class="n" x1="297.5" y1="94.93" x2="297.5" y2="54.5"/><polygon class="i" points="304.28 86.96 297.5 93.75 290.72 86.96 290.72 92.72 297.5 99.5 304.28 92.72 304.28 86.96"/><line class="n" x1="378.5" y1="94.93" x2="378.5" y2="54.5"/><polygon class="i" points="385.28 86.96 378.5 93.75 371.72 86.96 371.72 92.72 378.5 99.5 385.28 92.72 385.28 86.96"/><text class="d" transform="translate(205.58 81.09)"><tspan xml:space="preserve"> fuchsia.io FID</tspan><tspan class="f" x="76.69" y="0">L</tspan></text><text class="d" transform="translate(387.5 81.09)">Pager</text><line class="n" x1="81.5" y1="364.93" x2="81.5" y2="324.5"/><polygon class="i" points="88.28 356.96 81.5 363.75 74.72 356.96 74.72 362.72 81.5 369.5 88.28 362.72 88.28 356.96"/><text class="d" transform="translate(90.5 351.09)">FIFO</text><rect class="o" x="63" y="468" width="171" height="54" transform="translate(234.5 891.5) rotate(180)"/><text class="d" transform="translate(9.96 394.45)">Block device implementation<tspan class="p"><tspan x="25.7" y="14.4">(zxcrypt, FVM, etc)</tspan></tspan></text><rect class="q" x="405" y="99" width="72" height="54" transform="translate(819.5 153.5) rotate(180)"/><text class="d" transform="translate(361.16 32.65)">Kernel</text><rect class="r" x="324" y="117" width="72" height="36" transform="translate(657.5 171.5) rotate(180)"/><text class="d" transform="translate(282.16 34.45)">Client <tspan x="-12.01" y="14.4">processes</tspan></text></svg>