Signed-off-by: Theodore Ts'o <tytso@xxxxxxx> --- debugfs/debugfs.c | 174 +++++++++++++++++++++----------- debugfs/debugfs.h | 202 ++++++++++++++++++------------------- debugfs/do_journal.c | 14 ++- debugfs/dump.c | 9 +- debugfs/extent_inode.c | 72 ++++++++----- debugfs/filefrag.c | 3 +- debugfs/htree.c | 9 +- debugfs/icheck.c | 3 +- debugfs/logdump.c | 3 +- debugfs/ls.c | 3 +- debugfs/lsdel.c | 3 +- debugfs/ncheck.c | 3 +- debugfs/quota.c | 6 +- debugfs/set_fields.c | 17 +++- debugfs/unused.c | 4 +- debugfs/xattrs.c | 12 ++- debugfs/zap.c | 6 +- lib/ext2fs/tst_bitmaps.c | 50 ++++++--- lib/ext2fs/tst_libext2fs.c | 3 +- misc/e2freefrag.c | 3 +- tests/progs/test_icount.c | 27 +++-- tests/progs/test_icount.h | 18 ++-- 22 files changed, 394 insertions(+), 250 deletions(-) diff --git a/debugfs/debugfs.c b/debugfs/debugfs.c index 0b04508ef..e03519c42 100644 --- a/debugfs/debugfs.c +++ b/debugfs/debugfs.c @@ -50,7 +50,7 @@ int journal_enable_debug = -1; ss_request_table *extra_cmds; const char *debug_prog_name; -int sci_idx; +int ss_sci_idx; ext2_filsys current_fs; quota_ctx_t current_qctx; @@ -218,7 +218,8 @@ errout: com_err(device, retval, "while trying to close filesystem"); } -void do_open_filesys(int argc, char **argv) +void do_open_filesys(int argc, char **argv, int sci_idx EXT2FS_ATTR((unused)), + void *infop EXT2FS_ATTR((unused))) { int c, err; int catastrophic = 0; @@ -294,7 +295,8 @@ print_usage: "<device>\n", argv[0]); } -void do_lcd(int argc, char **argv) +void do_lcd(int argc, char **argv, int sci_idx EXT2FS_ATTR((unused)), + void *infop EXT2FS_ATTR((unused))) { if (argc != 2) { com_err(argv[0], 0, "Usage: %s %s", argv[0], "<native dir>"); @@ -331,7 +333,8 @@ static void close_filesystem(NOARGS) return; } -void do_close_filesys(int argc, char **argv) +void do_close_filesys(int argc, char **argv, int sci_idx EXT2FS_ATTR((unused)), + void *infop EXT2FS_ATTR((unused))) { int c; @@ -359,7 +362,8 @@ void do_close_filesys(int argc, char **argv) } #ifndef READ_ONLY -void do_init_filesys(int argc, char **argv) +void do_init_filesys(int argc, char **argv, int sci_idx EXT2FS_ATTR((unused)), + void *infop EXT2FS_ATTR((unused))) { struct ext2_super_block param; errcode_t retval; @@ -419,7 +423,9 @@ static void print_bg_opts(ext2_filsys fs, dgrp_t group, int mask, } } -void do_show_super_stats(int argc, char *argv[]) +void do_show_super_stats(int argc, char *argv[], + int sci_idx EXT2FS_ATTR((unused)), + void *infop EXT2FS_ATTR((unused))) { const char *units ="block"; dgrp_t i; @@ -514,7 +520,9 @@ print_usage: #ifndef READ_ONLY void do_dirty_filesys(int argc EXT2FS_ATTR((unused)), - char **argv EXT2FS_ATTR((unused))) + char **argv EXT2FS_ATTR((unused)), + int sci_idx EXT2FS_ATTR((unused)), + void *infop EXT2FS_ATTR((unused))) { if (check_fs_open(argv[0])) return; @@ -965,7 +973,8 @@ static void dump_inode(ext2_ino_t inode_num, struct ext2_inode *inode) close_pager(out); } -void do_stat(int argc, char *argv[]) +void do_stat(int argc, char *argv[], int sci_idx EXT2FS_ATTR((unused)), + void *infop EXT2FS_ATTR((unused))) { ext2_ino_t inode; struct ext2_inode * inode_buf; @@ -996,7 +1005,8 @@ void do_stat(int argc, char *argv[]) return; } -void do_dump_extents(int argc, char **argv) +void do_dump_extents(int argc, char **argv, int sci_idx EXT2FS_ATTR((unused)), + void *infop EXT2FS_ATTR((unused))) { struct ext2_inode inode; ext2_ino_t ino; @@ -1067,7 +1077,8 @@ static int print_blocks_proc(ext2_filsys fs EXT2FS_ATTR((unused)), return 0; } -void do_blocks(int argc, char *argv[]) +void do_blocks(int argc, char *argv[], int sci_idx EXT2FS_ATTR((unused)), + void *infop EXT2FS_ATTR((unused))) { ext2_ino_t inode; @@ -1084,7 +1095,8 @@ void do_blocks(int argc, char *argv[]) return; } -void do_chroot(int argc, char *argv[]) +void do_chroot(int argc, char *argv[], int sci_idx EXT2FS_ATTR((unused)), + void *infop EXT2FS_ATTR((unused))) { ext2_ino_t inode; int retval; @@ -1101,7 +1113,8 @@ void do_chroot(int argc, char *argv[]) } #ifndef READ_ONLY -void do_clri(int argc, char *argv[]) +void do_clri(int argc, char *argv[], int sci_idx EXT2FS_ATTR((unused)), + void *infop EXT2FS_ATTR((unused))) { ext2_ino_t inode; struct ext2_inode inode_buf; @@ -1116,7 +1129,8 @@ void do_clri(int argc, char *argv[]) return; } -void do_freei(int argc, char *argv[]) +void do_freei(int argc, char *argv[], int sci_idx EXT2FS_ATTR((unused)), + void *infop EXT2FS_ATTR((unused))) { unsigned int len = 1; int err = 0; @@ -1146,7 +1160,8 @@ void do_freei(int argc, char *argv[]) ext2fs_mark_ib_dirty(current_fs); } -void do_seti(int argc, char *argv[]) +void do_seti(int argc, char *argv[], int sci_idx EXT2FS_ATTR((unused)), + void *infop EXT2FS_ATTR((unused))) { unsigned int len = 1; int err = 0; @@ -1177,7 +1192,8 @@ void do_seti(int argc, char *argv[]) } #endif /* READ_ONLY */ -void do_testi(int argc, char *argv[]) +void do_testi(int argc, char *argv[], int sci_idx EXT2FS_ATTR((unused)), + void *infop EXT2FS_ATTR((unused))) { ext2_ino_t inode; @@ -1191,7 +1207,8 @@ void do_testi(int argc, char *argv[]) } #ifndef READ_ONLY -void do_freeb(int argc, char *argv[]) +void do_freeb(int argc, char *argv[], int sci_idx EXT2FS_ATTR((unused)), + void *infop EXT2FS_ATTR((unused))) { blk64_t block; blk64_t count = 1; @@ -1210,7 +1227,8 @@ void do_freeb(int argc, char *argv[]) ext2fs_mark_bb_dirty(current_fs); } -void do_setb(int argc, char *argv[]) +void do_setb(int argc, char *argv[], int sci_idx EXT2FS_ATTR((unused)), + void *infop EXT2FS_ATTR((unused))) { blk64_t block; blk64_t count = 1; @@ -1230,7 +1248,8 @@ void do_setb(int argc, char *argv[]) } #endif /* READ_ONLY */ -void do_testb(int argc, char *argv[]) +void do_testb(int argc, char *argv[], int sci_idx EXT2FS_ATTR((unused)), + void *infop EXT2FS_ATTR((unused))) { blk64_t block; blk64_t count = 1; @@ -1314,7 +1333,8 @@ static void modify_u32(char *com, const char *prompt, } -void do_modify_inode(int argc, char *argv[]) +void do_modify_inode(int argc, char *argv[], int sci_idx EXT2FS_ATTR((unused)), + void *infop EXT2FS_ATTR((unused))) { struct ext2_inode inode; ext2_ino_t inode_num; @@ -1391,7 +1411,9 @@ void do_modify_inode(int argc, char *argv[]) } #endif /* READ_ONLY */ -void do_change_working_dir(int argc, char *argv[]) +void do_change_working_dir(int argc, char *argv[], + int sci_idx EXT2FS_ATTR((unused)), + void *infop EXT2FS_ATTR((unused))) { ext2_ino_t inode; int retval; @@ -1408,7 +1430,9 @@ void do_change_working_dir(int argc, char *argv[]) return; } -void do_print_working_directory(int argc, char *argv[]) +void do_print_working_directory(int argc, char *argv[], + int sci_idx EXT2FS_ATTR((unused)), + void *infop EXT2FS_ATTR((unused))) { int retval; char *pathname = NULL; @@ -1497,7 +1521,8 @@ static void make_link(char *sourcename, char *destname) } -void do_link(int argc, char *argv[]) +void do_link(int argc, char *argv[], int sci_idx EXT2FS_ATTR((unused)), + void *infop EXT2FS_ATTR((unused))) { if (common_args_process(argc, argv, 3, 3, "link", "<source file> <dest_name>", CHECK_FS_RW)) @@ -1519,7 +1544,8 @@ static int mark_blocks_proc(ext2_filsys fs, blk64_t *blocknr, return 0; } -void do_undel(int argc, char *argv[]) +void do_undel(int argc, char *argv[], int sci_idx EXT2FS_ATTR((unused)), + void *infop EXT2FS_ATTR((unused))) { ext2_ino_t ino; struct ext2_inode inode; @@ -1582,7 +1608,8 @@ static void unlink_file_by_name(char *filename) return; } -void do_unlink(int argc, char *argv[]) +void do_unlink(int argc, char *argv[], int sci_idx EXT2FS_ATTR((unused)), + void *infop EXT2FS_ATTR((unused))) { if (common_args_process(argc, argv, 2, 2, "link", "<pathname>", CHECK_FS_RW)) @@ -1591,7 +1618,8 @@ void do_unlink(int argc, char *argv[]) unlink_file_by_name(argv[1]); } -void do_copy_inode(int argc, char *argv[]) +void do_copy_inode(int argc, char *argv[], int sci_idx EXT2FS_ATTR((unused)), + void *infop EXT2FS_ATTR((unused))) { ext2_ino_t src_ino, dest_ino; unsigned char buf[4096]; @@ -1619,7 +1647,9 @@ void do_copy_inode(int argc, char *argv[]) #endif /* READ_ONLY */ -void do_find_free_block(int argc, char *argv[]) +void do_find_free_block(int argc, char *argv[], + int sci_idx EXT2FS_ATTR((unused)), + void *infop EXT2FS_ATTR((unused))) { blk64_t free_blk, goal, first_free = 0; int count; @@ -1671,7 +1701,9 @@ void do_find_free_block(int argc, char *argv[]) printf("\n"); } -void do_find_free_inode(int argc, char *argv[]) +void do_find_free_inode(int argc, char *argv[], + int sci_idx EXT2FS_ATTR((unused)), + void *infop EXT2FS_ATTR((unused))) { ext2_ino_t free_inode, dir; int mode; @@ -1711,7 +1743,8 @@ void do_find_free_inode(int argc, char *argv[]) } #ifndef READ_ONLY -void do_write(int argc, char *argv[]) +void do_write(int argc, char *argv[], int sci_idx EXT2FS_ATTR((unused)), + void *infop EXT2FS_ATTR((unused))) { errcode_t retval; @@ -1724,7 +1757,8 @@ void do_write(int argc, char *argv[]) com_err(argv[0], retval, 0); } -void do_mknod(int argc, char *argv[]) +void do_mknod(int argc, char *argv[], int sci_idx EXT2FS_ATTR((unused)), + void *infop EXT2FS_ATTR((unused))) { unsigned long major, minor; errcode_t retval; @@ -1774,7 +1808,8 @@ void do_mknod(int argc, char *argv[]) com_err(argv[0], retval, 0); } -void do_mkdir(int argc, char *argv[]) +void do_mkdir(int argc, char *argv[], int sci_idx EXT2FS_ATTR((unused)), + void *infop EXT2FS_ATTR((unused))) { errcode_t retval; @@ -1827,7 +1862,8 @@ static void kill_file_by_inode(ext2_ino_t inode) } -void do_kill_file(int argc, char *argv[]) +void do_kill_file(int argc, char *argv[], int sci_idx EXT2FS_ATTR((unused)), + void *infop EXT2FS_ATTR((unused))) { ext2_ino_t inode_num; @@ -1837,7 +1873,8 @@ void do_kill_file(int argc, char *argv[]) kill_file_by_inode(inode_num); } -void do_rm(int argc, char *argv[]) +void do_rm(int argc, char *argv[], int sci_idx EXT2FS_ATTR((unused)), + void *infop EXT2FS_ATTR((unused))) { int retval; ext2_ino_t inode_num; @@ -1898,7 +1935,8 @@ static int rmdir_proc(ext2_ino_t dir EXT2FS_ATTR((unused)), return 0; } -void do_rmdir(int argc, char *argv[]) +void do_rmdir(int argc, char *argv[], int sci_idx EXT2FS_ATTR((unused)), + void *infop EXT2FS_ATTR((unused))) { int retval; ext2_ino_t inode_num; @@ -1956,7 +1994,9 @@ void do_rmdir(int argc, char *argv[]) #endif /* READ_ONLY */ void do_show_debugfs_params(int argc EXT2FS_ATTR((unused)), - char *argv[] EXT2FS_ATTR((unused))) + char *argv[] EXT2FS_ATTR((unused)), + int sci_idx EXT2FS_ATTR((unused)), + void *infop EXT2FS_ATTR((unused))) { if (current_fs) printf("Open mode: read-%s\n", @@ -1966,7 +2006,8 @@ void do_show_debugfs_params(int argc EXT2FS_ATTR((unused)), } #ifndef READ_ONLY -void do_expand_dir(int argc, char *argv[]) +void do_expand_dir(int argc, char *argv[], int sci_idx EXT2FS_ATTR((unused)), + void *infop EXT2FS_ATTR((unused))) { ext2_ino_t inode; int retval; @@ -1980,7 +2021,8 @@ void do_expand_dir(int argc, char *argv[]) return; } -void do_features(int argc, char *argv[]) +void do_features(int argc, char *argv[], int sci_idx EXT2FS_ATTR((unused)), + void *infop EXT2FS_ATTR((unused))) { int i; @@ -2001,7 +2043,8 @@ void do_features(int argc, char *argv[]) } #endif /* READ_ONLY */ -void do_bmap(int argc, char *argv[]) +void do_bmap(int argc, char *argv[], int sci_idx EXT2FS_ATTR((unused)), + void *infop EXT2FS_ATTR((unused))) { ext2_ino_t ino; blk64_t blk, pblk = 0; @@ -2064,7 +2107,8 @@ void do_bmap(int argc, char *argv[]) fputc('\n', stdout); } -void do_imap(int argc, char *argv[]) +void do_imap(int argc, char *argv[], int sci_idx EXT2FS_ATTR((unused)), + void *infop EXT2FS_ATTR((unused))) { ext2_ino_t ino; unsigned long group, block, block_nr, offset; @@ -2095,7 +2139,8 @@ void do_imap(int argc, char *argv[]) } -void do_idump(int argc, char *argv[]) +void do_idump(int argc, char *argv[], int sci_idx EXT2FS_ATTR((unused)), + void *infop EXT2FS_ATTR((unused))) { struct ext2_inode_large *inode; ext2_ino_t ino; @@ -2165,7 +2210,9 @@ err: } #ifndef READ_ONLY -void do_set_current_time(int argc, char *argv[]) +void do_set_current_time(int argc, char *argv[], + int sci_idx EXT2FS_ATTR((unused)), + void *infop EXT2FS_ATTR((unused))) { __s64 now; @@ -2224,7 +2271,9 @@ static int find_supp_feature(__u32 *supp, int feature_type, char *name) return 0; } -void do_supported_features(int argc, char *argv[]) +void do_supported_features(int argc, char *argv[], + int sci_idx EXT2FS_ATTR((unused)), + void *infop EXT2FS_ATTR((unused))) { int ret; __u32 supp[3] = { EXT2_LIB_FEATURE_COMPAT_SUPP, @@ -2252,7 +2301,8 @@ void do_supported_features(int argc, char *argv[]) } #ifndef READ_ONLY -void do_punch(int argc, char *argv[]) +void do_punch(int argc, char *argv[], int sci_idx EXT2FS_ATTR((unused)), + void *infop EXT2FS_ATTR((unused))) { ext2_ino_t ino; blk64_t start, end; @@ -2287,7 +2337,8 @@ void do_punch(int argc, char *argv[]) } } -void do_fallocate(int argc, char *argv[]) +void do_fallocate(int argc, char *argv[], int sci_idx EXT2FS_ATTR((unused)), + void *infop EXT2FS_ATTR((unused))) { ext2_ino_t ino; blk64_t start, end; @@ -2324,7 +2375,8 @@ void do_fallocate(int argc, char *argv[]) } #endif /* READ_ONLY */ -void do_symlink(int argc, char *argv[]) +void do_symlink(int argc, char *argv[], int sci_idx EXT2FS_ATTR((unused)), + void *infop EXT2FS_ATTR((unused))) { errcode_t retval; @@ -2339,7 +2391,9 @@ void do_symlink(int argc, char *argv[]) } #if CONFIG_MMP -void do_dump_mmp(int argc EXT2FS_ATTR((unused)), char *argv[]) +void do_dump_mmp(int argc EXT2FS_ATTR((unused)), char *argv[], + int sci_idx EXT2FS_ATTR((unused)), + void *infop EXT2FS_ATTR((unused))) { struct mmp_struct *mmp_s; unsigned long long mmp_block; @@ -2399,7 +2453,9 @@ void do_dump_mmp(int argc EXT2FS_ATTR((unused)), char *argv[]) } #else void do_dump_mmp(int argc EXT2FS_ATTR((unused)), - char *argv[] EXT2FS_ATTR((unused))) + char *argv[] EXT2FS_ATTR((unused)), + int sci_idx EXT2FS_ATTR((unused)), + void *infop EXT2FS_ATTR((unused))) { fprintf(stdout, "MMP is unsupported, please recompile with " "--enable-mmp\n"); @@ -2557,39 +2613,39 @@ int main(int argc, char **argv) superblock, blocksize, catastrophic, data_filename, undo_file); - sci_idx = ss_create_invocation(debug_prog_name, "0.0", (char *) NULL, - &debug_cmds, &retval); + ss_sci_idx = ss_create_invocation(debug_prog_name, "0.0", (char *) NULL, + &debug_cmds, &retval); if (retval) { - ss_perror(sci_idx, retval, "creating invocation"); + ss_perror(ss_sci_idx, retval, "creating invocation"); exit(1); } - ss_get_readline(sci_idx); + ss_get_readline(ss_sci_idx); - (void) ss_add_request_table (sci_idx, &ss_std_requests, 1, &retval); + (void) ss_add_request_table(ss_sci_idx, &ss_std_requests, 1, &retval); if (retval) { - ss_perror(sci_idx, retval, "adding standard requests"); + ss_perror(ss_sci_idx, retval, "adding standard requests"); exit (1); } if (extra_cmds) - ss_add_request_table (sci_idx, extra_cmds, 1, &retval); + ss_add_request_table(ss_sci_idx, extra_cmds, 1, &retval); if (retval) { - ss_perror(sci_idx, retval, "adding extra requests"); + ss_perror(ss_sci_idx, retval, "adding extra requests"); exit (1); } if (request) { retval = 0; - retval = ss_execute_line(sci_idx, request); + retval = ss_execute_line(ss_sci_idx, request); if (retval) { - ss_perror(sci_idx, retval, request); + ss_perror(ss_sci_idx, retval, request); exit_status++; } } else if (cmd_file) { - exit_status = source_file(cmd_file, sci_idx); + exit_status = source_file(cmd_file, ss_sci_idx); } else { - ss_listen(sci_idx); + ss_listen(ss_sci_idx); } - ss_delete_invocation(sci_idx); + ss_delete_invocation(ss_sci_idx); if (current_fs) close_filesystem(); diff --git a/debugfs/debugfs.h b/debugfs/debugfs.h index 93f036dec..449740be8 100644 --- a/debugfs/debugfs.h +++ b/debugfs/debugfs.h @@ -67,127 +67,127 @@ extern int ext2_file_type(unsigned int mode); /* ss command functions */ /* dump.c */ -extern void do_dump(int argc, char **argv); -extern void do_cat(int argc, char **argv); -extern void do_rdump(int argc, char **argv); +extern void do_dump(int argc, char **argv, int sci_idx, void *infop); +extern void do_cat(int argc, char **argv, int sci_idx, void *infop); +extern void do_rdump(int argc, char **argv, int sci_idx, void *infop); /* extent_inode.c */ -extern void do_extent_open(int argc, char **argv); -extern void do_extent_close(int argc, char **argv); -extern void do_current_node(int argc, char **argv); -extern void do_root_node(int argc, char **argv); -extern void do_last_leaf(int argc, char **argv); -extern void do_first_sib(int argc, char **argv); -extern void do_last_sib(int argc, char **argv); -extern void do_next_sib(int argc, char **argv); -extern void do_prev_sib(int argc, char **argv); -extern void do_next_leaf(int argc, char **argv); -extern void do_prev_leaf(int argc, char **argv); -extern void do_next(int argc, char **argv); -extern void do_prev(int argc, char **argv); -extern void do_up(int argc, char **argv); -extern void do_down(int argc, char **argv); -extern void do_delete_node(int argc, char **argv); -extern void do_replace_node(int argc, char **argv); -extern void do_split_node(int argc, char **argv); -extern void do_insert_node(int argc, char **argv); -extern void do_set_bmap(int argc, char **argv); -extern void do_print_all(int argc, char **argv); -extern void do_fix_parents(int argc, char **argv); -extern void do_info(int argc, char **argv); -extern void do_goto_block(int argc, char **argv); +extern void do_extent_open(int argc, char **argv, int sci_idx, void *infop); +extern void do_extent_close(int argc, char **argv, int sci_idx, void *infop); +extern void do_current_node(int argc, char **argv, int sci_idx, void *infop); +extern void do_root_node(int argc, char **argv, int sci_idx, void *infop); +extern void do_last_leaf(int argc, char **argv, int sci_idx, void *infop); +extern void do_first_sib(int argc, char **argv, int sci_idx, void *infop); +extern void do_last_sib(int argc, char **argv, int sci_idx, void *infop); +extern void do_next_sib(int argc, char **argv, int sci_idx, void *infop); +extern void do_prev_sib(int argc, char **argv, int sci_idx, void *infop); +extern void do_next_leaf(int argc, char **argv, int sci_idx, void *infop); +extern void do_prev_leaf(int argc, char **argv, int sci_idx, void *infop); +extern void do_next(int argc, char **argv, int sci_idx, void *infop); +extern void do_prev(int argc, char **argv, int sci_idx, void *infop); +extern void do_up(int argc, char **argv, int sci_idx, void *infop); +extern void do_down(int argc, char **argv, int sci_idx, void *infop); +extern void do_delete_node(int argc, char **argv, int sci_idx, void *infop); +extern void do_replace_node(int argc, char **argv, int sci_idx, void *infop); +extern void do_split_node(int argc, char **argv, int sci_idx, void *infop); +extern void do_insert_node(int argc, char **argv, int sci_idx, void *infop); +extern void do_set_bmap(int argc, char **argv, int sci_idx, void *infop); +extern void do_print_all(int argc, char **argv, int sci_idx, void *infop); +extern void do_fix_parents(int argc, char **argv, int sci_idx, void *infop); +extern void do_info(int argc, char **argv, int sci_idx, void *infop); +extern void do_goto_block(int argc, char **argv, int sci_idx, void *infop); /* htree.c */ -extern void do_htree_dump(int argc, char **argv); -extern void do_dx_hash(int argc, char **argv); -extern void do_dirsearch(int argc, char **argv); +extern void do_htree_dump(int argc, char **argv, int sci_idx, void *infop); +extern void do_dx_hash(int argc, char **argv, int sci_idx, void *infop); +extern void do_dirsearch(int argc, char **argv, int sci_idx, void *infop); /* logdump.c */ -extern void do_logdump(int argc, char **argv); +extern void do_logdump(int argc, char **argv, int sci_idx, void *infop); /* lsdel.c */ -extern void do_lsdel(int argc, char **argv); +extern void do_lsdel(int argc, char **argv, int sci_idx, void *infop); /* icheck.c */ -extern void do_icheck(int argc, char **argv); +extern void do_icheck(int argc, char **argv, int sci_idx, void *infop); /* ncheck.c */ -extern void do_ncheck(int argc, char **argv); +extern void do_ncheck(int argc, char **argv, int sci_idx, void *infop); /* set_fields.c */ -extern void do_set_super(int argc, char **); -extern void do_set_inode(int argc, char **); -extern void do_set_block_group_descriptor(int argc, char **); +extern void do_set_super(int argc, char **, int sci_idx, void *infop); +extern void do_set_inode(int argc, char **, int sci_idx, void *infop); +extern void do_set_block_group_descriptor(int argc, char **, int sci_idx, void *infop); /* unused.c */ -extern void do_dump_unused(int argc, char **argv); +extern void do_dump_unused(int argc, char **argv, int sci_idx, void *infop); /* debugfs.c */ extern void internal_dump_inode(FILE *, const char *, ext2_ino_t, struct ext2_inode *, int); -extern void do_dirty_filesys(int argc, char **argv); -extern void do_open_filesys(int argc, char **argv); -extern void do_close_filesys(int argc, char **argv); -extern void do_lcd(int argc, char **argv); -extern void do_init_filesys(int argc, char **argv); -extern void do_show_super_stats(int argc, char **argv); -extern void do_kill_file(int argc, char **argv); -extern void do_rm(int argc, char **argv); -extern void do_link(int argc, char **argv); -extern void do_undel(int argc, char **argv); -extern void do_unlink(int argc, char **argv); -extern void do_copy_inode(int argc, char *argv[]); -extern void do_find_free_block(int argc, char **argv); -extern void do_find_free_inode(int argc, char **argv); -extern void do_stat(int argc, char **argv); -extern void do_dump_extents(int argc, char **argv); -extern void do_blocks(int argc, char *argv[]); - -extern void do_chroot(int argc, char **argv); -extern void do_clri(int argc, char **argv); -extern void do_freei(int argc, char **argv); -extern void do_seti(int argc, char **argv); -extern void do_testi(int argc, char **argv); -extern void do_freeb(int argc, char **argv); -extern void do_setb(int argc, char **argv); -extern void do_testb(int argc, char **argv); -extern void do_modify_inode(int argc, char **argv); -extern void do_list_dir(int argc, char **argv); -extern void do_change_working_dir(int argc, char **argv); -extern void do_print_working_directory(int argc, char **argv); -extern void do_write(int argc, char **argv); -extern void do_mknod(int argc, char **argv); -extern void do_mkdir(int argc, char **argv); -extern void do_rmdir(int argc, char **argv); -extern void do_show_debugfs_params(int argc, char **argv); -extern void do_expand_dir(int argc, char **argv); -extern void do_features(int argc, char **argv); -extern void do_bmap(int argc, char **argv); -extern void do_imap(int argc, char **argv); -extern void do_idump(int argc, char *argv[]); -extern void do_set_current_time(int argc, char **argv); -extern void do_supported_features(int argc, char **argv); -extern void do_punch(int argc, char **argv); -extern void do_fallocate(int argc, char **argv); -extern void do_symlink(int argc, char **argv); - -extern void do_dump_mmp(int argc, char **argv); -extern void do_set_mmp_value(int argc, char **argv); - -extern void do_freefrag(int argc, char **argv); -extern void do_filefrag(int argc, char *argv[]); +extern void do_dirty_filesys(int argc, char **argv, int sci_idx, void *infop); +extern void do_open_filesys(int argc, char **argv, int sci_idx, void *infop); +extern void do_close_filesys(int argc, char **argv, int sci_idx, void *infop); +extern void do_lcd(int argc, char **argv, int sci_idx, void *infop); +extern void do_init_filesys(int argc, char **argv, int sci_idx, void *infop); +extern void do_show_super_stats(int argc, char **argv, int sci_idx, void *infop); +extern void do_kill_file(int argc, char **argv, int sci_idx, void *infop); +extern void do_rm(int argc, char **argv, int sci_idx, void *infop); +extern void do_link(int argc, char **argv, int sci_idx, void *infop); +extern void do_undel(int argc, char **argv, int sci_idx, void *infop); +extern void do_unlink(int argc, char **argv, int sci_idx, void *infop); +extern void do_copy_inode(int argc, char *argv[], int sci_idx, void *infop); +extern void do_find_free_block(int argc, char **argv, int sci_idx, void *infop); +extern void do_find_free_inode(int argc, char **argv, int sci_idx, void *infop); +extern void do_stat(int argc, char **argv, int sci_idx, void *infop); +extern void do_dump_extents(int argc, char **argv, int sci_idx, void *infop); +extern void do_blocks(int argc, char *argv[], int sci_idx, void *infop); + +extern void do_chroot(int argc, char **argv, int sci_idx, void *infop); +extern void do_clri(int argc, char **argv, int sci_idx, void *infop); +extern void do_freei(int argc, char **argv, int sci_idx, void *infop); +extern void do_seti(int argc, char **argv, int sci_idx, void *infop); +extern void do_testi(int argc, char **argv, int sci_idx, void *infop); +extern void do_freeb(int argc, char **argv, int sci_idx, void *infop); +extern void do_setb(int argc, char **argv, int sci_idx, void *infop); +extern void do_testb(int argc, char **argv, int sci_idx, void *infop); +extern void do_modify_inode(int argc, char **argv, int sci_idx, void *infop); +extern void do_list_dir(int argc, char **argv, int sci_idx, void *infop); +extern void do_change_working_dir(int argc, char **argv, int sci_idx, void *infop); +extern void do_print_working_directory(int argc, char **argv, int sci_idx, void *infop); +extern void do_write(int argc, char **argv, int sci_idx, void *infop); +extern void do_mknod(int argc, char **argv, int sci_idx, void *infop); +extern void do_mkdir(int argc, char **argv, int sci_idx, void *infop); +extern void do_rmdir(int argc, char **argv, int sci_idx, void *infop); +extern void do_show_debugfs_params(int argc, char **argv, int sci_idx, void *infop); +extern void do_expand_dir(int argc, char **argv, int sci_idx, void *infop); +extern void do_features(int argc, char **argv, int sci_idx, void *infop); +extern void do_bmap(int argc, char **argv, int sci_idx, void *infop); +extern void do_imap(int argc, char **argv, int sci_idx, void *infop); +extern void do_idump(int argc, char *argv[], int sci_idx, void *infop); +extern void do_set_current_time(int argc, char **argv, int sci_idx, void *infop); +extern void do_supported_features(int argc, char **argv, int sci_idx, void *infop); +extern void do_punch(int argc, char **argv, int sci_idx, void *infop); +extern void do_fallocate(int argc, char **argv, int sci_idx, void *infop); +extern void do_symlink(int argc, char **argv, int sci_idx, void *infop); + +extern void do_dump_mmp(int argc, char **argv, int sci_idx, void *infop); +extern void do_set_mmp_value(int argc, char **argv, int sci_idx, void *infop); + +extern void do_freefrag(int argc, char **argv, int sci_idx, void *infop); +extern void do_filefrag(int argc, char *argv[], int sci_idx, void *infop); /* do_journal.c */ -extern void do_journal_write(int argc, char *argv[]); -extern void do_journal_open(int argc, char *argv[]); -extern void do_journal_close(int argc, char *argv[]); -extern void do_journal_run(int argc, char *argv[]); +extern void do_journal_write(int argc, char *argv[], int sci_idx, void *infop); +extern void do_journal_open(int argc, char *argv[], int sci_idx, void *infop); +extern void do_journal_close(int argc, char *argv[], int sci_idx, void *infop); +extern void do_journal_run(int argc, char *argv[], int sci_idx, void *infop); /* quota.c */ -extern void do_list_quota(int argc, char *argv[]); -extern void do_get_quota(int argc, char *argv[]); +extern void do_list_quota(int argc, char *argv[], int sci_idx, void *infop); +extern void do_get_quota(int argc, char *argv[], int sci_idx, void *infop); /* util.c */ extern __s64 string_to_time(const char *arg); @@ -195,14 +195,14 @@ errcode_t read_list(char *str, blk64_t **list, size_t *len); /* xattrs.c */ void dump_inode_attributes(FILE *out, ext2_ino_t ino); -void do_get_xattr(int argc, char **argv); -void do_set_xattr(int argc, char **argv); -void do_rm_xattr(int argc, char **argv); -void do_list_xattr(int argc, char **argv); +void do_get_xattr(int argc, char **argv, int sci_idx, void *infop); +void do_set_xattr(int argc, char **argv, int sci_idx, void *infop); +void do_rm_xattr(int argc, char **argv, int sci_idx, void *infop); +void do_list_xattr(int argc, char **argv, int sci_idx, void *infop); void raw_inode_xattr_dump(FILE *f, unsigned char *buf, unsigned int len); void block_xattr_dump(FILE *f, unsigned char *buf, unsigned int len); /* zap.c */ -extern void do_zap_block(int argc, char **argv); -extern void do_block_dump(int argc, char **argv); +extern void do_zap_block(int argc, char **argv, int sci_idx, void *infop); +extern void do_block_dump(int argc, char **argv, int sci_idx, void *infop); extern void do_byte_hexdump(FILE *fp, unsigned char *buf, size_t bufsize); diff --git a/debugfs/do_journal.c b/debugfs/do_journal.c index d7ab91615..eeb363eb4 100644 --- a/debugfs/do_journal.c +++ b/debugfs/do_journal.c @@ -534,7 +534,8 @@ error: return err; } -void do_journal_write(int argc, char *argv[]) +void do_journal_write(int argc, char *argv[], int sci_idx EXT2FS_ATTR((unused)), + void *infop EXT2FS_ATTR((unused))) { blk64_t *blist = NULL, *rlist = NULL; size_t bn = 0, rn = 0; @@ -856,7 +857,8 @@ static void update_64bit_flag(journal_t *journal) jfs_set_feature_64bit(journal); } -void do_journal_open(int argc, char *argv[]) +void do_journal_open(int argc, char *argv[], int sci_idx EXT2FS_ATTR((unused)), + void *infop EXT2FS_ATTR((unused))) { int opt, enable_csum = 0, csum_ver = 3; journal_t *journal; @@ -926,7 +928,9 @@ void do_journal_open(int argc, char *argv[]) } void do_journal_close(int argc EXT2FS_ATTR((unused)), - char *argv[] EXT2FS_ATTR((unused))) + char *argv[] EXT2FS_ATTR((unused)), + int sci_idx EXT2FS_ATTR((unused)), + void *infop EXT2FS_ATTR((unused))) { if (current_journal == NULL) { printf("Journal not open.\n"); @@ -936,7 +940,9 @@ void do_journal_close(int argc EXT2FS_ATTR((unused)), ext2fs_close_journal(current_fs, ¤t_journal); } -void do_journal_run(int argc EXT2FS_ATTR((unused)), char *argv[]) +void do_journal_run(int argc EXT2FS_ATTR((unused)), char *argv[], + int sci_idx EXT2FS_ATTR((unused)), + void *infop EXT2FS_ATTR((unused))) { errcode_t err; diff --git a/debugfs/dump.c b/debugfs/dump.c index 4d5daf0ac..fdd66198e 100644 --- a/debugfs/dump.c +++ b/debugfs/dump.c @@ -144,7 +144,8 @@ static void dump_file(const char *cmdname, ext2_ino_t ino, int fd, return; } -void do_dump(int argc, char **argv) +void do_dump(int argc, char **argv, int sci_idx EXT2FS_ATTR((unused)), + void *infop EXT2FS_ATTR((unused))) { ext2_ino_t inode; int fd; @@ -322,7 +323,8 @@ static int rdump_dirent(struct ext2_dir_entry *dirent, return 0; } -void do_rdump(int argc, char **argv) +void do_rdump(int argc, char **argv, int sci_idx EXT2FS_ATTR((unused)), + void *infop EXT2FS_ATTR((unused))) { struct stat st; char *dest_dir; @@ -366,7 +368,8 @@ void do_rdump(int argc, char **argv) } } -void do_cat(int argc, char **argv) +void do_cat(int argc, char **argv, int sci_idx EXT2FS_ATTR((unused)), + void *infop EXT2FS_ATTR((unused))) { ext2_ino_t inode; diff --git a/debugfs/extent_inode.c b/debugfs/extent_inode.c index c7a92a763..ada130869 100644 --- a/debugfs/extent_inode.c +++ b/debugfs/extent_inode.c @@ -64,7 +64,8 @@ static int common_extent_args_process(int argc, char *argv[], int min_argc, static char *orig_prompt, *extent_prompt; -void do_extent_open(int argc, char *argv[]) +void do_extent_open(int argc, char *argv[], int sci_idx EXT2FS_ATTR((unused)), + void *infop EXT2FS_ATTR((unused))) { ext2_ino_t inode; int ret; @@ -113,7 +114,8 @@ void do_extent_open(int argc, char *argv[]) return; } -void do_extent_close(int argc, char *argv[]) +void do_extent_close(int argc, char *argv[], int sci_idx EXT2FS_ATTR((unused)), + void *infop EXT2FS_ATTR((unused))) { int ret; @@ -158,72 +160,86 @@ static void generic_goto_node(const char *my_name, int argc, dbg_print_extent(0, &extent); } -void do_current_node(int argc, char *argv[]) +void do_current_node(int argc, char *argv[], int sci_idx EXT2FS_ATTR((unused)), + void *infop EXT2FS_ATTR((unused))) { generic_goto_node("current_node", argc, argv, EXT2_EXTENT_CURRENT); } -void do_root_node(int argc, char *argv[]) +void do_root_node(int argc, char *argv[], int sci_idx EXT2FS_ATTR((unused)), + void *infop EXT2FS_ATTR((unused))) { generic_goto_node("root_node", argc, argv, EXT2_EXTENT_ROOT); } -void do_last_leaf(int argc, char *argv[]) +void do_last_leaf(int argc, char *argv[], int sci_idx EXT2FS_ATTR((unused)), + void *infop EXT2FS_ATTR((unused))) { generic_goto_node("last_leaf", argc, argv, EXT2_EXTENT_LAST_LEAF); } -void do_first_sib(int argc, char *argv[]) +void do_first_sib(int argc, char *argv[], int sci_idx EXT2FS_ATTR((unused)), + void *infop EXT2FS_ATTR((unused))) { generic_goto_node("first_sib", argc, argv, EXT2_EXTENT_FIRST_SIB); } -void do_last_sib(int argc, char *argv[]) +void do_last_sib(int argc, char *argv[], int sci_idx EXT2FS_ATTR((unused)), + void *infop EXT2FS_ATTR((unused))) { generic_goto_node("next_sib", argc, argv, EXT2_EXTENT_LAST_SIB); } -void do_next_sib(int argc, char *argv[]) +void do_next_sib(int argc, char *argv[], int sci_idx EXT2FS_ATTR((unused)), + void *infop EXT2FS_ATTR((unused))) { generic_goto_node("next_sib", argc, argv, EXT2_EXTENT_NEXT_SIB); } -void do_prev_sib(int argc, char *argv[]) +void do_prev_sib(int argc, char *argv[], int sci_idx EXT2FS_ATTR((unused)), + void *infop EXT2FS_ATTR((unused))) { generic_goto_node("prev_sib", argc, argv, EXT2_EXTENT_PREV_SIB); } -void do_next_leaf(int argc, char *argv[]) +void do_next_leaf(int argc, char *argv[], int sci_idx EXT2FS_ATTR((unused)), + void *infop EXT2FS_ATTR((unused))) { generic_goto_node("next_leaf", argc, argv, EXT2_EXTENT_NEXT_LEAF); } -void do_prev_leaf(int argc, char *argv[]) +void do_prev_leaf(int argc, char *argv[], int sci_idx EXT2FS_ATTR((unused)), + void *infop EXT2FS_ATTR((unused))) { generic_goto_node("prev_leaf", argc, argv, EXT2_EXTENT_PREV_LEAF); } -void do_next(int argc, char *argv[]) +void do_next(int argc, char *argv[], int sci_idx EXT2FS_ATTR((unused)), + void *infop EXT2FS_ATTR((unused))) { generic_goto_node("next", argc, argv, EXT2_EXTENT_NEXT); } -void do_prev(int argc, char *argv[]) +void do_prev(int argc, char *argv[], int sci_idx EXT2FS_ATTR((unused)), + void *infop EXT2FS_ATTR((unused))) { generic_goto_node("prev", argc, argv, EXT2_EXTENT_PREV); } -void do_up(int argc, char *argv[]) +void do_up(int argc, char *argv[], int sci_idx EXT2FS_ATTR((unused)), + void *infop EXT2FS_ATTR((unused))) { generic_goto_node("up", argc, argv, EXT2_EXTENT_UP); } -void do_down(int argc, char *argv[]) +void do_down(int argc, char *argv[], int sci_idx EXT2FS_ATTR((unused)), + void *infop EXT2FS_ATTR((unused))) { generic_goto_node("down", argc, argv, EXT2_EXTENT_DOWN); } -void do_delete_node(int argc, char *argv[]) +void do_delete_node(int argc, char *argv[], int sci_idx EXT2FS_ATTR((unused)), + void *infop EXT2FS_ATTR((unused))) { struct ext2fs_extent extent; errcode_t retval; @@ -245,7 +261,8 @@ void do_delete_node(int argc, char *argv[]) dbg_print_extent(0, &extent); } -void do_replace_node(int argc, char *argv[]) +void do_replace_node(int argc, char *argv[], int sci_idx EXT2FS_ATTR((unused)), + void *infop EXT2FS_ATTR((unused))) { const char *usage = "[--uninit] <lblk> <len> <pblk>"; errcode_t retval; @@ -289,7 +306,8 @@ void do_replace_node(int argc, char *argv[]) generic_goto_node(NULL, argc, argv, EXT2_EXTENT_CURRENT); } -void do_split_node(int argc, char *argv[]) +void do_split_node(int argc, char *argv[], int sci_idx EXT2FS_ATTR((unused)), + void *infop EXT2FS_ATTR((unused))) { errcode_t retval; @@ -305,7 +323,8 @@ void do_split_node(int argc, char *argv[]) generic_goto_node(NULL, argc, argv, EXT2_EXTENT_CURRENT); } -void do_insert_node(int argc, char *argv[]) +void do_insert_node(int argc, char *argv[], int sci_idx EXT2FS_ATTR((unused)), + void *infop EXT2FS_ATTR((unused))) { const char *usage = "[--after] [--uninit] <lblk> <len> <pblk>"; errcode_t retval; @@ -363,7 +382,8 @@ void do_insert_node(int argc, char *argv[]) generic_goto_node(NULL, argc, argv, EXT2_EXTENT_CURRENT); } -void do_set_bmap(int argc, char **argv) +void do_set_bmap(int argc, char **argv, int sci_idx EXT2FS_ATTR((unused)), + void *infop EXT2FS_ATTR((unused))) { const char *usage = "[--uninit] <lblk> <pblk>"; struct ext2fs_extent extent; @@ -411,7 +431,8 @@ void do_set_bmap(int argc, char **argv) dbg_print_extent(0, &extent); } -void do_print_all(int argc, char **argv) +void do_print_all(int argc, char **argv, int sci_idx EXT2FS_ATTR((unused)), + void *infop EXT2FS_ATTR((unused))) { const char *usage = "[--leaf-only|--reverse|--reverse-leaf]"; struct ext2fs_extent extent; @@ -462,7 +483,8 @@ void do_print_all(int argc, char **argv) } } -void do_fix_parents(int argc, char **argv) +void do_fix_parents(int argc, char **argv, int sci_idx EXT2FS_ATTR((unused)), + void *infop EXT2FS_ATTR((unused))) { errcode_t retval; @@ -477,7 +499,8 @@ void do_fix_parents(int argc, char **argv) } } -void do_info(int argc, char **argv) +void do_info(int argc, char **argv, int sci_idx EXT2FS_ATTR((unused)), + void *infop EXT2FS_ATTR((unused))) { struct ext2fs_extent extent; struct ext2_extent_info info; @@ -510,7 +533,8 @@ void do_info(int argc, char **argv) info.max_uninit_len); } -void do_goto_block(int argc, char **argv) +void do_goto_block(int argc, char **argv, int sci_idx EXT2FS_ATTR((unused)), + void *infop EXT2FS_ATTR((unused))) { errcode_t retval; blk64_t blk; diff --git a/debugfs/filefrag.c b/debugfs/filefrag.c index 128598b0b..961b69623 100644 --- a/debugfs/filefrag.c +++ b/debugfs/filefrag.c @@ -260,7 +260,8 @@ static void dir_iterate(ext2_ino_t ino, struct filefrag_struct *fs) } } -void do_filefrag(int argc, char *argv[]) +void do_filefrag(int argc, char *argv[], int sci_idx EXT2FS_ATTR((unused)), + void *infop EXT2FS_ATTR((unused))) { struct filefrag_struct fs; struct ext2_inode inode; diff --git a/debugfs/htree.c b/debugfs/htree.c index cf7d78aa6..0c6a38523 100644 --- a/debugfs/htree.c +++ b/debugfs/htree.c @@ -227,7 +227,8 @@ errout: -void do_htree_dump(int argc, char *argv[]) +void do_htree_dump(int argc, char *argv[], int sci_idx EXT2FS_ATTR((unused)), + void *infop EXT2FS_ATTR((unused))) { ext2_ino_t ino; struct ext2_inode inode; @@ -302,7 +303,8 @@ errout: /* * This function prints the hash of a given file. */ -void do_dx_hash(int argc, char *argv[]) +void do_dx_hash(int argc, char *argv[], int sci_idx EXT2FS_ATTR((unused)), + void *infop EXT2FS_ATTR((unused))) { ext2_dirhash_t hash, minor_hash; errcode_t err; @@ -362,7 +364,8 @@ static int search_dir_block(ext2_filsys fs, blk64_t *blocknr, e2_blkcnt_t blockcnt, blk64_t ref_blk, int ref_offset, void *priv_data); -void do_dirsearch(int argc, char *argv[]) +void do_dirsearch(int argc, char *argv[], int sci_idx EXT2FS_ATTR((unused)), + void *infop EXT2FS_ATTR((unused))) { ext2_ino_t inode; struct process_block_struct pb; diff --git a/debugfs/icheck.c b/debugfs/icheck.c index 3b9bd145b..71164cf74 100644 --- a/debugfs/icheck.c +++ b/debugfs/icheck.c @@ -53,7 +53,8 @@ static int icheck_proc(ext2_filsys fs EXT2FS_ATTR((unused)), return 0; } -void do_icheck(int argc, char **argv) +void do_icheck(int argc, char **argv, int sci_idx EXT2FS_ATTR((unused)), + void *infop EXT2FS_ATTR((unused))) { struct block_walk_struct bw; struct block_info *binfo; diff --git a/debugfs/logdump.c b/debugfs/logdump.c index 03edb44b7..e286ae83b 100644 --- a/debugfs/logdump.c +++ b/debugfs/logdump.c @@ -72,7 +72,8 @@ static void do_hexdump (FILE *, char *, int); blocknr -= (be32_to_cpu((jsb)->s_maxlen) - \ be32_to_cpu((jsb)->s_first)); -void do_logdump(int argc, char **argv) +void do_logdump(int argc, char **argv, int sci_idx EXT2FS_ATTR((unused)), + void *infop EXT2FS_ATTR((unused))) { int c; int retval; diff --git a/debugfs/ls.c b/debugfs/ls.c index bfc28cb68..a1e8f4e92 100644 --- a/debugfs/ls.c +++ b/debugfs/ls.c @@ -189,7 +189,8 @@ static int list_dir_proc(ext2_ino_t dir EXT2FS_ATTR((unused)), return 0; } -void do_list_dir(int argc, char *argv[]) +void do_list_dir(int argc, char *argv[], int sci_idx EXT2FS_ATTR((unused)), + void *infop EXT2FS_ATTR((unused))) { struct ext2_inode inode; ext2_ino_t ino; diff --git a/debugfs/lsdel.c b/debugfs/lsdel.c index 946b26867..c0d589007 100644 --- a/debugfs/lsdel.c +++ b/debugfs/lsdel.c @@ -71,7 +71,8 @@ static int lsdel_proc(ext2_filsys fs, return 0; } -void do_lsdel(int argc, char **argv) +void do_lsdel(int argc, char **argv, int sci_idx EXT2FS_ATTR((unused)), + void *infop EXT2FS_ATTR((unused))) { struct lsdel_struct lsd; struct deleted_info *delarray; diff --git a/debugfs/ncheck.c b/debugfs/ncheck.c index 158e86586..011f26deb 100644 --- a/debugfs/ncheck.c +++ b/debugfs/ncheck.c @@ -90,7 +90,8 @@ static int ncheck_proc(struct ext2_dir_entry *dirent, return 0; } -void do_ncheck(int argc, char **argv) +void do_ncheck(int argc, char **argv, int sci_idx EXT2FS_ATTR((unused)), + void *infop EXT2FS_ATTR((unused))) { struct inode_walk_struct iw; int c, i; diff --git a/debugfs/quota.c b/debugfs/quota.c index 0b7c2eee8..f792bd738 100644 --- a/debugfs/quota.c +++ b/debugfs/quota.c @@ -102,7 +102,8 @@ static int list_quota_callback(struct dquot *dq, return 0; } -void do_list_quota(int argc, char *argv[]) +void do_list_quota(int argc, char *argv[], int sci_idx EXT2FS_ATTR((unused)), + void *infop EXT2FS_ATTR((unused))) { errcode_t retval; int type; @@ -131,7 +132,8 @@ void do_list_quota(int argc, char *argv[]) } } -void do_get_quota(int argc, char *argv[]) +void do_get_quota(int argc, char *argv[], int sci_idx EXT2FS_ATTR((unused)), + void *infop EXT2FS_ATTR((unused))) { int err, type; struct quota_handle *qh; diff --git a/debugfs/set_fields.c b/debugfs/set_fields.c index e1e23a5df..e23776153 100644 --- a/debugfs/set_fields.c +++ b/debugfs/set_fields.c @@ -723,7 +723,8 @@ static void print_possible_fields(struct field_set_info *fields) } -void do_set_super(int argc, char *argv[]) +void do_set_super(int argc, char *argv[], int sci_idx EXT2FS_ATTR((unused)), + void *infop EXT2FS_ATTR((unused))) { const char *usage = "<field> <value>\n" "\t\"set_super_value -l\" will list the names of " @@ -750,7 +751,8 @@ void do_set_super(int argc, char *argv[]) } } -void do_set_inode(int argc, char *argv[]) +void do_set_inode(int argc, char *argv[], int sci_idx EXT2FS_ATTR((unused)), + void *infop EXT2FS_ATTR((unused))) { const char *usage = "<inode> <field> <value>\n" "\t\"set_inode_field -l\" will list the names of " @@ -788,7 +790,9 @@ void do_set_inode(int argc, char *argv[]) } } -void do_set_block_group_descriptor(int argc, char *argv[]) +void do_set_block_group_descriptor(int argc, char *argv[], + int sci_idx EXT2FS_ATTR((unused)), + void *infop EXT2FS_ATTR((unused))) { const char *usage = "<bg number> <field> <value>\n" "\t\"set_block_group -l\" will list the names of " @@ -866,7 +870,8 @@ static errcode_t parse_mmp_clear(struct field_set_info *info, } #ifdef CONFIG_MMP -void do_set_mmp_value(int argc, char *argv[]) +void do_set_mmp_value(int argc, char *argv[], int sci_idx EXT2FS_ATTR((unused)), + void *infop EXT2FS_ATTR((unused))) { const char *usage = "<field> <value>\n" "\t\"set_mmp_value -l\" will list the names of " @@ -925,7 +930,9 @@ void do_set_mmp_value(int argc, char *argv[]) } #else void do_set_mmp_value(int argc EXT2FS_ATTR((unused)), - char *argv[] EXT2FS_ATTR((unused))) + char *argv[] EXT2FS_ATTR((unused)), + int sci_idx EXT2FS_ATTR((unused)), + void *infop EXT2FS_ATTR((unused))) { fprintf(stdout, "MMP is unsupported, please recompile with " "--enable-mmp\n"); diff --git a/debugfs/unused.c b/debugfs/unused.c index 4cb11918c..a6b44b5eb 100644 --- a/debugfs/unused.c +++ b/debugfs/unused.c @@ -25,7 +25,9 @@ extern char *optarg; #include "debugfs.h" -void do_dump_unused(int argc EXT2FS_ATTR((unused)), char **argv) +void do_dump_unused(int argc EXT2FS_ATTR((unused)), char **argv, + int sci_idx EXT2FS_ATTR((unused)), + void *infop EXT2FS_ATTR((unused))) { blk64_t blk; unsigned char buf[EXT2_MAX_BLOCK_SIZE]; diff --git a/debugfs/xattrs.c b/debugfs/xattrs.c index c29761ec9..8bbaaeddb 100644 --- a/debugfs/xattrs.c +++ b/debugfs/xattrs.c @@ -117,7 +117,8 @@ out: err = ext2fs_xattrs_close(&h); } -void do_list_xattr(int argc, char **argv) +void do_list_xattr(int argc, char **argv, int sci_idx EXT2FS_ATTR((unused)), + void *infop EXT2FS_ATTR((unused))) { ext2_ino_t ino; @@ -137,7 +138,8 @@ void do_list_xattr(int argc, char **argv) dump_inode_attributes(stdout, ino); } -void do_get_xattr(int argc, char **argv) +void do_get_xattr(int argc, char **argv, int sci_idx EXT2FS_ATTR((unused)), + void *infop EXT2FS_ATTR((unused))) { ext2_ino_t ino; struct ext2_xattr_handle *h; @@ -234,7 +236,8 @@ out2: fclose(fp); } -void do_set_xattr(int argc, char **argv) +void do_set_xattr(int argc, char **argv, int sci_idx EXT2FS_ATTR((unused)), + void *infop EXT2FS_ATTR((unused))) { ext2_ino_t ino; struct ext2_xattr_handle *h; @@ -317,7 +320,8 @@ out2: } } -void do_rm_xattr(int argc, char **argv) +void do_rm_xattr(int argc, char **argv, int sci_idx EXT2FS_ATTR((unused)), + void *infop EXT2FS_ATTR((unused))) { ext2_ino_t ino; struct ext2_xattr_handle *h; diff --git a/debugfs/zap.c b/debugfs/zap.c index a849b90b4..c7996b229 100644 --- a/debugfs/zap.c +++ b/debugfs/zap.c @@ -25,7 +25,8 @@ extern char *optarg; #include "debugfs.h" -void do_zap_block(int argc, char *argv[]) +void do_zap_block(int argc, char *argv[], int sci_idx EXT2FS_ATTR((unused)), + void *infop EXT2FS_ATTR((unused))) { unsigned long pattern = 0; unsigned char *buf; @@ -167,7 +168,8 @@ errout: return; } -void do_block_dump(int argc, char *argv[]) +void do_block_dump(int argc, char *argv[], int sci_idx EXT2FS_ATTR((unused)), + void *infop EXT2FS_ATTR((unused))) { unsigned char *buf; ext2_ino_t inode; diff --git a/lib/ext2fs/tst_bitmaps.c b/lib/ext2fs/tst_bitmaps.c index 574fb7a7f..f6196b315 100644 --- a/lib/ext2fs/tst_bitmaps.c +++ b/lib/ext2fs/tst_bitmaps.c @@ -190,7 +190,8 @@ errout: ext2fs_close_free(&test_fs); } -void setup_cmd(int argc, char **argv) +void setup_cmd(int argc, char **argv, int sci_idx EXT2FS_ATTR((unused)), + void *infop EXT2FS_ATTR((unused))) { int c, err; unsigned int blocks = 128; @@ -234,7 +235,8 @@ void setup_cmd(int argc, char **argv) setup_filesystem(argv[0], blocks, inodes, type, flags); } -void close_cmd(int argc, char **argv) +void close_cmd(int argc, char **argv, int sci_idx EXT2FS_ATTR((unused)), + void *infop EXT2FS_ATTR((unused))) { if (check_fs_open(argv[0])) return; @@ -269,7 +271,9 @@ void dump_bitmap(ext2fs_generic_bitmap bmap, unsigned int start, unsigned num) free(buf); } -void dump_inode_bitmap_cmd(int argc, char **argv) +void dump_inode_bitmap_cmd(int argc, char **argv, + int sci_idx EXT2FS_ATTR((unused)), + void *infop EXT2FS_ATTR((unused))) { if (check_fs_open(argv[0])) return; @@ -278,7 +282,9 @@ void dump_inode_bitmap_cmd(int argc, char **argv) dump_bitmap(test_fs->inode_map, 1, test_fs->super->s_inodes_count); } -void dump_block_bitmap_cmd(int argc, char **argv) +void dump_block_bitmap_cmd(int argc, char **argv, + int sci_idx EXT2FS_ATTR((unused)), + void *infop EXT2FS_ATTR((unused))) { if (check_fs_open(argv[0])) return; @@ -288,7 +294,8 @@ void dump_block_bitmap_cmd(int argc, char **argv) test_fs->super->s_blocks_count); } -void do_setb(int argc, char *argv[]) +void do_setb(int argc, char *argv[], int sci_idx EXT2FS_ATTR((unused)), + void *infop EXT2FS_ATTR((unused))) { unsigned int block, num; int err; @@ -326,7 +333,8 @@ void do_setb(int argc, char *argv[]) test_result, op_result); } -void do_clearb(int argc, char *argv[]) +void do_clearb(int argc, char *argv[], int sci_idx EXT2FS_ATTR((unused)), + void *infop EXT2FS_ATTR((unused))) { unsigned int block, num; int err; @@ -364,7 +372,8 @@ void do_clearb(int argc, char *argv[]) test_result, op_result); } -void do_testb(int argc, char *argv[]) +void do_testb(int argc, char *argv[], int sci_idx EXT2FS_ATTR((unused)), + void *infop EXT2FS_ATTR((unused))) { unsigned int block, num; int err; @@ -399,7 +408,8 @@ void do_testb(int argc, char *argv[]) printf("Block %u is %s\n", block, test_result ? "set" : "clear"); } -void do_ffzb(int argc, char *argv[]) +void do_ffzb(int argc, char *argv[], int sci_idx EXT2FS_ATTR((unused)), + void *infop EXT2FS_ATTR((unused))) { unsigned int start, end; int err; @@ -432,7 +442,8 @@ void do_ffzb(int argc, char *argv[]) printf("First unmarked block is %llu\n", out); } -void do_ffsb(int argc, char *argv[]) +void do_ffsb(int argc, char *argv[], int sci_idx EXT2FS_ATTR((unused)), + void *infop EXT2FS_ATTR((unused))) { unsigned int start, end; int err; @@ -466,7 +477,8 @@ void do_ffsb(int argc, char *argv[]) } -void do_zerob(int argc, char *argv[]) +void do_zerob(int argc, char *argv[], int sci_idx EXT2FS_ATTR((unused)), + void *infop EXT2FS_ATTR((unused))) { if (check_fs_open(argv[0])) return; @@ -475,7 +487,8 @@ void do_zerob(int argc, char *argv[]) ext2fs_clear_block_bitmap(test_fs->block_map); } -void do_seti(int argc, char *argv[]) +void do_seti(int argc, char *argv[], int sci_idx EXT2FS_ATTR((unused)), + void *infop EXT2FS_ATTR((unused))) { unsigned int inode; int err; @@ -504,7 +517,8 @@ void do_seti(int argc, char *argv[]) } } -void do_cleari(int argc, char *argv[]) +void do_cleari(int argc, char *argv[], int sci_idx EXT2FS_ATTR((unused)), + void *infop EXT2FS_ATTR((unused))) { unsigned int inode; int err; @@ -533,7 +547,8 @@ void do_cleari(int argc, char *argv[]) } } -void do_testi(int argc, char *argv[]) +void do_testi(int argc, char *argv[], int sci_idx EXT2FS_ATTR((unused)), + void *infop EXT2FS_ATTR((unused))) { unsigned int inode; int err; @@ -555,7 +570,8 @@ void do_testi(int argc, char *argv[]) printf("Inode %u is %s\n", inode, test_result ? "set" : "clear"); } -void do_ffzi(int argc, char *argv[]) +void do_ffzi(int argc, char *argv[], int sci_idx EXT2FS_ATTR((unused)), + void *infop EXT2FS_ATTR((unused))) { unsigned int start, end; int err; @@ -588,7 +604,8 @@ void do_ffzi(int argc, char *argv[]) printf("First unmarked inode is %u\n", out); } -void do_ffsi(int argc, char *argv[]) +void do_ffsi(int argc, char *argv[], int sci_idx EXT2FS_ATTR((unused)), + void *infop EXT2FS_ATTR((unused))) { unsigned int start, end; int err; @@ -621,7 +638,8 @@ void do_ffsi(int argc, char *argv[]) printf("First marked inode is %u\n", out); } -void do_zeroi(int argc, char *argv[]) +void do_zeroi(int argc, char *argv[], int sci_idx EXT2FS_ATTR((unused)), + void *infop EXT2FS_ATTR((unused))) { if (check_fs_open(argv[0])) return; diff --git a/lib/ext2fs/tst_libext2fs.c b/lib/ext2fs/tst_libext2fs.c index a90bff220..3e7497cd8 100644 --- a/lib/ext2fs/tst_libext2fs.c +++ b/lib/ext2fs/tst_libext2fs.c @@ -43,7 +43,8 @@ static int print_blocks_proc(ext2_filsys fs EXT2FS_ATTR((unused)), } -void do_block_iterate(int argc, char **argv) +void do_block_iterate(int argc, char **argv, int sci_idx EXT2FS_ATTR((unused)), + void *infop EXT2FS_ATTR((unused))) { const char *usage = "block_iterate <file> <flags"; ext2_ino_t ino; diff --git a/misc/e2freefrag.c b/misc/e2freefrag.c index 268fac96f..6eb4c736d 100644 --- a/misc/e2freefrag.c +++ b/misc/e2freefrag.c @@ -371,7 +371,8 @@ static void open_device(char *device_name, ext2_filsys *fs) #ifdef DEBUGFS #include "debugfs.h" -void do_freefrag(int argc, char **argv) +void do_freefrag(int argc, char **argv, int sci_idx EXT2FS_ATTR((unused)), + void *infop EXT2FS_ATTR((unused))) #else int main(int argc, char *argv[]) #endif diff --git a/tests/progs/test_icount.c b/tests/progs/test_icount.c index 0a0f306de..8b01ea499 100644 --- a/tests/progs/test_icount.c +++ b/tests/progs/test_icount.c @@ -61,7 +61,8 @@ static int parse_inode(const char *request, const char *desc, return 0; } -void do_create_icount(int argc, char **argv) +void do_create_icount(int argc, char **argv, int sci_idx EXT2FS_ATTR((unused)), + void *infop EXT2FS_ATTR((unused))) { errcode_t retval; char *progname; @@ -91,7 +92,8 @@ void do_create_icount(int argc, char **argv) } } -void do_free_icount(int argc, char **argv) +void do_free_icount(int argc, char **argv, int sci_idx EXT2FS_ATTR((unused)), + void *infop EXT2FS_ATTR((unused))) { if (argc != 1) { printf("Usage: free_icount\n"); @@ -104,7 +106,8 @@ void do_free_icount(int argc, char **argv) test_icount = 0; } -void do_fetch(int argc, char **argv) +void do_fetch(int argc, char **argv, int sci_idx EXT2FS_ATTR((unused)), + void *infop EXT2FS_ATTR((unused))) { const char *usage = "usage: %s inode\n"; errcode_t retval; @@ -127,7 +130,8 @@ void do_fetch(int argc, char **argv) printf("Count is %u\n", count); } -void do_increment(int argc, char **argv) +void do_increment(int argc, char **argv, int sci_idx EXT2FS_ATTR((unused)), + void *infop EXT2FS_ATTR((unused))) { const char *usage = "usage: %s inode\n"; errcode_t retval; @@ -151,7 +155,8 @@ void do_increment(int argc, char **argv) printf("Count is now %u\n", count); } -void do_decrement(int argc, char **argv) +void do_decrement(int argc, char **argv, int sci_idx EXT2FS_ATTR((unused)), + void *infop EXT2FS_ATTR((unused))) { const char *usage = "usage: %s inode\n"; errcode_t retval; @@ -175,7 +180,8 @@ void do_decrement(int argc, char **argv) printf("Count is now %u\n", count); } -void do_store(int argc, char **argv) +void do_store(int argc, char **argv, int sci_idx EXT2FS_ATTR((unused)), + void *infop EXT2FS_ATTR((unused))) { const char *usage = "usage: %s inode count\n"; errcode_t retval; @@ -204,7 +210,8 @@ void do_store(int argc, char **argv) } } -void do_dump(int argc, char **argv) +void do_dump(int argc, char **argv, int sci_idx EXT2FS_ATTR((unused)), + void *infop EXT2FS_ATTR((unused))) { errcode_t retval; ext2_ino_t i; @@ -228,7 +235,8 @@ void do_dump(int argc, char **argv) } } -void do_validate(int argc, char **argv) +void do_validate(int argc, char **argv, int sci_idx EXT2FS_ATTR((unused)), + void *infop EXT2FS_ATTR((unused))) { errcode_t retval; @@ -246,7 +254,8 @@ void do_validate(int argc, char **argv) printf("Icount structure successfully validated\n"); } -void do_get_size(int argc, char **argv) +void do_get_size(int argc, char **argv, int sci_idx EXT2FS_ATTR((unused)), + void *infop EXT2FS_ATTR((unused))) { ext2_ino_t size; diff --git a/tests/progs/test_icount.h b/tests/progs/test_icount.h index 59ea1a47f..29d56abfd 100644 --- a/tests/progs/test_icount.h +++ b/tests/progs/test_icount.h @@ -1,10 +1,10 @@ -void do_create_icount(int argc, char **argv); -void do_free_icount(int argc, char **argv); -void do_fetch(int argc, char **argv); -void do_increment(int argc, char **argv); -void do_decrement(int argc, char **argv); -void do_store(int argc, char **argv); -void do_get_size(int argc, char **argv); -void do_dump(int argc, char **argv); -void do_validate(int argc, char **argv); +void do_create_icount(int argc, char **argv, int sci_idx, void *infop); +void do_free_icount(int argc, char **argv, int sci_idx, void *infop); +void do_fetch(int argc, char **argv, int sci_idx, void *infop); +void do_increment(int argc, char **argv, int sci_idx, void *infop); +void do_decrement(int argc, char **argv, int sci_idx, void *infop); +void do_store(int argc, char **argv, int sci_idx, void *infop); +void do_get_size(int argc, char **argv, int sci_idx, void *infop); +void do_dump(int argc, char **argv, int sci_idx, void *infop); +void do_validate(int argc, char **argv, int sci_idx, void *infop); -- 2.18.0.rc0