1e0ed7404719a9ddd2ba427a80db5365c8bad18c0JP Abgrall# 2e0ed7404719a9ddd2ba427a80db5365c8bad18c0JP Abgrall# Restricted set of debugfs commands 3e0ed7404719a9ddd2ba427a80db5365c8bad18c0JP Abgrall# 4e0ed7404719a9ddd2ba427a80db5365c8bad18c0JP Abgrall# Copyright (C) 1993 Theodore Ts'o. This file may be redistributed 5e0ed7404719a9ddd2ba427a80db5365c8bad18c0JP Abgrall# under the terms of the GNU Public License. 6e0ed7404719a9ddd2ba427a80db5365c8bad18c0JP Abgrall# 7e0ed7404719a9ddd2ba427a80db5365c8bad18c0JP Abgrallcommand_table debug_cmds; 8e0ed7404719a9ddd2ba427a80db5365c8bad18c0JP Abgrall 9e0ed7404719a9ddd2ba427a80db5365c8bad18c0JP Abgrallrequest do_show_debugfs_params, "Show debugfs parameters", 10e0ed7404719a9ddd2ba427a80db5365c8bad18c0JP Abgrall show_debugfs_params, params; 11e0ed7404719a9ddd2ba427a80db5365c8bad18c0JP Abgrall 12e0ed7404719a9ddd2ba427a80db5365c8bad18c0JP Abgrallrequest do_open_filesys, "Open a filesystem", 13e0ed7404719a9ddd2ba427a80db5365c8bad18c0JP Abgrall open_filesys, open; 14e0ed7404719a9ddd2ba427a80db5365c8bad18c0JP Abgrall 15e0ed7404719a9ddd2ba427a80db5365c8bad18c0JP Abgrallrequest do_close_filesys, "Close the filesystem", 16e0ed7404719a9ddd2ba427a80db5365c8bad18c0JP Abgrall close_filesys, close; 17e0ed7404719a9ddd2ba427a80db5365c8bad18c0JP Abgrall 18e0ed7404719a9ddd2ba427a80db5365c8bad18c0JP Abgrallrequest do_freefrag, "Report free space fragmentation", 19e0ed7404719a9ddd2ba427a80db5365c8bad18c0JP Abgrall freefrag, e2freefrag; 20e0ed7404719a9ddd2ba427a80db5365c8bad18c0JP Abgrall 21e0ed7404719a9ddd2ba427a80db5365c8bad18c0JP Abgrallrequest do_show_super_stats, "Show superblock statistics", 22e0ed7404719a9ddd2ba427a80db5365c8bad18c0JP Abgrall show_super_stats, stats; 23e0ed7404719a9ddd2ba427a80db5365c8bad18c0JP Abgrall 24e0ed7404719a9ddd2ba427a80db5365c8bad18c0JP Abgrallrequest do_ncheck, "Do inode->name translation", 25e0ed7404719a9ddd2ba427a80db5365c8bad18c0JP Abgrall ncheck; 26e0ed7404719a9ddd2ba427a80db5365c8bad18c0JP Abgrall 27e0ed7404719a9ddd2ba427a80db5365c8bad18c0JP Abgrallrequest do_icheck, "Do block->inode translation", 28e0ed7404719a9ddd2ba427a80db5365c8bad18c0JP Abgrall icheck; 29e0ed7404719a9ddd2ba427a80db5365c8bad18c0JP Abgrall 30e0ed7404719a9ddd2ba427a80db5365c8bad18c0JP Abgrallrequest do_chroot, "Change root directory", 31e0ed7404719a9ddd2ba427a80db5365c8bad18c0JP Abgrall change_root_directory, chroot; 32e0ed7404719a9ddd2ba427a80db5365c8bad18c0JP Abgrall 33e0ed7404719a9ddd2ba427a80db5365c8bad18c0JP Abgrallrequest do_change_working_dir, "Change working directory", 34e0ed7404719a9ddd2ba427a80db5365c8bad18c0JP Abgrall change_working_directory, cd; 35e0ed7404719a9ddd2ba427a80db5365c8bad18c0JP Abgrall 36e0ed7404719a9ddd2ba427a80db5365c8bad18c0JP Abgrallrequest do_list_dir, "List directory", 37e0ed7404719a9ddd2ba427a80db5365c8bad18c0JP Abgrall list_directory, ls; 38e0ed7404719a9ddd2ba427a80db5365c8bad18c0JP Abgrall 39e0ed7404719a9ddd2ba427a80db5365c8bad18c0JP Abgrallrequest do_stat, "Show inode information ", 40e0ed7404719a9ddd2ba427a80db5365c8bad18c0JP Abgrall show_inode_info, stat; 41e0ed7404719a9ddd2ba427a80db5365c8bad18c0JP Abgrall 42e0ed7404719a9ddd2ba427a80db5365c8bad18c0JP Abgrallrequest do_dump_extents, "Dump extents information ", 43e0ed7404719a9ddd2ba427a80db5365c8bad18c0JP Abgrall dump_extents, extents, ex; 44e0ed7404719a9ddd2ba427a80db5365c8bad18c0JP Abgrall 45e0ed7404719a9ddd2ba427a80db5365c8bad18c0JP Abgrallrequest do_blocks, "Dump blocks used by an inode ", 46e0ed7404719a9ddd2ba427a80db5365c8bad18c0JP Abgrall blocks; 47e0ed7404719a9ddd2ba427a80db5365c8bad18c0JP Abgrall 48e0ed7404719a9ddd2ba427a80db5365c8bad18c0JP Abgrallrequest do_filefrag, "Report fragmentation information for an inode", 49e0ed7404719a9ddd2ba427a80db5365c8bad18c0JP Abgrall filefrag; 50e0ed7404719a9ddd2ba427a80db5365c8bad18c0JP Abgrall 51e0ed7404719a9ddd2ba427a80db5365c8bad18c0JP Abgrallrequest do_testi, "Test an inode's in-use flag", 52e0ed7404719a9ddd2ba427a80db5365c8bad18c0JP Abgrall testi; 53e0ed7404719a9ddd2ba427a80db5365c8bad18c0JP Abgrall 54e0ed7404719a9ddd2ba427a80db5365c8bad18c0JP Abgrallrequest do_find_free_block, "Find free block(s)", 55e0ed7404719a9ddd2ba427a80db5365c8bad18c0JP Abgrall find_free_block, ffb; 56e0ed7404719a9ddd2ba427a80db5365c8bad18c0JP Abgrall 57e0ed7404719a9ddd2ba427a80db5365c8bad18c0JP Abgrallrequest do_find_free_inode, "Find free inode(s)", 58e0ed7404719a9ddd2ba427a80db5365c8bad18c0JP Abgrall find_free_inode, ffi; 59e0ed7404719a9ddd2ba427a80db5365c8bad18c0JP Abgrall 60e0ed7404719a9ddd2ba427a80db5365c8bad18c0JP Abgrallrequest do_print_working_directory, "Print current working directory", 61e0ed7404719a9ddd2ba427a80db5365c8bad18c0JP Abgrall print_working_directory, pwd; 62e0ed7404719a9ddd2ba427a80db5365c8bad18c0JP Abgrall 63e0ed7404719a9ddd2ba427a80db5365c8bad18c0JP Abgrallrequest do_lsdel, "List deleted inodes", 64e0ed7404719a9ddd2ba427a80db5365c8bad18c0JP Abgrall list_deleted_inodes, lsdel; 65e0ed7404719a9ddd2ba427a80db5365c8bad18c0JP Abgrall 66e0ed7404719a9ddd2ba427a80db5365c8bad18c0JP Abgrallrequest do_logdump, "Dump the contents of the journal", 67e0ed7404719a9ddd2ba427a80db5365c8bad18c0JP Abgrall logdump; 68e0ed7404719a9ddd2ba427a80db5365c8bad18c0JP Abgrall 69e0ed7404719a9ddd2ba427a80db5365c8bad18c0JP Abgrallrequest do_htree_dump, "Dump a hash-indexed directory", 70e0ed7404719a9ddd2ba427a80db5365c8bad18c0JP Abgrall htree_dump, htree; 71e0ed7404719a9ddd2ba427a80db5365c8bad18c0JP Abgrall 72e0ed7404719a9ddd2ba427a80db5365c8bad18c0JP Abgrallrequest do_dx_hash, "Calculate the directory hash of a filename", 73e0ed7404719a9ddd2ba427a80db5365c8bad18c0JP Abgrall dx_hash, hash; 74e0ed7404719a9ddd2ba427a80db5365c8bad18c0JP Abgrall 75e0ed7404719a9ddd2ba427a80db5365c8bad18c0JP Abgrallrequest do_dirsearch, "Search a directory for a particular filename", 76e0ed7404719a9ddd2ba427a80db5365c8bad18c0JP Abgrall dirsearch; 77e0ed7404719a9ddd2ba427a80db5365c8bad18c0JP Abgrall 78e0ed7404719a9ddd2ba427a80db5365c8bad18c0JP Abgrallrequest do_bmap, "Calculate the logical->physical block mapping for an inode", 79e0ed7404719a9ddd2ba427a80db5365c8bad18c0JP Abgrall bmap; 80e0ed7404719a9ddd2ba427a80db5365c8bad18c0JP Abgrall 81e0ed7404719a9ddd2ba427a80db5365c8bad18c0JP Abgrallrequest do_imap, "Calculate the location of an inode", 82e0ed7404719a9ddd2ba427a80db5365c8bad18c0JP Abgrall imap; 83e0ed7404719a9ddd2ba427a80db5365c8bad18c0JP Abgrall 84e0ed7404719a9ddd2ba427a80db5365c8bad18c0JP Abgrallrequest do_supported_features, "Print features supported by this version of e2fsprogs", 85e0ed7404719a9ddd2ba427a80db5365c8bad18c0JP Abgrall supported_features; 86e0ed7404719a9ddd2ba427a80db5365c8bad18c0JP Abgrall 87e0ed7404719a9ddd2ba427a80db5365c8bad18c0JP Abgrallrequest do_dump_mmp, "Dump MMP information", 88e0ed7404719a9ddd2ba427a80db5365c8bad18c0JP Abgrall dump_mmp; 89e0ed7404719a9ddd2ba427a80db5365c8bad18c0JP Abgrall 90e0ed7404719a9ddd2ba427a80db5365c8bad18c0JP Abgrallrequest do_extent_open, "Open inode for extent manipulation", 91e0ed7404719a9ddd2ba427a80db5365c8bad18c0JP Abgrall extent_open, eo; 92e0ed7404719a9ddd2ba427a80db5365c8bad18c0JP Abgrall 93e0ed7404719a9ddd2ba427a80db5365c8bad18c0JP Abgrallend; 94e0ed7404719a9ddd2ba427a80db5365c8bad18c0JP Abgrall 95