13eb07f649350acfd9e145584d57aac3c1b65d0baTheodore Ts'o#
23eb07f649350acfd9e145584d57aac3c1b65d0baTheodore Ts'o# Copyright (C) 1993 Theodore Ts'o.  This file may be redistributed
33eb07f649350acfd9e145584d57aac3c1b65d0baTheodore Ts'o# under the terms of the GNU Public License.
43eb07f649350acfd9e145584d57aac3c1b65d0baTheodore Ts'o#
53eb07f649350acfd9e145584d57aac3c1b65d0baTheodore Ts'ocommand_table extent_cmds;
63eb07f649350acfd9e145584d57aac3c1b65d0baTheodore Ts'o
73eb07f649350acfd9e145584d57aac3c1b65d0baTheodore Ts'orequest do_current_node, "Current extent node",
83eb07f649350acfd9e145584d57aac3c1b65d0baTheodore Ts'o	current_node, current;
93eb07f649350acfd9e145584d57aac3c1b65d0baTheodore Ts'o
103eb07f649350acfd9e145584d57aac3c1b65d0baTheodore Ts'orequest do_root_node, "Goto root extent",
113eb07f649350acfd9e145584d57aac3c1b65d0baTheodore Ts'o	root_node, root;
123eb07f649350acfd9e145584d57aac3c1b65d0baTheodore Ts'o
133eb07f649350acfd9e145584d57aac3c1b65d0baTheodore Ts'orequest do_last_leaf, "Goto last leaf",
143eb07f649350acfd9e145584d57aac3c1b65d0baTheodore Ts'o	last_leaf;
153eb07f649350acfd9e145584d57aac3c1b65d0baTheodore Ts'o
163eb07f649350acfd9e145584d57aac3c1b65d0baTheodore Ts'orequest do_first_sib, "Goto first sibling",
173eb07f649350acfd9e145584d57aac3c1b65d0baTheodore Ts'o	first_sibling, first_sib;
183eb07f649350acfd9e145584d57aac3c1b65d0baTheodore Ts'o
193eb07f649350acfd9e145584d57aac3c1b65d0baTheodore Ts'orequest do_last_sib, "Goto last sibling",
203eb07f649350acfd9e145584d57aac3c1b65d0baTheodore Ts'o	last_sibling, last_sib;
213eb07f649350acfd9e145584d57aac3c1b65d0baTheodore Ts'o
223eb07f649350acfd9e145584d57aac3c1b65d0baTheodore Ts'orequest do_next_sib, "Goto next sibling",
233eb07f649350acfd9e145584d57aac3c1b65d0baTheodore Ts'o	next_sibling, next_sib, ns;
243eb07f649350acfd9e145584d57aac3c1b65d0baTheodore Ts'o
253eb07f649350acfd9e145584d57aac3c1b65d0baTheodore Ts'orequest do_prev_sib, "Goto previous sibling",
263eb07f649350acfd9e145584d57aac3c1b65d0baTheodore Ts'o	prev_sibling, prev_sib, ps;
273eb07f649350acfd9e145584d57aac3c1b65d0baTheodore Ts'o
283eb07f649350acfd9e145584d57aac3c1b65d0baTheodore Ts'orequest do_next_leaf, "Goto next leaf",
293eb07f649350acfd9e145584d57aac3c1b65d0baTheodore Ts'o	next_leaf, nl;
303eb07f649350acfd9e145584d57aac3c1b65d0baTheodore Ts'o
313eb07f649350acfd9e145584d57aac3c1b65d0baTheodore Ts'orequest do_prev_leaf, "Goto previous leaf",
323eb07f649350acfd9e145584d57aac3c1b65d0baTheodore Ts'o	prev_leaf, pl;
333eb07f649350acfd9e145584d57aac3c1b65d0baTheodore Ts'o
343eb07f649350acfd9e145584d57aac3c1b65d0baTheodore Ts'orequest do_next, "Goto next node",
353eb07f649350acfd9e145584d57aac3c1b65d0baTheodore Ts'o	next, n;
363eb07f649350acfd9e145584d57aac3c1b65d0baTheodore Ts'o
373eb07f649350acfd9e145584d57aac3c1b65d0baTheodore Ts'orequest do_prev, "Goto previous node",
383eb07f649350acfd9e145584d57aac3c1b65d0baTheodore Ts'o	previous, prev, p;
393eb07f649350acfd9e145584d57aac3c1b65d0baTheodore Ts'o
403eb07f649350acfd9e145584d57aac3c1b65d0baTheodore Ts'orequest do_up, "Up node",
413eb07f649350acfd9e145584d57aac3c1b65d0baTheodore Ts'o	up_node, up, u;
423eb07f649350acfd9e145584d57aac3c1b65d0baTheodore Ts'o
433eb07f649350acfd9e145584d57aac3c1b65d0baTheodore Ts'orequest do_down, "Down node",
443eb07f649350acfd9e145584d57aac3c1b65d0baTheodore Ts'o	down_node, down, d;
453eb07f649350acfd9e145584d57aac3c1b65d0baTheodore Ts'o
463eb07f649350acfd9e145584d57aac3c1b65d0baTheodore Ts'orequest do_delete_node, "Delete node",
473eb07f649350acfd9e145584d57aac3c1b65d0baTheodore Ts'o	delete_node, delete;
483eb07f649350acfd9e145584d57aac3c1b65d0baTheodore Ts'o
493eb07f649350acfd9e145584d57aac3c1b65d0baTheodore Ts'orequest do_insert_node, "Insert node",
503eb07f649350acfd9e145584d57aac3c1b65d0baTheodore Ts'o	insert_node, insert;
513eb07f649350acfd9e145584d57aac3c1b65d0baTheodore Ts'o
529fd6a96d9bf089d8d0ece3bba23b0ef19d03c102Eric Sandeenrequest do_split_node, "Split node",
539fd6a96d9bf089d8d0ece3bba23b0ef19d03c102Eric Sandeen	split_node, split;
549fd6a96d9bf089d8d0ece3bba23b0ef19d03c102Eric Sandeen
55e0ed7404719a9ddd2ba427a80db5365c8bad18c0JP Abgrallrequest do_fix_parents, "Fix parents",
56e0ed7404719a9ddd2ba427a80db5365c8bad18c0JP Abgrall	fix_parents, fixp;
57e0ed7404719a9ddd2ba427a80db5365c8bad18c0JP Abgrall
58f4e9963c0966734d8dc16877753698193b83cd65Eric Sandeenrequest do_set_bmap, "Set block mapping",
59f4e9963c0966734d8dc16877753698193b83cd65Eric Sandeen	set_bmap;
60f4e9963c0966734d8dc16877753698193b83cd65Eric Sandeen
613eb07f649350acfd9e145584d57aac3c1b65d0baTheodore Ts'orequest do_replace_node, "Insert node",
623eb07f649350acfd9e145584d57aac3c1b65d0baTheodore Ts'o	replace_node, replace;
633eb07f649350acfd9e145584d57aac3c1b65d0baTheodore Ts'o
643eb07f649350acfd9e145584d57aac3c1b65d0baTheodore Ts'orequest do_print_all, "Iterate over all nodes and print them",
653eb07f649350acfd9e145584d57aac3c1b65d0baTheodore Ts'o	print_all, all;
663eb07f649350acfd9e145584d57aac3c1b65d0baTheodore Ts'o
673eb07f649350acfd9e145584d57aac3c1b65d0baTheodore Ts'orequest do_goto_block, "Goto extent containing specified block",
683eb07f649350acfd9e145584d57aac3c1b65d0baTheodore Ts'o	goto_block, goto;
693eb07f649350acfd9e145584d57aac3c1b65d0baTheodore Ts'o
703eb07f649350acfd9e145584d57aac3c1b65d0baTheodore Ts'orequest do_info, "Print extent info",
713eb07f649350acfd9e145584d57aac3c1b65d0baTheodore Ts'o	info;
723eb07f649350acfd9e145584d57aac3c1b65d0baTheodore Ts'o
73e0ed7404719a9ddd2ba427a80db5365c8bad18c0JP Abgrallrequest do_extent_close, "Close extent handle",
74e0ed7404719a9ddd2ba427a80db5365c8bad18c0JP Abgrall	extent_close, ec;
75e0ed7404719a9ddd2ba427a80db5365c8bad18c0JP Abgrall
763eb07f649350acfd9e145584d57aac3c1b65d0baTheodore Ts'oend;
773eb07f649350acfd9e145584d57aac3c1b65d0baTheodore Ts'o
78