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