2003-08-21 Theodore Ts'o * debugfs.8.in: Fully document the logdump command in the debugfs man page. * logdump.c (do_logdump): Add -s option which will use the journal inode information in the superblock. 2003-07-25 Theodore Ts'o * Release of E2fsprogs 1.34 2003-07-06 Theodore Ts'o * debugfs.c (do_imap): Fix gcc -Wall nitpicks (printf format types). 2003-05-21 Theodore Ts'o * unused.c (do_dump_unused): Add new command which dumps the unused blocks. (Initial implementation; currently only dumps the output to stdout.) 2003-05-13 root * util.c (reset_getopt), debugfs.c (do_open_filesys, do_show_super_stats), ls.c (do_list_dir), dump.c (do_dump), htree.c (do_htree_dump, do_dx_hash), logdump.c (do_logdump): Define and use a new function, reset_getopt(), which does whatever is necessary to reset getopt() again. This is different for different implementations, so the portabilty issues are a bit of a nightmare. (Addresses Debian bug #192834) 2003-05-05 Theodore Ts'o * debugfs.c (do_imap), debugfs.h, debug_cmds.ct, debugfs.8.in: Added new command, imap, which prints the location of a specified inode in the inode table. 2003-04-21 Theodore Ts'o * Release of E2fsprogs 1.33 2003-03-16 Theodore Ts'o * Makefile.in (DLOPEN_LIB): Link in the libdl library if it is present on the system. * debugfs.c (main): Call ss_get_readline() to attempt to pull in the readline library. 2003-03-06 Theodore Tso * debugfs.c (do_open_filesys, do_show_super_stats), ls.c (do_list_dir), dump.c (do_dump), htree.c (do_htree_dump, do_dx_hash), logdump.c (do_logdump): Reset optind to 1 for better compatibility with non-glibc implementations of getopt. 2003-03-01 Theodore Ts'o * Makefile.in, logdump.c (do_logdump): Use the blkid functions to find the external journal device. 2003-01-21 Theodore Ts'o * dump.c (do_dump): Open the output file with O_LARGEFILE so we can write files larger than 2GB. 2002-11-09 Theodore Ts'o * Release of E2fsprogs 1.32 2002-11-08 Theodore Ts'o * Release of E2fsprogs 1.31 2002-10-31 Theodore Ts'o * Release of E2fsprogs 1.30 2002-10-31 Theodore Ts'o * debugfs.c (do_write): Check to see if the filename exists before creating it, and give an error if so. Addresses Sourceforge bug #478195. 2002-10-30 Theodore Ts'o * Makefile.in (install): Search all compression extensions when deleting old man pages. 2002-10-13 Theodore Ts'o * debugfs.h, htree.c, setsuper.c: Fix gcc -Wall nits. 2002-10-02 Theodore Y. Ts'o * htree.c (htree_dump_leaf_node): Use ext2fs_read_dir_block2 so that the directory entries are appropriately byte-swapped. 2001-09-24 Theodore Tso * Release of E2fsprogs 1.29 2002-09-22 root * htree.c (htree_dump_int_node): Flag continuation hashes to make them easier to find. 2001-08-31 Theodore Tso * Release of E2fsprogs 1.28 2002-08-23 Theodore Ts'o * setsuper.c: Add support for the fields s_uuid, s_journal_uuid, s_hash_seed, s_def_hash_version. Add routines for parsing UUID's and hash algorithm identifiers. 2002-08-16 Theodore Ts'o * icheck.c (do_icheck): Check to see if the block is listed as part of the extended attribute block. 2002-07-21 Theodore Ts'o * htree.c (do_htree_dump): Fix a bug where we were not cleanly closing the pager after errors, which would leave the tty in noecho mode. 2002-07-18 Theodore Ts'o * htree.c (htree_dump_int_node): Add byte swapping code sot that the htree dump function works on a big-endian machine. 2002-07-15 Theodore Ts'o * debugfs.c (do_show_super_stats): Calculate and print the number of directories on a filesystem --- because we can and because it can be useful. 2002-07-09 Theodore Ts'o * debugfs.c (do_rmdir), debugfs.8.in: Implement the rmdir command. Addresses Debian bug #138003. 2002-06-26 Theodore Ts'o * htree.c (do_dx_hash): Use new ext2fs_dirhash function signature. Add getopt support so user can specify the hash version. 2002-05-11 * debug_cmds.ct, debugfs.c (do_bmap): Add new command "bmap" which calculates the logical->physical block mapping for an inode. * debugfs.c (do_init_filsys, main), util.c (common_block_args_process): Fix bad calling parameter order when calling parse_ulong. This broke the -b and -s options to debugfs, as well as do_init, and the testb, setb, clearb functions. 2002-04-01 * util.c (parse_ulong): Fix typo which cases parse_ulong to coredump if the err variable is filled in (for example, if the -b or -s options are passed to the debugfs's command-line invocation). 2002-03-11 Theodore Tso * ls.c (list_dir_proc): Fix bug: ls -l fails to print the file type correctly if running on big-endian systems. * htree.c (htree_dump_leaf_node): Use the ext2_dirhash function instead of a local static function. 2002-03-08 Theodore Tso * Release of E2fsprogs 1.27 2002-03-07 * ls.c (list_dir_proc): Fix typo in debugfs which was causing a compiler warning. 2002-03-05 Theodore Tso * lsdel.c (do_lsdel): lsdel uses the pager to print out the list of potentially deleted inode. Thanks to Jaroslav Drzik for suggesting this enhancement. * debugfs.c (do_modify_inode): Fix bug which caused modify_inode to core dump if a fliesystem isn't open. Thanks to Jaroslav Drzik for finding and reporting the bug and his proposed fix. 2002-02-26 Theodore Tso * ls.c (list_dir_proc): When listing the directory entry in long format, include the file type of the directory entry in parenthesis. 2002-02-25 Theodore Tso * util.c (open_pager): If the PAGER environment is set to __none__ then don't use a pager at all, and ship it all to stdout. * Makefile.in, debug_cmds.ct, htree.c: Add new file htree.c, which implements the three new commands, htree_dump, dx_hash, and dirsearch. 2002-02-24 Theodore Tso * Makefile.in (install): Remove any compressed man pages before installing the man pages. 2002-02-03 Theodore Tso * Release of E2fsprogs 1.26 2002-01-03 Theodore Tso * lsdel.c (do_lsdel): New optional argument which allows the user to only see the most recently deleted files. * debugfs.c (do_undel, do_testb, do_freeb, do_setb, do_ffb): Add new command, undelete, which automates undeleting a deleted inode and linking it back to a directory. Add a count argument to the testb, freeb, setb, and ffb commands. * ls.c (list_dir_proc, do_list_dir): Add support for -d option which lists deleted directory entries. * debug_cmds.ct: Add new command, undelete. * dump.c, icheck.c, logdump.c, ls.c, lsdel.c, setsuper.c, debugfs.c: Use new utility functions which factor out commonly used code. * util.c (debugfs_read_inode, debugfs_write_inode, common_block_args_process, common_inode_args_process, common_args_process, strtoblk, parse_ulong): New functions which factor out commonly used code into subroutines for ease of maintenance and to make the executable size smaller. 2001-12-23 Theodore Tso * Makefile.in, jfs_user.h: Move linux/jbd.h to ext2fs/kernel-jbd.h, to avoid using the system header file version of hbd.h when using diet glibc (since it forcibly adds /usr/include to the beginning of the include search path.) 2001-12-22 Theodore Tso * debugfs.c (kill_file_by_inode, release_blocks_proc): Update the group descriptor free block and inode counts when deleting or killing a file. 2001-12-16 Theodore Tso * setsuper.c (print_possible_fields), logdump.c (dump_journal): Fix gcc -Wall nits * Makefile.in, jfs_user.h: linux/jfs.h has been renamed to linux/jbd.h 2001-12-02 Theodore Tso * util.c (close_pager): Use pclose() instead of fclose() when closing the pager stream. 2001-11-30 Theodore Tso * debugfs.c (finish_range, dump_blocks): Fixed bug in Andreas's > 2GB support changes: you need to use %lld when printf'ing an long long variable. 2001-11-24 Theodore Tso * debugfs.8.in: Update manual page to document the set_super_value and logdump commands, and move the "specifying files" section closer to the beginning of the man page so people won't miss it. * setsuper.c (print_possible_fields): "set_super_value -l" now prints out the list of valid superblock fields which the ssv command can set. 2001-09-20 Theodore Tso * Release of E2fsprogs 1.25 2001-09-02 Theodore Tso * Release of E2fsprogs 1.24a 2001-08-30 Theodore Tso * Release of E2fsprogs 1.24 2001-08-27 Theodore Tso * debugfs.c (main): Remove EXT2FS_VERSION from the version display, since it only confuses people. 2001-08-15 Theodore Tso * Release of E2fsprogs 1.23 2001-08-12 Theodore Tso * logdump.c (do_logdump, dump_journal): Add support for dumping external journals. 2001-06-23 Theodore Tso * Release of E2fsprogs 1.22 2001-06-15 Theodore Tso * Release of E2fsprogs 1.21 2001-06-13 Theodore Tso * setsuper.c: Add s_lastcheck field to the fields which can be modified using set_super_value. (Suggested by Andreas Dilger) 2001-06-03 Theodore Tso * debugfs.c (copy_file): Fixed signed vs unsigned bug which causes read errors to not be noticed. 2001-06-01 Theodore Tso * Makefile.in: Move include/asm/types.h.in to lib/ext2fs/ext2_types.h.in. * debugfs.c, debugfs.h, logdump.c: Fix various gcc -Wall nitpicks. * logdump.c (read_journal_block): Replace pread with lseek/read combination. 2001-05-25 Theodore Tso * Release of E2fsprogs 1.20 2001-05-14 Theodore Tso * debugfs.h: Change location of ext2_fs.h to be ext2fs/ext2_fs.h 2001-05-12 Theodore Tso * debugfs.c (print_features): Use fputs instead of printf to output using the passed-in FILE *. 2001-05-09 Theodore Tso * debugfs.c (do_write, do_mknod): Set the file type information when creating the inode. 2001-05-03 Theodore Tso * debugfs.c (do_open_filesys, main): Add -i option which will allow debugfs to examine ext2 image files. 2001-03-29 Theodore Tso * debugfs.c (dump_blocks, dump_inode, internal_dump_inode): Add internal_dump_inode() interface for the logdump command. * logdump.c: Imported code from Stephen Tweedie to dump the ext3 journal. 2001-03-18 Theodore Tso * debugfs.c (do_write, do_mknod): Remove extra (useless) call to ext2fs_write_inode. 2001-01-12 Theodore Ts'o * setsuper.c: Cleaned up some random whitespace problems. * debugfs.h, debugfs.c (do_show_super_stats): Use full words instead of pluralism hack to make I18N conversion easier. Clean up gcc -Wall complaints. 2001-01-11 * debugfs.c, debugfs.h, dump.c, icheck.c, ls.c, lsdel.c, ncheck.c, setsuper.c, util.c: Change ino_t to ext2_ino_t. Fix a few minor gcc-wall complaints while we're at it. 2001-01-01 * debugfs.c Replace use of struct ext2fs_sb with struct ext2_super_block. 2000-12-30 * dump.c (fix_perms): Fix bug for systems which don't have fchown; was incorrectly using chmod instead of chown. * setsuper.c (find_field): Strip the s_prefix if given for ssv fields. Remove hard-coded s_ from inode_size field. (Suggested by Andreas Dilger) * debugfs.c (do_modify_inode): Add the ability to set the inode generation number. (Suggested by Andreas Dilger) 2000-08-23 * util.c (string_to_inode): Use strtoul instead of atoi, so that hex inode numbers will be accepted. 2000-08-19 * util.c (open_pager): Set SIGPIPE to be ignored, so that quitting out of the pager doesn't blow away debugfs. 2000-08-14 * debugfs.c (do_show_super_stats): Use list_super2() instead of using explicit printf statements. (We get a more complete printout this way.) * util.c (open_pager): If the PAGER environment variable is not set, default to using "more". * setsuper.c: New function which implements the set_super_value command. Allows the user to set arbitrary superblock fields. * debugfs.c (dump_inode): Cap the length when printing a fast symbolic link to inode.i_size. (list_blocks_proc): Print block ranges (4510-4533) to make the stat output easier to read. 2000-06-27 Andreas Dilger * debugfs.c (list_blocks_proc): show relative inode block numbers and/or indirect block status 2000-07-13 * Release of E2fsprogs 1.19 2000-07-05 Theodore Ts'o * debugfs.c (dump_inode): Make the generation field be printed as an unsigned integer. 2000-07-04 * Makefile.in: Use _SS_DIR_OVERRIDE to make sure we get the mk_cmds support files from the source tree. 2000-06-09 * lsdel.c (do_lsdel): Handle bad bad blocks in inode table. 2000-05-27 Theodore Ts'o * debugfs.c (do_testb, do_testi): Call check_fs_bitmaps to avoid coredumping if the bitmaps aren't loaded. * util.c (check_fs_bitmaps): New function which checks whether or not the bitmaps are loaded. 2000-05-23 Aaron Crane * debugfs.8.in: Documented new behaviour. * ls.c (ls_l_file): Fix Y2K bug -- was printing 22-May-100 for recent files. Switched to 4-digit years. * dump.c, debug_cmds.ct (do_rdump): Add new debugfs command "rdump", which recursively dumps a directory and its contents. (fix_perms): New function. Break permission-fixing code out of dump_file() so it can be called by rdump code as well. (dump_file): Call fix_perms(). * debugfs.c, debug_cmds.ct (do_lcd): Add new debugfs command "lcd", which changes the cwd on the native filesystem. * debugfs.c (open_filesystem): Extra args for superblock, blocksize, and catastrophic mode. Changed callers. (do_open_filesys, main): Accept new -b, -s, -c options for open_filesystem. 2000-02-02 Theodore Ts'o * debugfs.c (dump_inode): Remove #ifdef for i_version vs. i_generation since we know it will always be i_generation now. 2000-01-18 Theodore Ts'o * debugfs.c (main): Use return instead of exit at the end of main to avoid some compiler warnings. * Makefile.in: Since LIBUUID can sometimes include "-lsocket" we need a separate DEPLIBUUID that can be used in Makefile's dependency rules. 1999-11-19 * Makefile.in (distclean): Remove TAGS and Makefile.in.old from the source directory. 1999-11-10 * Release of E2fsprogs 1.18 1999-11-08 * icheck.c (do_icheck): * ncheck.c (do_ncheck): If ext2fs_open_inode_scan() returns EXT2_ET_BAD_BLOCK_IN_INODE_TABLE loop to skip over the bad blocks in the inode table. 1999-10-26 * Release of E2fsprogs 1.17 1999-10-26 * debugfs.h: Add declaration for do_features() * debugfs.c: Add #incldue of e2p.h to fix gcc warnings. 1999-10-25 * debugfs.c (do_dirty_filesys): Make the "dirty" command clear the valid bit on the superblock. (And with a -clean option to set the valid bit.) Originally it was used just to set the "needs to be written" bit in the in-core version of the fs structure. 1999-10-22 * Release of E2fsprogs 1.16 1999-09-07 * debugfs.c, debug_cmds.ct: Add new debugfs command "feature" which allows the user to set or clear filesystme features. Add the -f (force) option to the open command. Add the -h (superblock header only) option to the stats command. 1999-07-30 * debugfs.c (dump_inode): Fix debugfs message so it is the same for when compiled under either Linux 2.2 or 2.3. This allows for the f_swapfs regression test suite to work regardless of which OS e2fsprogs was compiled on. 1999-07-18 Theodore Ts'o * Release of E2fsprogs 1.15 1999-06-23 * debugfs.c (dump_inode): Add compatibility for Linux 2.3 kernels that use i_generation instead of i_version. Patch supplied by Jon Bright . 1999-02-09 Theodore Ts'o * icheck.c (do_icheck): Check to make sure the inode has valid blocks before iterating over that inode's blocks. 1999-01-09 Theodore Ts'o * Release of E2fsprogs 1.14 1998-12-15 Theodore Ts'o * Release of E2fsprogs 1.13 1998-12-03 Theodore Ts'o * Makefile.in: Updated dependencies. 1998-07-31 Theodore Ts'o * debugfs.c (do_stat, do_clri): Fix bug where debugfs wasn't displaying the error message if ext2fs_read_inode() failed. (do_rm): Fix similar problem for call to ext2fs_namei(). 1998-07-09 Theodore Ts'o * Release of E2fsprogs 1.12 1998-06-27 Theodore Ts'o * debugfs.c: Add a -V option which displays the current version. 1998-03-31 Theodore Ts'o * Makefile.in: Change to use new installation directory variables convention. Fix installdirs and uninstall rules to reflect the fact that debugfs has been installed in the root filesystem. Fix uninstall rules to take $(DESTDIR) into account. 1998-03-29 Theodore Ts'o * debugfs.h: Add declaration for do_dirty_filsys() to prevent -Wall warnings. * debugfs.c (copy_file): * dump.c (dump_file): Fix -Wall warning caused by signed/unsigned mismatch. 1998-03-23 Theodore Ts'o * debugfs.c, ls.c, lsdel.c: Add support for large files. (The high 32 bits share space with the i_dir_acl field.) Sun Mar 8 22:53:04 1998 Theodore Ts'o * ls.c (list_dir_proc): Mask off high 8 bits from dirent->name_len. Mon Dec 1 13:21:09 1997 Theodore Ts'o * Makefile.in: Install debugfs in /sbin, instead of /usr/sbin. Sat Oct 25 18:35:30 1997 Theodore Ts'o * debugfs.c (copy_file), dump.c (dump_file): Change to use the new fileio primitives in libext2. Fri Oct 24 23:47:43 1997 Theodore Ts'o * debugfs.c (main, do_open_filesys): * dump.c (do_dump): Make the variable which getopt returns into be an int, so that it won't lose on platforms where char is unsigned. Tue Oct 14 21:50:24 1997 Theodore Ts'o * debugfs.c (main): When printing a usage message, have main return 1 (instead of not specifying a return value, bad!) Mon Sep 15 22:03:36 1997 Theodore Ts'o * debugfs.c (main): Fix declaration of main so that it returns an int. Tue Jun 17 01:33:20 1997 Theodore Ts'o * Release of E2fsprogs 1.11 Thu May 8 23:05:40 1997 Theodore Ts'o * debugfs.8.in: Fix minor typos and grammer oops found by Bill Hawes (whawes@star.net). Thu Apr 24 12:16:42 1997 Theodre Ts'o * Release of E2fsprogs version 1.10 Thu Apr 17 12:23:38 1997 Theodore Ts'o * Release of E2fsprogs version 1.09 Fri Apr 11 18:56:26 1997 Theodore Ts'o * Release of E2fsprogs version 1.08 Thu Apr 10 14:36:05 1997 Theodore Ts'o * ls.c: New file which implements the ls command. Added the -l option. Wed Mar 12 13:32:05 1997 Theodore Y. Ts'o * Release of E2fsprogs version 1.07 Wed Jan 1 23:53:26 1997 Theodore Ts'o * lsdel.c (do_lsdel): Use time_to_string() instead of ctime(). Tue Oct 8 02:02:03 1996 Theodore Ts'o * Release of E2fsprogs version 1.06 Thu Sep 12 15:23:07 1996 Theodore Ts'o * Release of E2fsprogs version 1.05 Mon Sep 9 23:05:11 1996 Theodore Ts'o * debugfs.c (unlink_file_by_name): If unlinking a file with a directory path, correctly replace the slash with a NULL. (do_show_debugfs_params): Don't try to print the open mode if there's no filesystem opened (since that will cause a core dump). (main): Fix usage string; the -w and device elements are independently optional. Tu Sep 3 15:09:39 1996 Theodore Ts'o * debugfs.c (main): Added -f option to debugfs, which takes a command file of debugfs commands and executes them. Sat Aug 31 01:18:43 1996 Theodore Ts'o * debugfs.8.in: Heavily edited and improved manual page. * dump.c (dump_file): Improve the write function for writing out the file, so that it is limited to the actual size of the file, instead of outputing the nulls following the EOF. Make sure dump_file does the right thing for files with holes. (do_dump): Add support for the -p option to the dump command, which attempts to preserve the owner and permissions field. Fri Aug 30 14:56:59 1996 Theodore Ts'o * debugfs.c (main): Add -R option to debugfs, which allows it to take a single debugfs command on the command line. Fri Aug 9 09:03:31 1996 Theodore Ts'o * debugfs.c (do_open_filesys): Set optind to 0 to reset getopt(), to be complete correct. (do_show_super_stats): Print OS type, volume label, last mounted directory, and UUID. (dump_inode): Print the fragment information in a filesystem independent way. (do_modify_inode): Modify the fragement information in a filesystem independent way. Thu May 16 11:12:30 1996 Theodore Ts'o * Release of E2fsprogs version 1.04 Wed May 3 20:41:26 1996 Theodore Ts'o * debugfs.c (dump_inode): Correctly print the translator on the hurd. (do_modify_inode): Modify the translator block on the hurd. Wed Mar 27 00:33:40 1996 * Release of E2fsprogs version 1.03 Wed Jan 31 11:06:08 1996 * Release of E2fsprogs version 1.02 Fri Dec 1 22:42:31 1995 * Makefile.in (LIBS): Rearrange the order of the libraries to be linked, so that -lext2fs is before -lcom_err. Thu Oct 26 12:05:06 1995 * Makefile.in (install): Strip programs when they are installed. Fri Aug 18 15:09:08 1995 Theodore Y. Ts'o * debugfs.c (do_find_free_block): Fix typo in code which checked to see if the usage message should be printed. Thu Aug 17 22:55:58 1995 * debugfs.c (do_open_filesys): Change to always set optreset to 1, to make BSD getopt()'s happy. Also set optind to 1, which should make more getopt()'s happy. Fri Aug 11 08:45:01 1995 Theodore Y. Ts'o * debugfs.c (do_find_free_block, do_find_free_inode): Fix bug in the usage handling where "ffi ?" or "ffb ?" would dereference a NULL pointer. Fri Aug 11 14:21:07 1995 Remy Card * debugfs.8: Updated date and version number. Thu Aug 10 14:28:50 1995 Remy Card * debugfs.8: Fixed a spelling error in Ted's name :-) Mon Jun 12 19:08:25 1995 Theodore Y. Ts'o (tytso@dcl) * debugfs.c, ncheck.c, icheck.c, lsdel.c, dump.c: Include (if it exists) * debugfs.c, dump.c, icheck.c, lsdel.c, ncheck.c: Don't include if it doesn't exist. Sun Jun 11 15:21:07 1995 Theodore Y. Ts'o * ncheck.c (do_ncheck): Use LINUX_S_ISDIR instead of S_ISDIR * debugfs.c: Implement the mknod and write commands (from Linus). Change names of modify_char, modify_short, and modify_long to be modify_u8, modify_u16, and modify_u32, respectively. Thu Jun 8 12:29:15 1995 Miles Bader * debugfs.c (dump_inode): Only print out inode frag fields if HAVE_EXT2_FRAGS is defined (by configure). Don't print out the reserved field at all for now. * Makefile.in: Rewritten to conform to GNU coding standards and support separate compilation directories. Thu Nov 24 17:46:23 1994 Theodore Y. Ts'o (tytso@rt-11) * dump.c: Added two new commands, "dump" and "cat", which allow the user to dump the contents of an inode to a file or to stdout, respectively.