Commit 19738029 authored by Kirill Smelkov's avatar Kirill Smelkov

.

parent 991d1453
......@@ -18,6 +18,7 @@ digraph {
wcfs -> wcfsInvProcess;
wcfs -> wcfsRead;
wcfs -> wcfsGC;
wcfsInvProcess -> ZODB_go_inv;
wcfsInvProcess -> zconnCacheGet;
......@@ -69,7 +70,7 @@ digraph {
wcfsInvProcess [label="process\nZODB invalidations"]
zconnCacheGet [label="zconn.Cache.Get", style=filled fillcolor=grey95]
zobj2file [label="Z* → file/[]#blk"]
zblk2file [label="ZBlk* → file/[]#blk"]
zblk2file [label="ZBlk* → file/[]#blk", style=filled fillcolor=grey95]
zbtree2file [label="BTree/Bucket → file/[]#blk"]
δBTree [label="δ(BTree)"]
......@@ -99,5 +100,6 @@ digraph {
// zodburl [label="zstor -> zurl", style=filled fillcolor=grey95]
wcfsGC [label="GC\n@rev/"]
autoexit [label="autoexit\nif !activity"]
}
......@@ -4,29 +4,29 @@
<!-- Generated by graphviz version 2.40.1 (20161225.0304)
-->
<!-- Title: %3 Pages: 1 -->
<svg width="1554pt" height="403pt"
viewBox="0.00 0.00 1554.46 402.96" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink">
<svg width="1568pt" height="403pt"
viewBox="0.00 0.00 1568.46 402.96" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink">
<g id="graph0" class="graph" transform="scale(1 1) rotate(0) translate(4 398.9605)">
<title>%3</title>
<polygon fill="#ffffff" stroke="transparent" points="-4,4 -4,-398.9605 1550.4565,-398.9605 1550.4565,4 -4,4"/>
<polygon fill="#ffffff" stroke="transparent" points="-4,4 -4,-398.9605 1564.4565,-398.9605 1564.4565,4 -4,4"/>
<!-- wcfs -->
<g id="node1" class="node">
<title>wcfs</title>
<ellipse fill="none" stroke="#000000" cx="859.8112" cy="-368.0904" rx="27.0966" ry="18"/>
<text text-anchor="middle" x="859.8112" y="-364.3904" font-family="Times,serif" font-size="14.00" fill="#000000">wcfs</text>
<ellipse fill="none" stroke="#000000" cx="947.8112" cy="-368.0904" rx="27.0966" ry="18"/>
<text text-anchor="middle" x="947.8112" y="-364.3904" font-family="Times,serif" font-size="14.00" fill="#000000">wcfs</text>
</g>
<!-- invProto -->
<g id="node2" class="node">
<title>invProto</title>
<ellipse fill="#f2f2f2" stroke="#000000" cx="1065.8112" cy="-368.0904" rx="78.4777" ry="26.7407"/>
<text text-anchor="middle" x="1065.8112" y="-371.8904" font-family="Times,serif" font-size="14.00" fill="#000000">open/invalidation</text>
<text text-anchor="middle" x="1065.8112" y="-356.8904" font-family="Times,serif" font-size="14.00" fill="#000000">protocol</text>
<ellipse fill="#f2f2f2" stroke="#000000" cx="1104.8112" cy="-368.0904" rx="78.4777" ry="26.7407"/>
<text text-anchor="middle" x="1104.8112" y="-371.8904" font-family="Times,serif" font-size="14.00" fill="#000000">open/invalidation</text>
<text text-anchor="middle" x="1104.8112" y="-356.8904" font-family="Times,serif" font-size="14.00" fill="#000000">protocol</text>
</g>
<!-- wcfs&#45;&gt;invProto -->
<g id="edge1" class="edge">
<title>wcfs&#45;&gt;invProto</title>
<path fill="none" stroke="#000000" d="M887.1706,-368.0904C917.1593,-368.0904 947.1481,-368.0904 977.1369,-368.0904"/>
<polygon fill="#000000" stroke="#000000" points="977.307,-371.5905 987.307,-368.0904 977.307,-364.5905 977.307,-371.5905"/>
<path fill="none" stroke="#000000" d="M975.4088,-368.0904C988.9027,-368.0904 1002.3966,-368.0904 1015.8905,-368.0904"/>
<polygon fill="#000000" stroke="#000000" points="1016.2094,-371.5905 1026.2094,-368.0904 1016.2093,-364.5905 1016.2094,-371.5905"/>
</g>
<!-- autoexit -->
<g id="node4" class="node">
......@@ -38,8 +38,8 @@
<!-- wcfs&#45;&gt;autoexit -->
<g id="edge3" class="edge">
<title>wcfs&#45;&gt;autoexit</title>
<path fill="none" stroke="#000000" d="M835.5583,-359.7121C802.2492,-348.0832 740.5811,-326.1155 688.8112,-305.2203 684.8876,-303.6367 680.8405,-301.9574 676.7852,-300.2419"/>
<polygon fill="#000000" stroke="#000000" points="677.9322,-296.9256 667.3621,-296.2017 675.1737,-303.3592 677.9322,-296.9256"/>
<path fill="none" stroke="#000000" d="M921.2727,-363.2609C873.8768,-354.2817 771.8618,-333.3454 688.8112,-305.2203 684.5656,-303.7826 680.2083,-302.1648 675.8702,-300.4543"/>
<polygon fill="#000000" stroke="#000000" points="677.0355,-297.1493 666.4551,-296.5956 674.3809,-303.6265 677.0355,-297.1493"/>
</g>
<!-- wcfsInvProcess -->
<g id="node5" class="node">
......@@ -51,269 +51,282 @@
<!-- wcfs&#45;&gt;wcfsInvProcess -->
<g id="edge4" class="edge">
<title>wcfs&#45;&gt;wcfsInvProcess</title>
<path fill="none" stroke="#000000" d="M846.939,-352.0467C838.2299,-341.1917 826.3891,-326.4335 815.5908,-312.9745"/>
<polygon fill="#000000" stroke="#000000" points="818.0273,-310.4184 809.0393,-304.8088 812.5674,-314.799 818.0273,-310.4184"/>
<path fill="none" stroke="#000000" d="M926.894,-356.3585C904.7855,-343.9583 869.0751,-323.9292 839.3755,-307.2715"/>
<polygon fill="#000000" stroke="#000000" points="840.8071,-304.0615 830.3731,-302.2222 837.3827,-310.1668 840.8071,-304.0615"/>
</g>
<!-- wcfsRead -->
<g id="node6" class="node">
<title>wcfsRead</title>
<ellipse fill="none" stroke="#000000" cx="1097.8112" cy="-278.3503" rx="47.3916" ry="18"/>
<text text-anchor="middle" x="1097.8112" y="-274.6503" font-family="Times,serif" font-size="14.00" fill="#000000">read(#blk)</text>
<ellipse fill="none" stroke="#000000" cx="1119.8112" cy="-278.3503" rx="47.3916" ry="18"/>
<text text-anchor="middle" x="1119.8112" y="-274.6503" font-family="Times,serif" font-size="14.00" fill="#000000">read(#blk)</text>
</g>
<!-- wcfs&#45;&gt;wcfsRead -->
<g id="edge5" class="edge">
<title>wcfs&#45;&gt;wcfsRead</title>
<path fill="none" stroke="#000000" d="M883.9416,-358.9918C923.9371,-343.9111 1004.5048,-313.5323 1054.532,-294.6691"/>
<polygon fill="#000000" stroke="#000000" points="1055.9871,-297.8611 1064.1092,-291.058 1053.5173,-291.3112 1055.9871,-297.8611"/>
<path fill="none" stroke="#000000" d="M969.2473,-356.9062C997.6847,-342.0692 1048.3174,-315.6518 1082.9497,-297.5826"/>
<polygon fill="#000000" stroke="#000000" points="1084.5768,-300.6815 1091.8236,-292.9527 1081.3387,-294.4754 1084.5768,-300.6815"/>
</g>
<!-- wcfsGC -->
<g id="node7" class="node">
<title>wcfsGC</title>
<ellipse fill="none" stroke="#000000" cx="947.8112" cy="-278.3503" rx="35.2113" ry="26.7407"/>
<text text-anchor="middle" x="947.8112" y="-282.1503" font-family="Times,serif" font-size="14.00" fill="#000000">GC</text>
<text text-anchor="middle" x="947.8112" y="-267.1503" font-family="Times,serif" font-size="14.00" fill="#000000">@rev/</text>
</g>
<!-- wcfs&#45;&gt;wcfsGC -->
<g id="edge6" class="edge">
<title>wcfs&#45;&gt;wcfsGC</title>
<path fill="none" stroke="#000000" d="M947.8112,-349.9302C947.8112,-340.0272 947.8112,-327.395 947.8112,-315.5075"/>
<polygon fill="#000000" stroke="#000000" points="951.3113,-315.3399 947.8112,-305.3399 944.3113,-315.34 951.3113,-315.3399"/>
</g>
<!-- client -->
<g id="node3" class="node">
<title>client</title>
<ellipse fill="none" stroke="#000000" cx="1233.8112" cy="-368.0904" rx="30.5947" ry="18"/>
<text text-anchor="middle" x="1233.8112" y="-364.3904" font-family="Times,serif" font-size="14.00" fill="#000000">client</text>
<ellipse fill="none" stroke="#000000" cx="1247.8112" cy="-368.0904" rx="30.5947" ry="18"/>
<text text-anchor="middle" x="1247.8112" y="-364.3904" font-family="Times,serif" font-size="14.00" fill="#000000">client</text>
</g>
<!-- invProto&#45;&gt;client -->
<g id="edge2" class="edge">
<title>invProto&#45;&gt;client</title>
<path fill="none" stroke="#000000" d="M1154.628,-368.0904C1170.7958,-368.0904 1186.9636,-368.0904 1203.1315,-368.0904"/>
<polygon fill="#000000" stroke="#000000" points="1154.5612,-364.5905 1144.5612,-368.0904 1154.5611,-371.5905 1154.5612,-364.5905"/>
<path fill="none" stroke="#000000" d="M1193.8179,-368.0904C1201.6112,-368.0904 1209.4044,-368.0904 1217.1976,-368.0904"/>
<polygon fill="#000000" stroke="#000000" points="1193.5729,-364.5905 1183.5729,-368.0904 1193.5729,-371.5905 1193.5729,-364.5905"/>
</g>
<!-- client&#45;&gt;wcfsRead -->
<g id="edge22" class="edge">
<g id="edge23" class="edge">
<title>client&#45;&gt;wcfsRead</title>
<path fill="none" stroke="#000000" d="M1213.4506,-354.6554C1191.3478,-340.0708 1155.7503,-316.5816 1129.8833,-299.5132"/>
<polygon fill="#000000" stroke="#000000" points="1131.7919,-296.5793 1121.5176,-293.993 1127.9366,-302.422 1131.7919,-296.5793"/>
<path fill="none" stroke="#000000" d="M1228.0917,-354.2652C1207.6058,-339.9027 1175.2476,-317.2165 1151.2335,-300.3803"/>
<polygon fill="#000000" stroke="#000000" points="1152.9986,-297.3433 1142.8012,-294.4685 1148.9801,-303.075 1152.9986,-297.3433"/>
</g>
<!-- mappingRegister -->
<g id="node17" class="node">
<g id="node18" class="node">
<title>mappingRegister</title>
<ellipse fill="none" stroke="#000000" cx="1264.8112" cy="-188.6102" rx="65.1077" ry="26.7407"/>
<text text-anchor="middle" x="1264.8112" y="-192.4102" font-family="Times,serif" font-size="14.00" fill="#000000">mmappings:</text>
<text text-anchor="middle" x="1264.8112" y="-177.4102" font-family="Times,serif" font-size="14.00" fill="#000000">register/maint</text>
</g>
<!-- client&#45;&gt;mappingRegister -->
<g id="edge23" class="edge">
<g id="edge24" class="edge">
<title>client&#45;&gt;mappingRegister</title>
<path fill="none" stroke="#000000" d="M1236.621,-349.886C1240.2019,-326.9188 1246.6665,-286.2213 1252.8112,-251.4802 1254.2972,-243.0787 1255.9712,-234.0613 1257.5869,-225.5533"/>
<polygon fill="#000000" stroke="#000000" points="1261.0681,-225.9835 1259.5122,-215.5036 1254.1931,-224.6664 1261.0681,-225.9835"/>
<path fill="none" stroke="#000000" d="M1249.5348,-349.8932C1252.2816,-320.8932 1257.7076,-263.6077 1261.2976,-225.7051"/>
<polygon fill="#000000" stroke="#000000" points="1264.7991,-225.8537 1262.2578,-215.5682 1257.8303,-225.1935 1264.7991,-225.8537"/>
</g>
<!-- clientInvHandle -->
<g id="node22" class="node">
<g id="node23" class="node">
<title>clientInvHandle</title>
<ellipse fill="none" stroke="#000000" cx="1342.8112" cy="-278.3503" rx="80.7205" ry="26.7407"/>
<text text-anchor="middle" x="1342.8112" y="-282.1503" font-family="Times,serif" font-size="14.00" fill="#000000">process</text>
<text text-anchor="middle" x="1342.8112" y="-267.1503" font-family="Times,serif" font-size="14.00" fill="#000000">#blk invalidations</text>
<ellipse fill="none" stroke="#000000" cx="1356.8112" cy="-278.3503" rx="80.7205" ry="26.7407"/>
<text text-anchor="middle" x="1356.8112" y="-282.1503" font-family="Times,serif" font-size="14.00" fill="#000000">process</text>
<text text-anchor="middle" x="1356.8112" y="-267.1503" font-family="Times,serif" font-size="14.00" fill="#000000">#blk invalidations</text>
</g>
<!-- client&#45;&gt;clientInvHandle -->
<g id="edge24" class="edge">
<g id="edge25" class="edge">
<title>client&#45;&gt;clientInvHandle</title>
<path fill="none" stroke="#000000" d="M1251.8103,-353.2716C1266.0729,-341.5292 1286.5081,-324.7049 1304.4013,-309.9733"/>
<polygon fill="#000000" stroke="#000000" points="1306.9168,-312.4359 1312.4124,-303.3777 1302.4676,-307.0317 1306.9168,-312.4359"/>
<path fill="none" stroke="#000000" d="M1265.8103,-353.2716C1280.0729,-341.5292 1300.5081,-324.7049 1318.4013,-309.9733"/>
<polygon fill="#000000" stroke="#000000" points="1320.9168,-312.4359 1326.4124,-303.3777 1316.4676,-307.0317 1320.9168,-312.4359"/>
</g>
<!-- nowcfs -->
<g id="node23" class="node">
<g id="node24" class="node">
<title>nowcfs</title>
<ellipse fill="none" stroke="#000000" cx="1493.8112" cy="-278.3503" rx="52.7911" ry="18"/>
<text text-anchor="middle" x="1493.8112" y="-274.6503" font-family="Times,serif" font-size="14.00" fill="#000000">!wcfs mode</text>
<ellipse fill="none" stroke="#000000" cx="1507.8112" cy="-278.3503" rx="52.7911" ry="18"/>
<text text-anchor="middle" x="1507.8112" y="-274.6503" font-family="Times,serif" font-size="14.00" fill="#000000">!wcfs mode</text>
</g>
<!-- client&#45;&gt;nowcfs -->
<g id="edge25" class="edge">
<g id="edge26" class="edge">
<title>client&#45;&gt;nowcfs</title>
<path fill="none" stroke="#000000" d="M1261.4952,-360.3797C1300.2362,-349.3561 1372.6328,-327.9035 1432.8112,-305.2203 1439.359,-302.7523 1446.217,-299.9509 1452.8732,-297.1115"/>
<polygon fill="#000000" stroke="#000000" points="1454.6473,-300.1567 1462.4215,-292.9586 1451.8553,-293.7376 1454.6473,-300.1567"/>
<path fill="none" stroke="#000000" d="M1275.4952,-360.3797C1314.2362,-349.3561 1386.6328,-327.9035 1446.8112,-305.2203 1453.359,-302.7523 1460.217,-299.9509 1466.8732,-297.1115"/>
<polygon fill="#000000" stroke="#000000" points="1468.6473,-300.1567 1476.4215,-292.9586 1465.8553,-293.7376 1468.6473,-300.1567"/>
</g>
<!-- ZODB_go_inv -->
<g id="node7" class="node">
<g id="node8" class="node">
<title>ZODB_go_inv</title>
<ellipse fill="none" stroke="#000000" cx="324.8112" cy="-188.6102" rx="60.623" ry="26.7407"/>
<text text-anchor="middle" x="324.8112" y="-192.4102" font-family="Times,serif" font-size="14.00" fill="#000000">ZODB/go</text>
<text text-anchor="middle" x="324.8112" y="-177.4102" font-family="Times,serif" font-size="14.00" fill="#000000">invalidations</text>
</g>
<!-- wcfsInvProcess&#45;&gt;ZODB_go_inv -->
<g id="edge6" class="edge">
<g id="edge7" class="edge">
<title>wcfsInvProcess&#45;&gt;ZODB_go_inv</title>
<path fill="none" stroke="#000000" d="M723.6883,-259.5135C712.145,-256.5331 700.1713,-253.7055 688.8112,-251.4802 559.6238,-226.1743 522.5488,-247.306 394.8112,-215.4802 389.4429,-214.1427 383.9278,-212.5087 378.4625,-210.7136"/>
<polygon fill="#000000" stroke="#000000" points="379.3162,-207.3053 368.7214,-207.3375 377.0239,-213.9193 379.3162,-207.3053"/>
</g>
<!-- zconnCacheGet -->
<g id="node8" class="node">
<g id="node9" class="node">
<title>zconnCacheGet</title>
<ellipse fill="#f2f2f2" stroke="#000000" cx="474.8112" cy="-188.6102" rx="71.4873" ry="18"/>
<text text-anchor="middle" x="474.8112" y="-184.9102" font-family="Times,serif" font-size="14.00" fill="#000000">zconn.Cache.Get</text>
</g>
<!-- wcfsInvProcess&#45;&gt;zconnCacheGet -->
<g id="edge7" class="edge">
<g id="edge8" class="edge">
<title>wcfsInvProcess&#45;&gt;zconnCacheGet</title>
<path fill="none" stroke="#000000" d="M721.2468,-260.277C710.406,-257.3355 699.2965,-254.3222 688.8112,-251.4802 629.7056,-235.4599 614.4515,-233.1278 555.8112,-215.4802 546.341,-212.6302 536.3025,-209.4397 526.6358,-206.2799"/>
<polygon fill="#000000" stroke="#000000" points="527.7211,-202.9524 517.128,-203.1441 525.5285,-209.6002 527.7211,-202.9524"/>
</g>
<!-- zobj2file -->
<g id="node9" class="node">
<g id="node10" class="node">
<title>zobj2file</title>
<ellipse fill="none" stroke="#000000" cx="634.8112" cy="-188.6102" rx="70.3881" ry="18"/>
<text text-anchor="middle" x="634.8112" y="-184.9102" font-family="Times,serif" font-size="14.00" fill="#000000">Z* → file/[]#blk</text>
</g>
<!-- wcfsInvProcess&#45;&gt;zobj2file -->
<g id="edge8" class="edge">
<g id="edge9" class="edge">
<title>wcfsInvProcess&#45;&gt;zobj2file</title>
<path fill="none" stroke="#000000" d="M746.81,-254.3016C723.5232,-240.643 694.5977,-223.6771 671.9761,-210.4087"/>
<polygon fill="#000000" stroke="#000000" points="673.7252,-207.3771 663.3286,-205.3367 670.1836,-213.4151 673.7252,-207.3771"/>
</g>
<!-- δFtail -->
<g id="node10" class="node">
<g id="node11" class="node">
<title>δFtail</title>
<ellipse fill="#f2f2f2" stroke="#000000" cx="902.8112" cy="-188.6102" rx="31.6951" ry="18"/>
<text text-anchor="middle" x="902.8112" y="-184.9102" font-family="Times,serif" font-size="14.00" fill="#000000">δFtail</text>
</g>
<!-- wcfsInvProcess&#45;&gt;δFtail -->
<g id="edge9" class="edge">
<g id="edge10" class="edge">
<title>wcfsInvProcess&#45;&gt;δFtail</title>
<path fill="none" stroke="#000000" d="M820.1511,-253.1138C837.6886,-239.4285 859.1158,-222.7078 875.7595,-209.7199"/>
<polygon fill="#000000" stroke="#000000" points="878.2507,-212.2155 883.9812,-203.3041 873.9443,-206.6969 878.2507,-212.2155"/>
</g>
<!-- fuseRetrieveCache -->
<g id="node11" class="node">
<g id="node12" class="node">
<title>fuseRetrieveCache</title>
<ellipse fill="#f2f2f2" stroke="#000000" cx="787.8112" cy="-188.6102" rx="65.1077" ry="26.7407"/>
<text text-anchor="middle" x="787.8112" y="-192.4102" font-family="Times,serif" font-size="14.00" fill="#000000">FUSE:</text>
<text text-anchor="middle" x="787.8112" y="-177.4102" font-family="Times,serif" font-size="14.00" fill="#000000">retrieve cache</text>
</g>
<!-- wcfsInvProcess&#45;&gt;fuseRetrieveCache -->
<g id="edge10" class="edge">
<g id="edge11" class="edge">
<title>wcfsInvProcess&#45;&gt;fuseRetrieveCache</title>
<path fill="none" stroke="#000000" d="M787.8112,-251.4253C787.8112,-243.3504 787.8112,-234.3471 787.8112,-225.7362"/>
<polygon fill="#000000" stroke="#000000" points="791.3113,-225.5161 787.8112,-215.5162 784.3113,-225.5162 791.3113,-225.5161"/>
</g>
<!-- wcfsRead&#45;&gt;δFtail -->
<g id="edge16" class="edge">
<g id="edge17" class="edge">
<title>wcfsRead&#45;&gt;δFtail</title>
<path fill="none" stroke="#000000" d="M1062.4077,-266.3553C1030.3717,-254.9534 982.3024,-236.4646 942.8112,-215.4802 938.9881,-213.4488 935.0761,-211.1406 931.2674,-208.7506"/>
<polygon fill="#000000" stroke="#000000" points="932.9424,-205.664 922.6582,-203.1172 929.1096,-211.5214 932.9424,-205.664"/>
<path fill="none" stroke="#000000" d="M1081.3894,-267.7447C1044.7522,-256.9331 988.5406,-238.5028 942.8112,-215.4802 938.7505,-213.4359 934.6113,-211.0486 930.6099,-208.5562"/>
<polygon fill="#000000" stroke="#000000" points="932.4387,-205.5701 922.1543,-203.0241 928.6062,-211.4278 932.4387,-205.5701"/>
</g>
<!-- blktabGet -->
<g id="node16" class="node">
<g id="node17" class="node">
<title>blktabGet</title>
<ellipse fill="none" stroke="#000000" cx="1066.8112" cy="-188.6102" rx="114.6026" ry="26.7407"/>
<text text-anchor="middle" x="1066.8112" y="-192.4102" font-family="Times,serif" font-size="14.00" fill="#000000">blktab.Get(#blk):</text>
<text text-anchor="middle" x="1066.8112" y="-177.4102" font-family="Times,serif" font-size="14.00" fill="#000000">manually + → ⌈rev(#blk)⌉</text>
</g>
<!-- wcfsRead&#45;&gt;blktabGet -->
<g id="edge15" class="edge">
<g id="edge16" class="edge">
<title>wcfsRead&#45;&gt;blktabGet</title>
<path fill="none" stroke="#000000" d="M1091.5379,-260.19C1088.0824,-250.187 1083.665,-237.3994 1079.5225,-225.4074"/>
<polygon fill="#000000" stroke="#000000" points="1082.7079,-223.9089 1076.1345,-215.5998 1076.0915,-226.1946 1082.7079,-223.9089"/>
<path fill="none" stroke="#000000" d="M1109.3401,-260.6205C1103.2227,-250.2624 1095.2798,-236.8135 1087.917,-224.3468"/>
<polygon fill="#000000" stroke="#000000" points="1090.7917,-222.3316 1082.6927,-215.501 1084.7644,-225.8913 1090.7917,-222.3316"/>
</g>
<!-- wcfsRead&#45;&gt;mappingRegister -->
<g id="edge17" class="edge">
<g id="edge18" class="edge">
<title>wcfsRead&#45;&gt;mappingRegister</title>
<path fill="none" stroke="#000000" d="M1125.3878,-263.5315C1149.9872,-250.3127 1186.5709,-230.6538 1216.0922,-214.7901"/>
<polygon fill="#000000" stroke="#000000" points="1217.8541,-217.8167 1225.0061,-210.0001 1214.5406,-211.6506 1217.8541,-217.8167"/>
<path fill="none" stroke="#000000" d="M1144.7376,-262.9234C1165.3807,-250.1475 1195.2367,-231.6696 1220.0126,-216.3359"/>
<polygon fill="#000000" stroke="#000000" points="1221.8796,-219.2966 1228.5409,-211.0578 1218.1957,-213.3443 1221.8796,-219.2966"/>
</g>
<!-- headInv -->
<g id="node18" class="node">
<g id="node19" class="node">
<title>headInv</title>
<ellipse fill="none" stroke="#000000" cx="1420.8112" cy="-188.6102" rx="73.387" ry="18"/>
<text text-anchor="middle" x="1420.8112" y="-184.9102" font-family="Times,serif" font-size="14.00" fill="#000000">#blk ← head/inv.</text>
</g>
<!-- wcfsRead&#45;&gt;headInv -->
<g id="edge18" class="edge">
<g id="edge19" class="edge">
<title>wcfsRead&#45;&gt;headInv</title>
<path fill="none" stroke="#000000" d="M1138.103,-268.6434C1186.1291,-256.8881 1268.7014,-236.0908 1338.8112,-215.4802 1348.2972,-212.6916 1358.3423,-209.5548 1368.0277,-206.4349"/>
<polygon fill="#000000" stroke="#000000" points="1369.1326,-209.756 1377.5592,-203.334 1366.9669,-203.0995 1369.1326,-209.756"/>
<path fill="none" stroke="#000000" d="M1158.3127,-267.7634C1202.1519,-255.6007 1275.8545,-234.8246 1338.8112,-215.4802 1348.0578,-212.6391 1357.8566,-209.5217 1367.3409,-206.4482"/>
<polygon fill="#000000" stroke="#000000" points="1368.6518,-209.7022 1377.0742,-203.2746 1366.4818,-203.047 1368.6518,-209.7022"/>
</g>
<!-- fs1_go_inv -->
<g id="node12" class="node">
<g id="node13" class="node">
<title>fs1_go_inv</title>
<ellipse fill="#f2f2f2" stroke="#000000" cx="326.8112" cy="-98.8701" rx="60.623" ry="26.7407"/>
<text text-anchor="middle" x="326.8112" y="-102.6701" font-family="Times,serif" font-size="14.00" fill="#000000">fs1/go</text>
<text text-anchor="middle" x="326.8112" y="-87.6701" font-family="Times,serif" font-size="14.00" fill="#000000">invalidations</text>
</g>
<!-- ZODB_go_inv&#45;&gt;fs1_go_inv -->
<g id="edge11" class="edge">
<g id="edge12" class="edge">
<title>ZODB_go_inv&#45;&gt;fs1_go_inv</title>
<path fill="none" stroke="#000000" d="M325.4112,-161.6852C325.5912,-153.6102 325.7919,-144.607 325.9838,-135.9961"/>
<polygon fill="#000000" stroke="#000000" points="329.4878,-135.8516 326.2115,-125.776 322.4895,-135.6955 329.4878,-135.8516"/>
</g>
<!-- zeo_go_inv -->
<g id="node13" class="node">
<g id="node14" class="node">
<title>zeo_go_inv</title>
<ellipse fill="none" stroke="#000000" cx="466.8112" cy="-98.8701" rx="60.623" ry="26.7407"/>
<text text-anchor="middle" x="466.8112" y="-102.6701" font-family="Times,serif" font-size="14.00" fill="#000000">zeo/go</text>
<text text-anchor="middle" x="466.8112" y="-87.6701" font-family="Times,serif" font-size="14.00" fill="#000000">invalidations</text>
</g>
<!-- ZODB_go_inv&#45;&gt;zeo_go_inv -->
<g id="edge12" class="edge">
<g id="edge13" class="edge">
<title>ZODB_go_inv&#45;&gt;zeo_go_inv</title>
<path fill="none" stroke="#000000" d="M359.9123,-166.4272C379.0279,-154.3467 402.8549,-139.2887 423.1594,-126.4568"/>
<polygon fill="#000000" stroke="#000000" points="425.0381,-129.4099 431.6217,-121.1088 421.2985,-123.4925 425.0381,-129.4099"/>
</g>
<!-- neo_go_inv -->
<g id="node14" class="node">
<g id="node15" class="node">
<title>neo_go_inv</title>
<ellipse fill="none" stroke="#000000" cx="60.8112" cy="-98.8701" rx="60.623" ry="26.7407"/>
<text text-anchor="middle" x="60.8112" y="-102.6701" font-family="Times,serif" font-size="14.00" fill="#000000">neo/go</text>
<text text-anchor="middle" x="60.8112" y="-87.6701" font-family="Times,serif" font-size="14.00" fill="#000000">invalidations</text>
</g>
<!-- ZODB_go_inv&#45;&gt;neo_go_inv -->
<g id="edge13" class="edge">
<g id="edge14" class="edge">
<title>ZODB_go_inv&#45;&gt;neo_go_inv</title>
<path fill="none" stroke="#000000" d="M274.7254,-173.1826C235.4057,-160.8778 179.3773,-142.9172 130.8112,-125.7401 126.025,-124.0473 121.0724,-122.2466 116.1154,-120.4103"/>
<polygon fill="#000000" stroke="#000000" points="117.2119,-117.0836 106.6195,-116.8539 114.7567,-123.6389 117.2119,-117.0836"/>
</g>
<!-- zcache_go_inv -->
<g id="node15" class="node">
<g id="node16" class="node">
<title>zcache_go_inv</title>
<ellipse fill="none" stroke="#000000" cx="193.8112" cy="-98.8701" rx="53.9813" ry="26.7407"/>
<text text-anchor="middle" x="193.8112" y="-102.6701" font-family="Times,serif" font-size="14.00" fill="#000000">ZCache/go</text>
<text text-anchor="middle" x="193.8112" y="-87.6701" font-family="Times,serif" font-size="14.00" fill="#000000">&lt;&#45;watchq</text>
</g>
<!-- ZODB_go_inv&#45;&gt;zcache_go_inv -->
<g id="edge14" class="edge">
<g id="edge15" class="edge">
<title>ZODB_go_inv&#45;&gt;zcache_go_inv</title>
<path fill="none" stroke="#000000" d="M291.7544,-165.965C274.1388,-153.8976 252.3349,-138.9611 233.7745,-126.2465"/>
<polygon fill="#000000" stroke="#000000" points="235.7297,-123.3434 225.5017,-120.5793 231.7736,-129.1183 235.7297,-123.3434"/>
</g>
<!-- zblk2file -->
<g id="node19" class="node">
<g id="node20" class="node">
<title>zblk2file</title>
<ellipse fill="none" stroke="#000000" cx="632.8112" cy="-98.8701" rx="83.3857" ry="18"/>
<ellipse fill="#f2f2f2" stroke="#000000" cx="632.8112" cy="-98.8701" rx="83.3857" ry="18"/>
<text text-anchor="middle" x="632.8112" y="-95.1701" font-family="Times,serif" font-size="14.00" fill="#000000">ZBlk* → file/[]#blk</text>
</g>
<!-- zobj2file&#45;&gt;zblk2file -->
<g id="edge19" class="edge">
<g id="edge20" class="edge">
<title>zobj2file&#45;&gt;zblk2file</title>
<path fill="none" stroke="#000000" d="M634.4065,-170.4499C634.1299,-158.043 633.758,-141.3523 633.4428,-127.209"/>
<polygon fill="#000000" stroke="#000000" points="636.9373,-126.9228 633.2153,-117.0033 629.9391,-127.0788 636.9373,-126.9228"/>
</g>
<!-- zbtree2file -->
<g id="node20" class="node">
<g id="node21" class="node">
<title>zbtree2file</title>
<ellipse fill="none" stroke="#000000" cx="843.8112" cy="-98.8701" rx="109.6807" ry="18"/>
<text text-anchor="middle" x="843.8112" y="-95.1701" font-family="Times,serif" font-size="14.00" fill="#000000">BTree/Bucket → file/[]#blk</text>
</g>
<!-- zobj2file&#45;&gt;zbtree2file -->
<g id="edge20" class="edge">
<g id="edge21" class="edge">
<title>zobj2file&#45;&gt;zbtree2file</title>
<path fill="none" stroke="#000000" d="M671.2162,-172.9786C705.6095,-158.2109 757.4333,-135.9589 795.3179,-119.692"/>
<polygon fill="#000000" stroke="#000000" points="796.8224,-122.8551 804.6302,-115.6935 794.0605,-116.423 796.8224,-122.8551"/>
</g>
<!-- δBTree -->
<g id="node21" class="node">
<g id="node22" class="node">
<title>δBTree</title>
<ellipse fill="none" stroke="#000000" cx="843.8112" cy="-18" rx="43.5923" ry="18"/>
<text text-anchor="middle" x="843.8112" y="-14.3" font-family="Times,serif" font-size="14.00" fill="#000000">δ(BTree)</text>
</g>
<!-- zbtree2file&#45;&gt;δBTree -->
<g id="edge21" class="edge">
<g id="edge22" class="edge">
<title>zbtree2file&#45;&gt;δBTree</title>
<path fill="none" stroke="#000000" d="M843.8112,-80.5194C843.8112,-70.4898 843.8112,-57.8453 843.8112,-46.5565"/>
<polygon fill="#000000" stroke="#000000" points="847.3113,-46.278 843.8112,-36.278 840.3113,-46.2781 847.3113,-46.278"/>
</g>
<!-- clientInvHandle&#45;&gt;headInv -->
<g id="edge26" class="edge">
<g id="edge27" class="edge">
<title>clientInvHandle&#45;&gt;headInv</title>
<path fill="none" stroke="#000000" d="M1365.372,-252.3937C1375.8272,-240.3648 1388.2118,-226.1162 1398.6208,-214.1405"/>
<polygon fill="#000000" stroke="#000000" points="1401.5449,-216.1116 1405.4634,-206.268 1396.2617,-211.5194 1401.5449,-216.1116"/>
<path fill="none" stroke="#000000" d="M1375.6671,-251.9107C1384.0117,-240.21 1393.7996,-226.4855 1402.1245,-214.8125"/>
<polygon fill="#000000" stroke="#000000" points="1405.2005,-216.5272 1408.1573,-206.3533 1399.5013,-212.4627 1405.2005,-216.5272"/>
</g>
</g>
</svg>
......@@ -365,6 +365,7 @@ package main
// "old" client that triggered the pagefault(~).
//
// XXX 8) serving read from @<rev>/data + zconn(s) for historical state
// XXX 9) gc @rev/ and @rev/bigfile/<bigfileX> automatically on atime timeout
//
//
// (*) see notes.txt -> "Notes on OS pagecache control"
......
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment