1) The modify_inode command was core dumping if no filesystem was open.
2) The lsdel command command now uses the pager.
Also updated the Makefile.in file with "make depend".
+2002-03-05 Theodore Tso <tytso@mit.edu>
+
+ * lsdel.c (do_lsdel): lsdel uses the pager to print out the list
+ of potentially deleted inode. Thanks to Jaroslav Drzik
+ <jdrzik@host.sk> 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 <jdrzik@host.sk> for finding and reporting
+ the bug and his proposed fix.
+
2002-02-26 Theodore Tso <tytso@mit.edu>
* ls.c (list_dir_proc): When listing the directory entry in long
$(top_srcdir)/lib/ext2fs/bitops.h $(srcdir)/jfs_user.h \
$(top_srcdir)/lib/ext2fs/kernel-jbd.h $(top_srcdir)/lib/ext2fs/jfs_compat.h \
$(top_srcdir)/lib/ext2fs/kernel-list.h $(top_srcdir)/lib/uuid/uuid.h
+htree.o: $(srcdir)/htree.c $(srcdir)/debugfs.h \
+ $(top_srcdir)/lib/ext2fs/ext2_fs.h $(top_builddir)/lib/ext2fs/ext2_types.h \
+ $(top_srcdir)/lib/ext2fs/ext2fs.h $(top_srcdir)/lib/et/com_err.h \
+ $(top_srcdir)/lib/ext2fs/ext2_io.h $(top_builddir)/lib/ext2fs/ext2_err.h \
+ $(top_srcdir)/lib/ext2fs/bitops.h
int i;
unsigned char *frag, *fsize;
char buf[80];
- int os = current_fs->super->s_creator_os;
+ int os;
const char *hex_format = "0x%x";
const char *octal_format = "0%o";
const char *decimal_format = "%d";
if (common_inode_args_process(argc, argv, &inode_num, CHECK_FS_RW))
return;
+ os = current_fs->super->s_creator_os;
+
if (debugfs_read_inode(inode_num, &inode, argv[1]))
return;
long secs = 0;
char *tmp;
time_t now = time(0);
+ FILE *out;
if (common_args_process(argc, argv, 1, 2, "ls_deleted_inodes",
"[secs]", 0))
}
}
- printf(" Inode Owner Mode Size Blocks Time deleted\n");
+ out = open_pager();
+
+ fprintf(out, " Inode Owner Mode Size Blocks Time deleted\n");
qsort(delarray, num_delarray, sizeof(struct deleted_info),
deleted_info_compare);
for (i = 0; i < num_delarray; i++) {
- printf("%6u %6d %6o %6llu %4d/%4d %s", delarray[i].ino,
+ fprintf(out, "%6u %6d %6o %6llu %4d/%4d %s", delarray[i].ino,
delarray[i].uid, delarray[i].mode, delarray[i].size,
delarray[i].free_blocks, delarray[i].num_blocks,
time_to_string(delarray[i].dtime));
}
- printf("%d deleted inodes found.\n", num_delarray);
+ fprintf(out, "%d deleted inodes found.\n", num_delarray);
+ close_pager(out);
error_out:
free(block_buf);