diff --git a/src/tests/add-ons/kernel/file_systems/fs_shell/Debug.h b/src/tests/add-ons/kernel/file_systems/fs_shell/Debug.h deleted file mode 100644 index ba3e8492e9..0000000000 --- a/src/tests/add-ons/kernel/file_systems/fs_shell/Debug.h +++ /dev/null @@ -1,100 +0,0 @@ -#ifndef DEBUG_H -#define DEBUG_H -/* Debug - debug stuff -** -** Initial version by Axel Dörfler, axeld@pinc-software.de -** This file may be used under the terms of the OpenBeOS License. -*/ - -#ifdef DEBUG -# include -#endif - -#ifdef USER -# include -# define __out printf -#else -# define __out dprintf -#endif - -// Which debugger should be used when? -// The DEBUGGER() macro actually has no effect if DEBUG is not defined, -// use the DIE() macro if you really want to die. -#ifdef DEBUG -# ifdef USER -# define DEBUGGER(x) debugger x -# else -# define DEBUGGER(x) kernel_debugger x -# endif -#else -# define DEBUGGER(x) ; -#endif - -#ifdef USER -# define DIE(x) debugger x -#else -# define DIE(x) kernel_debugger x -#endif - -// Short overview over the debug output macros: -// PRINT() -// is for general messages that very unlikely should appear in a release build -// FATAL() -// this is for fatal messages, when something has really gone wrong -// INFORM() -// general information, as disk size, etc. -// REPORT_ERROR(status_t) -// prints out error information -// RETURN_ERROR(status_t) -// calls REPORT_ERROR() and return the value -// D() -// the statements in D() are only included if DEBUG is defined - - #include - #define kprintf printf - #define dprintf printf - -#ifdef DEBUG - #define PRINT(x) { __out("bfs: "); __out x; } - #define REPORT_ERROR(status) __out("bfs: %s:%s:%ld: %s\n", __FILE__, __FUNCTION__, __LINE__, strerror(status)); - #define RETURN_ERROR(err) { status_t _status = err; if (_status < B_OK) REPORT_ERROR(_status); return _status;} - #define FATAL(x) { __out("bfs: "); __out x; } - #define INFORM(x) { __out("bfs: "); __out x; } - #define FUNCTION() __out("bfs: %s()\n",__FUNCTION__); - #define FUNCTION_START(x) { __out("bfs: %s() ",__FUNCTION__); __out x; } -// #define FUNCTION() ; -// #define FUNCTION_START(x) ; - #define D(x) {x;}; - #define ASSERT(x) { if (!(x)) DEBUGGER(("bfs: assert failed: " #x "\n")); } -#else - #define PRINT(x) ; - #define REPORT_ERROR(status) ; - #define RETURN_ERROR(status) return status; - #define FATAL(x) { __out("bfs: "); __out x; } - #define INFORM(x) { __out("bfs: "); __out x; } - #define FUNCTION() ; - #define FUNCTION_START(x) ; - #define D(x) ; - #define ASSERT(x) ; -#endif - -#ifdef DEBUG - struct block_run; - struct bplustree_header; - struct bplustree_node; - struct data_stream; - struct bfs_inode; - struct disk_super_block; - class Volume; - - // some structure dump functions - extern void dump_block_run(const char *prefix, block_run &run); - extern void dump_super_block(disk_super_block *superBlock); - extern void dump_data_stream(data_stream *stream); - extern void dump_inode(bfs_inode *inode); - extern void dump_bplustree_header(bplustree_header *header); - extern void dump_bplustree_node(bplustree_node *node,bplustree_header *header = NULL,Volume *volume = NULL); - extern void dump_block(const char *buffer, int size); -#endif - -#endif /* DEBUG_H */ diff --git a/src/tests/add-ons/kernel/file_systems/fs_shell/fsh.c b/src/tests/add-ons/kernel/file_systems/fs_shell/fsh.c index fdcf3483f9..7423d90b18 100644 --- a/src/tests/add-ons/kernel/file_systems/fs_shell/fsh.c +++ b/src/tests/add-ons/kernel/file_systems/fs_shell/fsh.c @@ -468,83 +468,6 @@ do_dir(int argc, char **argv) } -#include "bfs_control.h" - -static void -do_chkbfs(int argc, char **argv) -{ - struct check_control result; - off_t files = 0, directories = 0, indices = 0, attributeDirectories = 0, attributes = 0; - int counter = 0; - - int fd = sys_open(1, -1, "/myfs/.", O_RDONLY, S_IFREG, 0); - if (fd < 0) { - printf("chkbfs: error opening '.'\n"); - return; - } - - memset(&result, 0, sizeof(result)); - result.flags = argc > 1 ? BFS_FIX_BITMAP_ERRORS : 0; - if (argc > 2) { - printf("will fix any severe errors!\n"); - result.flags |= BFS_REMOVE_WRONG_TYPES | BFS_REMOVE_INVALID; - } - - // start checking - if ((sys_ioctl(1, fd, BFS_IOCTL_START_CHECKING, &result, sizeof(result))) < 0) { - printf("chkbfs: error starting!\n"); - } - - // check all files and report errors - while (sys_ioctl(1, fd, BFS_IOCTL_CHECK_NEXT_NODE, &result, sizeof(result)) == B_OK) { - if (++counter % 50 == 0) - printf(" %7ld nodes processed\x1b[1A\n", counter); - - if (result.errors) { - printf("%s (inode = %Ld)", result.name, result.inode); - if (result.errors & BFS_MISSING_BLOCKS) - printf(", some blocks weren't allocated"); - if (result.errors & BFS_BLOCKS_ALREADY_SET) - printf(", has blocks already set"); - if (result.errors & BFS_INVALID_BLOCK_RUN) - printf(", has invalid block run(s)"); - if (result.errors & BFS_COULD_NOT_OPEN) - printf(", could not be opened"); - if (result.errors & BFS_WRONG_TYPE) - printf(", has wrong type"); - if (result.errors & BFS_NAMES_DONT_MATCH) - printf(", names don't match"); - putchar('\n'); - } - if ((result.mode & (S_INDEX_DIR | 0777)) == S_INDEX_DIR) - indices++; - else if (result.mode & S_ATTR_DIR) - attributeDirectories++; - else if (result.mode & S_ATTR) - attributes++; - else if (result.mode & S_IFDIR) - directories++; - else - files++; - } - if (result.status != B_ENTRY_NOT_FOUND) - printf("chkbfs: error occured during scan: %s\n", strerror(result.status)); - - // stop checking - if ((sys_ioctl(1, fd, BFS_IOCTL_STOP_CHECKING, &result, sizeof(result))) < 0) { - printf("chkbfs: error stopping!\n"); - } - - printf("checked %ld nodes, %Ld blocks not allocated, %Ld blocks already set, %Ld blocks could be freed\n", - counter, result.stats.missing, result.stats.already_set, result.stats.freed); - printf("\tfiles\t\t%Ld\n\tdirectories\t%Ld\n\tattributes\t%Ld\n\tattr. dirs\t%Ld\n\tindices\t\t%Ld\n", - files, directories, attributes, attributeDirectories, indices); - if (result.flags & BFS_FIX_BITMAP_ERRORS) - printf("errors have been fixed\n"); - - sys_close(1, fd); -} - static void do_ioctl(int argc, char **argv) { @@ -642,7 +565,6 @@ do_rmall(int argc, char **argv) } - static void do_trunc(int argc, char **argv) { @@ -666,8 +588,6 @@ do_trunc(int argc, char **argv) } - - static void do_seek(int argc, char **argv) { @@ -986,19 +906,18 @@ do_copytest(int argc, char **argv) } else if (argc == 2) fromPath = argv[1]; else - printf("copying from: %s\n",fromPath); + printf("copying from: %s\n", fromPath); - copydir(fromPath,"/myfs"); + copydir(fromPath, "/myfs"); } static int32 copydirthread(void *data) { - char *args[] = {"cptest",(char *)data,NULL}; - char stack_filler[256*1024 - 0 * 1024]; + char *args[] = {"cptest", (char *)data, NULL}; - do_copytest(2,args); + do_copytest(2, args); return 0; } @@ -1006,11 +925,11 @@ copydirthread(void *data) static void do_threadtest(int argc, char **argv) { - char *paths[] = {"/boot/home/mail/pinc - axeld/in","/boot/home/mail/pinc - axeld/out",NULL}; + char *paths[] = {"/boot/home/mail/pinc - axeld/in", "/boot/home/mail/pinc - axeld/out", NULL}; int32 i; - for (i = 0;paths[i] != NULL;i++) { - thread_id thread = spawn_thread(copydirthread,"copythread",B_NORMAL_PRIORITY,paths[i]); + for (i = 0; paths[i] != NULL; i++) { + thread_id thread = spawn_thread(copydirthread, "copythread", B_NORMAL_PRIORITY, paths[i]); resume_thread(thread); } @@ -1024,13 +943,13 @@ int32 gCopyNum; static int32 copyfilethread(void *data) { - char *args[] = {"cp",(char *)data,NULL,NULL}; + char *args[] = {"cp", (char *)data, NULL, NULL}; char name[32]; - sprintf(name,"target%ld",gCopyNum++); + sprintf(name, "target%ld", gCopyNum++); args[2] = name; - do_copy(3,args); + do_copy(3, args); return 0; } @@ -1235,7 +1154,6 @@ do_cio(int argc, char **argv) } - static void mkfile(char *s, int sz) { @@ -1296,8 +1214,6 @@ do_lat_fs(int argc, char **argv) } - - static void do_create(int argc, char **argv) { @@ -1324,6 +1240,7 @@ do_create(int argc, char **argv) } } + static void do_delete(int argc, char **argv) { @@ -1331,7 +1248,7 @@ do_delete(int argc, char **argv) char name[64]; if (argc > 1) - iter =strtoul(&argv[1][0], NULL, 0); + iter = strtoul(&argv[1][0], NULL, 0); for (j = 0; j < iter; ++j) { sprintf(name, "/myfs/test/%.5d", j); @@ -1342,6 +1259,8 @@ do_delete(int argc, char **argv) } +#include "additional_commands.c" + static void do_help(int argc, char **argv); @@ -1385,8 +1304,11 @@ cmd_entry fsh_cmds[] = { "cptest", do_copytest, "copies all files from the given path" }, { "threads", do_threadtest, "copies several files, and does a lat_fs simulaneously" }, { "mfile", do_threadfiletest, "copies several big files simulaneously" }, - { "chkbfs", do_chkbfs, "does a chkbfs on the volume" }, { "cio", do_cio, "does a I/O speed test" }, + +// additional commands from the file system will be included here +# include "additional_commands.h" + { "help", do_help, "print this help message" }, { "?", do_help, "print this help message" }, { NULL, NULL } @@ -1399,7 +1321,7 @@ do_help(int argc, char **argv) cmd_entry *cmd; printf("commands fsh understands:\n"); - for(cmd=fsh_cmds; cmd->name != NULL; cmd++) { + for (cmd = fsh_cmds; cmd->name != NULL; cmd++) { printf("%8s - %s\n", cmd->name, cmd->help); } } @@ -1416,8 +1338,10 @@ getline(char *prompt, char *input, int len) static void do_fsh(void) { +#if 0 char stack_filler[1024 * 1024 * 16 - 32 * 1024]; // actually emulating 12kB stack size (BeOS has 16 MB - ~20kB for the main thread) +#endif int argc, len; char *prompt = "fsh>> "; char input[512], **argv;