Permalink
Cannot retrieve contributors at this time
Name already in use
A tag already exists with the provided branch name. Many Git commands accept both tag and branch names, so creating this branch may cause unexpected behavior. Are you sure you want to create this branch?
pvfs2-osd/doc/design/figs/lookup.eps
Go to fileThis commit does not belong to any branch on this repository, and may belong to a fork outside of the repository.
359 lines (326 sloc)
8.03 KB
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
%!PS-Adobe-2.0 | |
%%Creator: dot version gviz 1.7.3b (Mon Feb 26 14:10:22 EST 2001) | |
%%For: (pcarns) Carns Philip H | |
%%Title: G | |
%%Pages: (atend) | |
%%BoundingBox: 36 36 462 487 | |
%%EndComments | |
%%BeginProlog | |
save | |
/DotDict 200 dict def | |
DotDict begin | |
%%BeginResource: procset | |
/coord-font-family /Times-Roman def | |
/default-font-family /Times-Roman def | |
/coordfont coord-font-family findfont 8 scalefont def | |
/InvScaleFactor 1.0 def | |
/set_scale { | |
dup 1 exch div /InvScaleFactor exch def | |
dup scale | |
} bind def | |
% styles | |
/solid { } bind def | |
/dashed { [9 InvScaleFactor mul dup ] 0 setdash } bind def | |
/dotted { [1 InvScaleFactor mul 6 InvScaleFactor mul] 0 setdash } bind def | |
/invis {/fill {newpath} def /stroke {newpath} def /show {pop newpath} def} bind def | |
/bold { 2 setlinewidth } bind def | |
/filled { } bind def | |
/unfilled { } bind def | |
/rounded { } bind def | |
/diagonals { } bind def | |
% hooks for setting color | |
/nodecolor { sethsbcolor } bind def | |
/edgecolor { sethsbcolor } bind def | |
/graphcolor { sethsbcolor } bind def | |
/nopcolor {pop pop pop} bind def | |
/beginpage { % i j npages | |
/npages exch def | |
/j exch def | |
/i exch def | |
/str 10 string def | |
npages 1 gt { | |
gsave | |
coordfont setfont | |
0 0 moveto | |
(\() show i str cvs show (,) show j str cvs show (\)) show | |
grestore | |
} if | |
} bind def | |
/set_font { | |
findfont exch | |
scalefont setfont | |
} def | |
% draw aligned label in bounding box aligned to current point | |
% alignfactor tells what fraction to place on the left. | |
% -.5 is centered. | |
/alignedtext { % text labelwidth fontsz alignfactor | |
/alignfactor exch def | |
/fontsz exch def | |
/width exch def | |
/text exch def | |
gsave | |
% even if node or edge is dashed, don't paint text with dashes | |
[] 0 setdash | |
currentpoint newpath moveto | |
text stringwidth pop | |
alignfactor mul fontsz -.3 mul rmoveto | |
text show | |
grestore | |
} def | |
/boxprim { % xcorner ycorner xsize ysize | |
4 2 roll | |
moveto | |
2 copy | |
exch 0 rlineto | |
0 exch rlineto | |
pop neg 0 rlineto | |
closepath | |
} bind def | |
/ellipse_path { | |
/ry exch def | |
/rx exch def | |
/y exch def | |
/x exch def | |
matrix currentmatrix | |
newpath | |
x y translate | |
rx ry scale | |
0 0 1 0 360 arc | |
setmatrix | |
} bind def | |
/endpage { showpage } bind def | |
/layercolorseq | |
[ % layer color sequence - darkest to lightest | |
[0 0 0] | |
[.2 .8 .8] | |
[.4 .8 .8] | |
[.6 .8 .8] | |
[.8 .8 .8] | |
] | |
def | |
/setlayer {/maxlayer exch def /curlayer exch def | |
layercolorseq curlayer get | |
aload pop sethsbcolor | |
/nodecolor {nopcolor} def | |
/edgecolor {nopcolor} def | |
/graphcolor {nopcolor} def | |
} bind def | |
/onlayer { curlayer ne {invis} if } def | |
/onlayers { | |
/myupper exch def | |
/mylower exch def | |
curlayer mylower lt | |
curlayer myupper gt | |
or | |
{invis} if | |
} def | |
/curlayer 0 def | |
%%EndProlog | |
%%BeginSetup | |
14 default-font-family set_font | |
1 setmiterlimit | |
% /arrowlength 10 def | |
% /arrowwidth 5 def | |
% make sure pdfmark is harmless for PS-interpreters other than Distiller | |
/pdfmark where {pop} {userdict /pdfmark /cleartomark load put} ifelse | |
% make '<<' and '>>' safe on PS Level 1 devices | |
/languagelevel where {pop languagelevel}{1} ifelse | |
2 lt { | |
userdict (<<) cvn ([) cvn load put | |
userdict (>>) cvn ([) cvn load put | |
} if | |
%%EndResource | |
%%EndSetup | |
%%Page: 1 1 | |
%%PageBoundingBox: 36 36 462 487 | |
%%PageOrientation: Portrait | |
gsave | |
35 35 427 452 boxprim clip newpath | |
36 36 translate | |
0 0 1 beginpage | |
0 0 translate 0 rotate | |
[ /CropBox [36 36 462 487] /PAGES pdfmark | |
0.000 0.000 0.000 graphcolor | |
14.00 /Times-Roman set_font | |
% incoming request;\ncontains path (string) and filesystem id (int) | |
gsave 10 dict begin | |
newpath 287 442 moveto | |
27 442 lineto | |
27 406 lineto | |
287 406 lineto | |
closepath | |
stroke | |
gsave 10 dict begin | |
157 433 moveto (incoming request;) 100 14.00 -0.50 alignedtext | |
157 417 moveto (contains path \(string\) and filesystem id \(int\)) 245 14.00 -0.50 alignedtext | |
end grestore | |
end grestore | |
% find the handle for the dataspace that contains\nthe path/handle mapping for the requested file system | |
gsave 10 dict begin | |
newpath 314 368 moveto | |
0 368 lineto | |
0 332 lineto | |
314 332 lineto | |
closepath | |
stroke | |
gsave 10 dict begin | |
157 359 moveto (find the handle for the dataspace that contains) 256 14.00 -0.50 alignedtext | |
157 343 moveto (the path/handle mapping for the requested file system) 300 14.00 -0.50 alignedtext | |
end grestore | |
end grestore | |
% incoming request;\ncontains path (string) and filesystem id (int) -> find the handle for the dataspace that contains\nthe path/handle mapping for the requested file system | |
newpath 157 406 moveto | |
157 397 157 387 157 378 curveto | |
stroke | |
newpath 155 378 moveto | |
157 368 lineto | |
160 378 lineto | |
closepath | |
gsave 0 setgray stroke grestore fill | |
% build an error ack | |
gsave 10 dict begin | |
newpath 165 192 moveto | |
53 192 lineto | |
53 156 lineto | |
165 156 lineto | |
closepath | |
stroke | |
gsave 10 dict begin | |
109 175 moveto (build an error ack) 98 14.00 -0.50 alignedtext | |
end grestore | |
end grestore | |
% find the handle for the dataspace that contains\nthe path/handle mapping for the requested file system -> build an error ack | |
newpath 144 332 moveto | |
133 317 120 295 115 280 curveto | |
110 259 108 225 109 201 curveto | |
stroke | |
newpath 107 202 moveto | |
109 192 lineto | |
112 202 lineto | |
closepath | |
gsave 0 setgray stroke grestore fill | |
gsave 10 dict begin | |
140 263 moveto (failure) 36 14.00 -0.50 alignedtext | |
end grestore | |
% submit trove keyval job\n(key=path, value=handle) | |
gsave 10 dict begin | |
newpath 335 280 moveto | |
177 280 lineto | |
177 244 lineto | |
335 244 lineto | |
closepath | |
stroke | |
gsave 10 dict begin | |
256 271 moveto (submit trove keyval job) 132 14.00 -0.50 alignedtext | |
256 255 moveto (\(key=path, value=handle\)) 143 14.00 -0.50 alignedtext | |
end grestore | |
end grestore | |
% find the handle for the dataspace that contains\nthe path/handle mapping for the requested file system -> submit trove keyval job\n(key=path, value=handle) | |
newpath 178 332 moveto | |
193 319 213 301 229 286 curveto | |
stroke | |
newpath 227 285 moveto | |
236 280 lineto | |
230 288 lineto | |
closepath | |
gsave 0 setgray stroke grestore fill | |
gsave 10 dict begin | |
243 307 moveto (success) 41 14.00 -0.50 alignedtext | |
end grestore | |
% submit bmi send job | |
gsave 10 dict begin | |
newpath 289 118 moveto | |
161 118 lineto | |
161 82 lineto | |
289 82 lineto | |
closepath | |
stroke | |
gsave 10 dict begin | |
225 101 moveto (submit bmi send job) 114 14.00 -0.50 alignedtext | |
end grestore | |
end grestore | |
% build an error ack -> submit bmi send job | |
newpath 137 156 moveto | |
152 146 172 134 189 123 curveto | |
stroke | |
newpath 187 121 moveto | |
197 118 lineto | |
190 125 lineto | |
closepath | |
gsave 0 setgray stroke grestore fill | |
% submit trove keyval job\n(key=path, value=handle) -> build an error ack | |
newpath 226 244 moveto | |
204 231 172 211 147 197 curveto | |
stroke | |
newpath 146 199 moveto | |
139 192 lineto | |
149 195 lineto | |
closepath | |
gsave 0 setgray stroke grestore fill | |
gsave 10 dict begin | |
220 219 moveto (failure) 36 14.00 -0.50 alignedtext | |
end grestore | |
% build a successful ack;\ncontains handle value from previous step | |
gsave 10 dict begin | |
newpath 425 192 moveto | |
183 192 lineto | |
183 156 lineto | |
425 156 lineto | |
closepath | |
stroke | |
gsave 10 dict begin | |
304 183 moveto (build a successful ack;) 126 14.00 -0.50 alignedtext | |
304 167 moveto (contains handle value from previous step) 229 14.00 -0.50 alignedtext | |
end grestore | |
end grestore | |
% submit trove keyval job\n(key=path, value=handle) -> build a successful ack;\ncontains handle value from previous step | |
newpath 266 244 moveto | |
273 232 282 214 290 200 curveto | |
stroke | |
newpath 287 200 moveto | |
294 192 lineto | |
292 202 lineto | |
closepath | |
gsave 0 setgray stroke grestore fill | |
gsave 10 dict begin | |
312 219 moveto (success) 41 14.00 -0.50 alignedtext | |
end grestore | |
% build a successful ack;\ncontains handle value from previous step -> submit bmi send job | |
newpath 284 156 moveto | |
274 146 262 135 251 125 curveto | |
stroke | |
newpath 249 127 moveto | |
244 118 lineto | |
253 123 lineto | |
closepath | |
gsave 0 setgray stroke grestore fill | |
% exit state machine | |
gsave 10 dict begin | |
newpath 282 44 moveto | |
168 44 lineto | |
168 8 lineto | |
282 8 lineto | |
closepath | |
stroke | |
gsave 10 dict begin | |
225 27 moveto (exit state machine) 100 14.00 -0.50 alignedtext | |
end grestore | |
end grestore | |
% submit bmi send job -> exit state machine | |
newpath 225 82 moveto | |
225 73 225 63 225 54 curveto | |
stroke | |
newpath 223 54 moveto | |
225 44 lineto | |
228 54 lineto | |
closepath | |
gsave 0 setgray stroke grestore fill | |
endpage | |
grestore | |
%%PageTrailer | |
%%EndPage: 1 | |
%%Trailer | |
%%Pages: 1 | |
end | |
restore | |
%%EOF |