e2fsprogs/debugfs/debug_cmds.ct
Darren Hart 4df6a37bd3 debugfs: add symlink command
Add support for symbolic links using a new symlink command.  Modeled
after the do_mkdir() command.

Testing demonstrates both fastlinks and slowlinks work correctly.
Very long target paths fail as the command parsing appears to truncate
the input to somewhere around 256 bytes.

Signed-off-by: Darren Hart <dvhart@infradead.org>
Signed-off-by: "Theodore Ts'o" <tytso@mit.edu>
Cc: "Darrick J. Wong" <darrick.wong@oracle.com>
Cc: Andreas Dilger <adilger@dilger.ca>
2013-01-16 14:09:20 -05:00

195 lines
4.5 KiB
XML

#
# Copyright (C) 1993 Theodore Ts'o. This file may be redistributed
# under the terms of the GNU Public License.
#
command_table debug_cmds;
request do_show_debugfs_params, "Show debugfs parameters",
show_debugfs_params, params;
request do_open_filesys, "Open a filesystem",
open_filesys, open;
request do_close_filesys, "Close the filesystem",
close_filesys, close;
request do_freefrag, "Report free space fragmentation",
freefrag, e2freefrag;
request do_features, "Set/print superblock features",
feature, features;
request do_dirty_filesys, "Mark the filesystem as dirty",
dirty_filesys, dirty;
request do_init_filesys, "Initialize a filesystem (DESTROYS DATA)",
init_filesys;
request do_show_super_stats, "Show superblock statistics",
show_super_stats, stats;
request do_ncheck, "Do inode->name translation",
ncheck;
request do_icheck, "Do block->inode translation",
icheck;
request do_chroot, "Change root directory",
change_root_directory, chroot;
request do_change_working_dir, "Change working directory",
change_working_directory, cd;
request do_list_dir, "List directory",
list_directory, ls;
request do_stat, "Show inode information ",
show_inode_info, stat;
request do_dump_extents, "Dump extents information ",
dump_extents, extents, ex;
request do_blocks, "Dump blocks used by an inode ",
blocks;
request do_filefrag, "Report fragmentation information for an inode",
filefrag;
request do_link, "Create directory link",
link, ln;
request do_unlink, "Delete a directory link",
unlink;
request do_mkdir, "Create a directory",
mkdir;
request do_rmdir, "Remove a directory",
rmdir;
request do_rm, "Remove a file (unlink and kill_file, if appropriate)",
rm;
request do_kill_file, "Deallocate an inode and its blocks",
kill_file;
request do_clri, "Clear an inode's contents",
clri;
request do_freei, "Clear an inode's in-use flag",
freei;
request do_seti, "Set an inode's in-use flag",
seti;
request do_testi, "Test an inode's in-use flag",
testi;
request do_freeb, "Clear a block's in-use flag",
freeb;
request do_setb, "Set a block's in-use flag",
setb;
request do_testb, "Test a block's in-use flag",
testb;
request do_modify_inode, "Modify an inode by structure",
modify_inode, mi;
request do_find_free_block, "Find free block(s)",
find_free_block, ffb;
request do_find_free_inode, "Find free inode(s)",
find_free_inode, ffi;
request do_print_working_directory, "Print current working directory",
print_working_directory, pwd;
request do_expand_dir, "Expand directory",
expand_dir, expand;
request do_mknod, "Create a special file",
mknod;
request do_lsdel, "List deleted inodes",
list_deleted_inodes, lsdel;
request do_undel, "Undelete file",
undelete, undel;
request do_write, "Copy a file from your native filesystem",
write;
request do_dump, "Dump an inode out to a file",
dump_inode, dump;
request do_cat, "Dump an inode out to stdout",
cat;
request do_lcd, "Change the current directory on your native filesystem",
lcd;
request do_rdump, "Recursively dump a directory to the native filesystem",
rdump;
request do_set_super, "Set superblock value",
set_super_value, ssv;
request do_set_inode, "Set inode field",
set_inode_field, sif;
request do_set_block_group_descriptor, "Set block group descriptor field",
set_block_group, set_bg;
request do_logdump, "Dump the contents of the journal",
logdump;
request do_htree_dump, "Dump a hash-indexed directory",
htree_dump, htree;
request do_dx_hash, "Calculate the directory hash of a filename",
dx_hash, hash;
request do_dirsearch, "Search a directory for a particular filename",
dirsearch;
request do_bmap, "Calculate the logical->physical block mapping for an inode",
bmap;
request do_punch, "Punch (or truncate) blocks from an inode by deallocating them",
punch, truncate;
request do_symlink, "Create a symbolic link",
symlink;
request do_imap, "Calculate the location of an inode",
imap;
request do_dump_unused, "Dump unused blocks",
dump_unused;
request do_set_current_time, "Set current time to use when setting filesystem fields",
set_current_time;
request do_supported_features, "Print features supported by this version of e2fsprogs",
supported_features;
request do_dump_mmp, "Dump MMP information",
dump_mmp;
request do_set_mmp_value, "Set MMP value",
set_mmp_value, smmp;
request do_extent_open, "Open inode for extent manipulation",
extent_open, eo;
request do_zap_block, "Zap block: fill with 0, pattern, flip bits etc.",
zap_block, zap;
request do_block_dump, "Dump contents of a block",
block_dump, bd;
end;