Revision f8e233a3

b/.gitignore
62 62
/doc/upgrade.rst
63 63
/doc/hs-lint.html
64 64
/doc/*.in
65
/doc/*.png
66 65

  
67 66
# doc/examples
68 67
/doc/examples/bash_completion
b/Makefile.am
150 150
APIDOC_HS_DIR = $(APIDOC_DIR)/hs
151 151

  
152 152
MAINTAINERCLEANFILES = \
153
	$(docpng) \
154 153
	$(maninput) \
155 154
	doc/install-quick.rst \
156 155
	doc/news.rst \
......
582 581
# has to exist in order for the sphinx module to be loaded
583 582
# successfully, but we certainly don't want the docs to be rebuilt if
584 583
# it changes
585
doc/html/index.html: $(docrst) $(docpng) doc/conf.py configure.ac \
584
doc/html/index.html: $(docrst) $(docdot) doc/conf.py configure.ac \
586 585
	$(RUN_IN_TEMPDIR) lib/build/sphinx_ext.py \
587 586
	lib/build/shell_example_lexer.py lib/opcodes.py lib/ht.py \
588 587
	| $(BUILT_PYTHON_SOURCES)
......
593 592
	    -d . \
594 593
	    -D version="$(VERSION_MAJOR).$(VERSION_MINOR)" \
595 594
	    -D release="$(PACKAGE_VERSION)" \
595
	    -D graphviz_dot="$(DOT)" \
596 596
	    $(abs_top_srcdir)/doc $(CURDIR)/doc/html
597 597
	rm -f doc/html/.buildinfo doc/html/objects.inv
598 598
	touch $@
......
616 616
	doc/design-2.1-lock-acquire.dot \
617 617
	doc/design-2.1-lock-release.dot
618 618

  
619
docpng = $(patsubst %.dot,%.png,$(docdot))
620

  
621 619
# Things to build but not to install (add it to EXTRA_DIST if it should be
622 620
# distributed)
623 621
noinst_DATA = \
......
818 816
	tools/kvm-ifup.in \
819 817
	tools/vcluster-setup.in \
820 818
	$(docdot) \
821
	$(docpng) \
822 819
	$(docrst) \
823 820
	doc/conf.py \
824 821
	doc/html \
......
1192 1189
	PYTHONPATH=. $(RUN_IN_TEMPDIR) \
1193 1190
	  $(CURDIR)/$(BUILD_BASH_COMPLETION) $(BC_ARGS) > $@
1194 1191

  
1195
doc/%.png: doc/%.dot
1196
	@test -n "$(DOT)" || { echo 'dot' not found during configure; exit 1; }
1197
	$(DOT) -Tpng -o $@ $<
1198

  
1199 1192
man/%.gen: man/%.rst lib/query.py lib/build/sphinx_ext.py \
1200 1193
	lib/build/shell_example_lexer.py \
1201 1194
	| $(RUN_IN_TEMPDIR) $(BUILT_PYTHON_SOURCES)
b/doc/design-2.0.rst
102 102

  
103 103
The new design will change the cluster architecture to:
104 104

  
105
.. image:: arch-2.0.png
105
.. graphviz:: arch-2.0.dot
106 106

  
107 107
This differs from the 1.2 architecture by the addition of the master
108 108
daemon, which will be the only entity to talk to the node daemons.
b/doc/design-2.1-lock-acquire.dot
11 11
  remove_from_queue[label="Remove from queue"]
12 12

  
13 13
  /* Conditions */
14
  alone[label="Empty queue and can acquire?", shape=diamond]
15
  have_timeout[label="Do I have timeout?", shape=diamond]
14
  alone[label="Empty queue\nand can acquire?", shape=diamond]
15
  have_timeout[label="Do I have\ntimeout?", shape=diamond]
16 16
  top_of_queue_and_can_acquire[
17
    label="On top of queue and can acquire lock?",
17
    label="On top of queue and\ncan acquire lock?",
18 18
    shape=diamond,
19 19
    ]
20 20

  
b/doc/design-2.1-lock-release.dot
10 10
  success[label="Success"]
11 11

  
12 12
  /* Conditions */
13
  have_pending[label="Any pending acquires?", shape=diamond]
13
  have_pending[label="Any pending\nacquires?", shape=diamond]
14 14
  was_active_queue[
15 15
    label="Was active condition\nfor shared acquires?",
16 16
    shape=diamond,
b/doc/design-2.1.rst
229 229
acquires and no current holders. The caller can have the lock
230 230
immediately.
231 231

  
232
.. image:: design-2.1-lock-acquire.png
232
.. graphviz:: design-2.1-lock-acquire.dot
233 233

  
234 234

  
235 235
Release
......
244 244
exclusive locks by forcing consecutive shared acquires to wait in the
245 245
queue.
246 246

  
247
.. image:: design-2.1-lock-release.png
247
.. graphviz:: design-2.1-lock-release.dot
248 248

  
249 249

  
250 250
Delete

Also available in: Unified diff