/qemu/include/block/ |
H A D | graph-lock.h | 2 * Graph lock: rwlock to protect block layer graph manipulations (add/remove 24 * Graph Lock API 26 * graph modifications like edge (BdrvChild) and node (BlockDriverState) 32 * graph, and readers (all other coroutines running in various AioContext), 33 * that go through the graph edges, reading 41 * access the graph as long the writer is not modifying the graph. 91 * currently running the graph. 103 * Start an exclusive write operation to modify the graph. This means we are 104 * adding or removing an edge or a node in the block layer graph. Nobody else 105 * is allowed to access the graph. [all …]
|
H A D | block_int-global-state.h | 56 * driver that the stream job inserts into the graph above 91 * driver that the commit job inserts into the graph above @top. NULL means 113 * driver that the commit job inserts into the graph above @bs. NULL means that 133 * @replaces: Block graph node name to replace once the mirror is done. Can 147 * driver that the mirror job inserts into the graph above @bs. NULL means that
|
H A D | block-global-state.h | 34 * If a function modifies the graph, it also uses the graph lock to be sure it 35 * has unique access. The graph lock is needed together with BQL because of the 36 * thread-safe I/O API that concurrently runs and accesses the graph without
|
H A D | block-common.h | 44 * release the graph rdlock when creating a new coroutine 46 * automatically take and release the graph rdlock when creating a new 70 * automatically takes the graph rdlock when calling the wrapped function. In 72 * graph wrlock.
|
H A D | block_int.h | 29 #include "block/graph-lock.h"
|
H A D | qapi.h | 28 #include "block/graph-lock.h"
|
/qemu/scripts/ |
H A D | render_block_graph.py | 3 # Render Qemu Block Graph 42 Render graph in text (dot) representation into "@filename" and 52 block_graph = qmp.cmd('x-debug-query-block-graph') 54 graph = Digraph(comment='Block Nodes Graph') 55 graph.format = format 56 graph.node('permission symbols:\l' 60 ' g - Graph-mod\l' 83 graph.node(str(n['id']), label, shape=shape) 88 graph.edge(str(e['parent']), str(e['child']), label=label) 90 graph.render(filename)
|
H A D | decodetree.py | 67 # ts = TopologicalSorter(graph=None) 68 # create the sorter. graph is a dictionary whose keys are 70 # (That is, if graph contains "A" -> ["B", "C"] then we must output 75 # exception raised if there are cycles in the graph. The second 81 # (typically 10 nodes or less, actual links in the graph very rare), 89 """Subclass of ValueError raised if cycles exist in the graph""" 93 """Topologically sort a graph""" 94 def __init__(self, graph=None): argument 95 self.graph = graph 103 if not self.graph: [all …]
|
/qemu/tests/qemu-iotests/ |
H A D | 258 | 53 # Finds a node in the debug block graph 54 def find_graph_node(graph, node_id): argument 55 return next(node for node in graph['nodes'] if node['id'] == node_id) 144 graph = vm.qmp('x-debug-query-block-graph')['return'] 145 for edge in graph['edges']: 147 find_graph_node(graph, edge['parent'])['name'] == 'node3': 148 assert find_graph_node(graph, edge['child'])['name'] == 'node0'
|
H A D | 273 | 41 # External data files would add nodes to the block graph, so it would 74 {"execute":"x-debug-query-block-graph"}
|
H A D | iotests.py | 1129 def assert_block_path(self, root, path, expected_node, graph=None): argument 1131 Check whether the node under the given path in the block graph 1150 @graph may be None or the result of an x-debug-query-block-graph 1153 if graph is None: 1154 graph = self.qmp('x-debug-query-block-graph')['return'] 1161 node = next((node for node in graph['nodes'] if node['name'] == root), 1171 node_id = next(edge['child'] for edge in graph['edges'] 1175 node = next(node for node in graph['nodes']
|
/qemu/tests/unit/ |
H A D | test-bdrv-graph-mod.c | 2 * Block node graph modifications tests 91 * its neighbors, we can finish up with wrong permission graph. 93 * This test firstly create the following graph: 158 * do the right thing, i.e. not creating loops on the graph. 161 * 1. initial graph: 175 * as it will create a loop on node graph. Resulting picture should 429 * So, inserting such filter should do all graph modifications and only then 461 g_test_add_func("/bdrv-graph-mod/update-perm-tree", test_update_perm_tree); in main() 462 g_test_add_func("/bdrv-graph-mod/should-update-child", in main() 464 g_test_add_func("/bdrv-graph-mod/parallel-perm-update", in main() [all …]
|
H A D | test-bdrv-drain.c | 210 * Locking the block graph would be a bit cumbersome here because this function 305 * Locking the block graph would be a bit cumbersome here because this function 1212 * Initial graph: 1227 * that does the same graph change. If bdrv_drain_invoke() calls it, the 1616 * We are free to poll here, which may change the block graph, if in drop_intermediate_poll_update_filename() 1632 * which can yield or poll. This may lead to graph changes, unless 1635 * We test this on the following graph: 1667 * subtree. This prevents graph changes from happening just because 2107 g_test_add_func("/bdrv-drain/graph-change/drain_all", in main()
|
/qemu/block/ |
H A D | graph-lock.c | 2 * Graph lock: rwlock to protect block layer graph manipulations (add/remove 23 #include "block/graph-lock.h" 51 /* How many readers are currently reading the graph. */ 55 * List of BdrvGraphRWlock kept in graph-lock.c 157 /* Wake up all coroutines that are waiting to read the graph */ in bdrv_graph_wrunlock()
|
H A D | stream.c | 79 * drained_begin() might change the graph, and if we do this only later, we in stream_prepare() 112 * This call will do I/O, so the graph can change again from here on. in stream_prepare() 113 * We have already completed the graph change, so we are not in danger in stream_prepare() 370 * Prevent concurrent jobs trying to modify the graph structure here, we in stream_start()
|
/qemu/tests/rocker/ |
H A D | tut.dot | 1 graph G { 2 graph [hostidtype="hostname", version="1:0", date="04/12/2013"];
|
/qemu/tests/qemu-iotests/tests/ |
H A D | image-fleecing.out | 11 --- Setting up Fleecing Graph --- 80 --- Setting up Fleecing Graph --- 150 --- Setting up Fleecing Graph --- 222 --- Setting up Fleecing Graph --- 306 --- Setting up Fleecing Graph ---
|
/qemu/tests/qtest/libqos/ |
H A D | qgraph_internal.h | 53 /* Graph Node */ 56 bool available; /* set by QEMU via QMP, used during graph walk */ 57 bool visited; /* used during graph walk */ 216 * qos_print_graph(): walks the graph and prints
|
H A D | qgraph.h | 176 * graph walking algorithm has found it, the @test_func will be 373 * All qtests add themselves to the overall qos graph by calling qgraph 374 * functions that add device nodes and edges between the individual graph 375 * nodes for tests. As the actual graph is assmbled at runtime by the qos 376 * subsystem, it is sometimes not obvious how the overall graph looks like. 382 * to the graph's root node are actually executed by the qtest framework. And
|
/qemu/qapi/ |
H A D | yank.json | 23 # Specifies which block graph node to yank. See @YankInstance for 26 # @node-name: the name of the block graph node
|
H A D | block-core.json | 331 # Information about all nodes in the block graph starting at some 338 # @info: Block graph information starting at this node 351 # Information about all nodes in a block (sub)graph in the form of 353 # information for the (sub)graph's root node. 1459 # @node-name: graph node name to get the image resized (Since 2.0) 1505 # @node-name: graph node name to generate the snapshot from 1512 # @snapshot-node-name: the graph node name of the new image 1610 # making any block graph changes. When true, this job will 1620 # filter driver that the backup job inserts into the graph above 1844 # filter driver that the commit job inserts into the graph above [all …]
|
/qemu/stubs/ |
H A D | graph-lock.c | 2 #include "block/graph-lock.h"
|
/qemu/tests/migration-stress/ |
H A D | guestperf-plot.py | 3 # Migration test graph plotting command
|
/qemu/docs/devel/testing/ |
H A D | qgraph.rst | 21 The aim of qgraph is to create a graph of drivers, machines and tests such that 36 The graph is composed by nodes that represent machines, drivers, tests 86 - The framework walks the graph starting from the available machines and 582 Final graph will be like this::
|
/qemu/ |
H A D | block.c | 1639 /* copy node name into the bs and insert it into the graph list */ in bdrv_assign_node_name() 2395 * while holding a reader lock for the graph. 2476 * while holding a writer lock for the graph. 2505 * after some graph modification that was done without permission update. 2508 * while holding a reader lock for the graph. 2587 * while holding a reader lock for the graph. 2619 * while holding a reader lock for the graph. 2686 * while holding a reader lock for the graph. 3070 * while holding a writer lock for the graph. 3152 * in the graph with bdrv_replace_child_noperm() will undrain it if in bdrv_attach_child_common() [all …]
|