Many files:

Checked in e2fsprogs 0.5c
bitmap-optimize
Theodore Ts'o 1997-04-26 14:00:26 +00:00
parent 50e1e10fa0
commit a418d3ad81
146 changed files with 2361 additions and 353 deletions

0
lib/ss/dll/jump.ignore Normal file
View File

2
lib/ss/dll/jump.undefs Normal file
View File

@ -0,0 +1,2 @@
66885010 D __NEEDS_SHRLIB_libc_4
66885028 D __NEEDS_SHRLIB_libet_1

View File

@ -1,2 +0,0 @@
66885010 D __NEEDS_SHRLIB_libc_4
66885024 D __NEEDS_SHRLIB_libet_1

View File

@ -1,29 +0,0 @@
/*
* ss_err.h:
* This file is automatically generated; please do not edit it.
*/
#ifdef __STDC__
#define NOARGS void
#else
#define NOARGS
#define const
#endif
#define SS_ET_SUBSYSTEM_ABORTED (748800L)
#define SS_ET_VERSION_MISMATCH (748801L)
#define SS_ET_NULL_INV (748802L)
#define SS_ET_NO_INFO_DIR (748803L)
#define SS_ET_COMMAND_NOT_FOUND (748804L)
#define SS_ET_LINE_ABORTED (748805L)
#define SS_ET_EOF (748806L)
#define SS_ET_PERMISSION_DENIED (748807L)
#define SS_ET_TABLE_NOT_FOUND (748808L)
#define SS_ET_NO_HELP_FILE (748809L)
#define SS_ET_ESCAPE_DISABLED (748810L)
#define SS_ET_UNIMPLEMENTED (748811L)
extern void initialize_ss_error_table (NOARGS);
#define ERROR_TABLE_BASE_ss (748800L)
/* for compatibility with older versions... */
#define init_ss_err_tbl initialize_ss_error_table
#define ss_err_base ERROR_TABLE_BASE_ss

View File

@ -8,6 +8,7 @@
#define _ss_ss_internal_h __FILE__
#include <stdio.h>
#include <string.h>
#include <stdlib.h>
#ifdef __STDC__
@ -107,10 +108,6 @@ void ss_page_stdin(NOARGS);
extern ss_data **_ss_table;
extern char *ss_et_msgs[];
extern pointer malloc PROTOTYPE((unsigned));
extern pointer realloc PROTOTYPE((pointer, unsigned));
extern pointer calloc PROTOTYPE((unsigned, unsigned));
#ifdef USE_SIGPROCMASK
/* fake sigmask, sigblock, sigsetmask */
#include <signal.h>

View File

@ -1,4 +1,4 @@
/* std_rqs.c - automatically generated from std_rqs.ct */
/* ./std_rqs.c - automatically generated from ./std_rqs.ct */
#include <ss/ss.h>
#ifndef __STDC__

View File

@ -9,8 +9,8 @@
* $Locker$
*
* $Log$
* Revision 1.2 1997/04/26 13:34:09 tytso
* Checkin of e2fsprogs 0.5b
* Revision 1.3 1997/04/26 13:58:24 tytso
* Checked in e2fsprogs 0.5c
*
* Revision 1.1 1993/06/03 12:31:25 tytso
* Initial revision

View File

@ -1,104 +1,107 @@
badblocks.o : badblocks.c /usr/include/errno.h /usr/include/features.h /usr/include/sys/cdefs.h \
badblocks.o : ./badblocks.c /usr/include/errno.h /usr/include/features.h /usr/include/sys/cdefs.h \
/usr/include/linux/errno.h /usr/include/fcntl.h /usr/include/sys/types.h /usr/include/linux/types.h \
/usr/include/asm/types.h /usr/include/linux/fcntl.h /usr/include/getopt.h /usr/include/signal.h \
/usr/include/linux/signal.h /usr/include/stdio.h /usr/include/libio.h /usr/include/_G_config.h \
/usr/include/stdlib.h /usr/lib/gcc-lib/i486-linux/2.5.8/include/stddef.h /usr/lib/gcc-lib/i486-linux/2.5.8/include/float.h \
/usr/include/alloca.h /usr/include/string.h /usr/include/unistd.h /usr/include/posix_opt.h \
/usr/include/gnu/types.h /usr/include/sys/ioctl.h /usr/include/linux/ioctl.h \
/usr/include/termios.h /usr/include/linux/termios.h /usr/include/linux/fd.h \
/usr/include/linux/fs.h /usr/include/linux/linkage.h /usr/include/linux/limits.h \
/usr/include/linux/wait.h /usr/include/linux/dirent.h /usr/include/linux/vfs.h \
/usr/include/linux/net.h /usr/include/linux/socket.h /usr/include/linux/sockios.h \
/usr/include/linux/pipe_fs_i.h /usr/include/linux/minix_fs_i.h /usr/include/linux/ext_fs_i.h \
/usr/include/linux/ext2_fs_i.h /usr/include/linux/hpfs_fs_i.h /usr/include/linux/msdos_fs_i.h \
/usr/include/linux/umsdos_fs_i.h /usr/include/linux/iso_fs_i.h /usr/include/linux/nfs_fs_i.h \
/usr/include/linux/nfs.h /usr/include/linux/xia_fs_i.h /usr/include/linux/sysv_fs_i.h \
../lib/et/com_err.h /usr/lib/gcc-lib/i486-linux/2.5.8/include/stdarg.h ../lib/ext2fs/io.h
chattr.o : chattr.c /usr/include/dirent.h /usr/include/features.h /usr/include/sys/cdefs.h \
/usr/include/asm/types.h /usr/include/gnu/types.h /usr/include/linux/fcntl.h \
/usr/include/getopt.h /usr/include/signal.h /usr/include/linux/signal.h /usr/include/stdio.h \
/usr/include/libio.h /usr/include/_G_config.h /usr/include/stdlib.h /usr/lib/gcc-lib/i486-linux/2.5.8/include/stddef.h \
/usr/lib/gcc-lib/i486-linux/2.5.8/include/float.h /usr/include/alloca.h /usr/include/string.h \
/usr/include/unistd.h /usr/include/posix_opt.h /usr/include/confname.h /usr/include/sys/ioctl.h \
/usr/include/linux/ioctl.h /usr/include/termios.h /usr/include/linux/termios.h \
/usr/include/linux/fd.h /usr/include/linux/fs.h /usr/include/linux/linkage.h \
/usr/include/linux/limits.h /usr/include/linux/wait.h /usr/include/linux/dirent.h \
/usr/include/linux/vfs.h /usr/include/linux/net.h /usr/include/linux/socket.h \
/usr/include/linux/sockios.h /usr/include/linux/pipe_fs_i.h /usr/include/linux/minix_fs_i.h \
/usr/include/linux/ext_fs_i.h /usr/include/linux/ext2_fs_i.h /usr/include/linux/hpfs_fs_i.h \
/usr/include/linux/msdos_fs_i.h /usr/include/linux/umsdos_fs_i.h /usr/include/linux/iso_fs_i.h \
/usr/include/linux/nfs_fs_i.h /usr/include/linux/nfs.h /usr/include/linux/xia_fs_i.h \
/usr/include/linux/sysv_fs_i.h ../lib/et/com_err.h /usr/lib/gcc-lib/i486-linux/2.5.8/include/stdarg.h \
../lib/ext2fs/io.h
chattr.o : ./chattr.c /usr/include/dirent.h /usr/include/features.h /usr/include/sys/cdefs.h \
/usr/include/gnu/types.h /usr/lib/gcc-lib/i486-linux/2.5.8/include/stddef.h \
/usr/include/sys/types.h /usr/include/linux/types.h /usr/include/asm/types.h \
/usr/include/linux/limits.h /usr/include/linux/dirent.h /usr/include/posix1_lim.h \
/usr/include/fcntl.h /usr/include/linux/fcntl.h /usr/include/getopt.h /usr/include/stdio.h \
/usr/include/libio.h /usr/include/_G_config.h /usr/include/stdlib.h /usr/include/errno.h \
/usr/include/linux/errno.h /usr/lib/gcc-lib/i486-linux/2.5.8/include/float.h \
/usr/include/alloca.h /usr/include/unistd.h /usr/include/posix_opt.h /usr/include/sys/param.h \
/usr/lib/gcc-lib/i486-linux/2.5.8/include/limits.h /usr/lib/gcc-lib/i486-linux/2.5.8/include/syslimits.h \
/usr/include/limits.h /usr/include/posix2_lim.h /usr/include/linux/param.h /usr/include/asm/param.h \
/usr/include/alloca.h /usr/include/unistd.h /usr/include/posix_opt.h /usr/include/confname.h \
/usr/include/sys/param.h /usr/lib/gcc-lib/i486-linux/2.5.8/include/limits.h \
/usr/lib/gcc-lib/i486-linux/2.5.8/include/syslimits.h /usr/include/limits.h \
/usr/include/posix2_lim.h /usr/include/linux/param.h /usr/include/asm/param.h \
/usr/include/sys/stat.h /usr/include/linux/stat.h /usr/include/linux/ext2_fs.h \
../lib/et/com_err.h /usr/lib/gcc-lib/i486-linux/2.5.8/include/stdarg.h ../lib/e2p/e2p.h \
../version.h
dumpe2fs.o : dumpe2fs.c /usr/include/getopt.h /usr/include/fcntl.h /usr/include/features.h \
./../version.h
dumpe2fs.o : ./dumpe2fs.c /usr/include/getopt.h /usr/include/fcntl.h /usr/include/features.h \
/usr/include/sys/cdefs.h /usr/include/sys/types.h /usr/include/linux/types.h \
/usr/include/asm/types.h /usr/include/linux/fcntl.h /usr/include/stdio.h /usr/include/libio.h \
/usr/include/_G_config.h /usr/include/stdlib.h /usr/lib/gcc-lib/i486-linux/2.5.8/include/stddef.h \
/usr/include/errno.h /usr/include/linux/errno.h /usr/lib/gcc-lib/i486-linux/2.5.8/include/float.h \
/usr/include/alloca.h /usr/include/string.h /usr/include/unistd.h /usr/include/posix_opt.h \
/usr/include/gnu/types.h /usr/include/linux/ext2_fs.h ../lib/ext2fs/ext2fs.h \
../lib/et/com_err.h /usr/lib/gcc-lib/i486-linux/2.5.8/include/stdarg.h ../lib/ext2fs/io.h \
../lib/ext2fs/ext2_err.h ../lib/ext2fs/bitops.h ../lib/e2p/e2p.h /usr/include/dirent.h \
/usr/include/linux/limits.h /usr/include/linux/dirent.h /usr/include/posix1_lim.h \
../version.h
fsck.o : fsck.c /usr/include/sys/types.h /usr/include/linux/types.h /usr/include/asm/types.h \
/usr/include/asm/types.h /usr/include/gnu/types.h /usr/include/linux/fcntl.h \
/usr/include/stdio.h /usr/include/libio.h /usr/include/_G_config.h /usr/include/stdlib.h \
/usr/lib/gcc-lib/i486-linux/2.5.8/include/stddef.h /usr/include/errno.h /usr/include/linux/errno.h \
/usr/lib/gcc-lib/i486-linux/2.5.8/include/float.h /usr/include/alloca.h /usr/include/string.h \
/usr/include/unistd.h /usr/include/posix_opt.h /usr/include/confname.h /usr/include/linux/ext2_fs.h \
../lib/ext2fs/ext2fs.h ../lib/et/com_err.h /usr/lib/gcc-lib/i486-linux/2.5.8/include/stdarg.h \
../lib/ext2fs/io.h ../lib/ext2fs/ext2_err.h ../lib/ext2fs/bitops.h ../lib/e2p/e2p.h \
/usr/include/dirent.h /usr/include/linux/limits.h /usr/include/linux/dirent.h \
/usr/include/posix1_lim.h ./../version.h
fsck.o : ./fsck.c /usr/include/sys/types.h /usr/include/linux/types.h /usr/include/asm/types.h \
/usr/include/sys/wait.h /usr/include/features.h /usr/include/sys/cdefs.h /usr/include/gnu/types.h \
/usr/include/waitflags.h /usr/include/linux/wait.h /usr/include/waitstatus.h \
/usr/include/endian.h /usr/include/bytesex.h /usr/include/sys/signal.h /usr/include/signal.h \
/usr/include/linux/signal.h /usr/include/sys/stat.h /usr/include/linux/stat.h \
/usr/include/errno.h /usr/include/linux/errno.h /usr/lib/gcc-lib/i486-linux/2.5.8/include/limits.h \
/usr/lib/gcc-lib/i486-linux/2.5.8/include/syslimits.h /usr/include/limits.h \
/usr/include/posix1_lim.h /usr/include/linux/limits.h /usr/include/posix2_lim.h \
/usr/include/stdio.h /usr/include/libio.h /usr/include/_G_config.h /usr/include/stdlib.h \
/usr/lib/gcc-lib/i486-linux/2.5.8/include/stddef.h /usr/lib/gcc-lib/i486-linux/2.5.8/include/float.h \
/usr/include/alloca.h /usr/include/string.h /usr/include/mntent.h /usr/include/unistd.h \
/usr/include/posix_opt.h /usr/include/getopt.h ../version.h fsck.h
lsattr.o : lsattr.c /usr/include/dirent.h /usr/include/features.h /usr/include/sys/cdefs.h \
/usr/lib/gcc-lib/i486-linux/2.5.8/include/limits.h /usr/lib/gcc-lib/i486-linux/2.5.8/include/syslimits.h \
/usr/include/limits.h /usr/include/posix1_lim.h /usr/include/linux/limits.h \
/usr/include/posix2_lim.h /usr/include/stdio.h /usr/include/libio.h /usr/include/_G_config.h \
/usr/include/string.h /usr/lib/gcc-lib/i486-linux/2.5.8/include/stddef.h /usr/include/stdlib.h \
/usr/include/errno.h /usr/include/linux/errno.h /usr/lib/gcc-lib/i486-linux/2.5.8/include/float.h \
/usr/include/alloca.h /usr/include/mntent.h /usr/include/unistd.h /usr/include/posix_opt.h \
/usr/include/confname.h /usr/include/malloc.h /usr/include/getopt.h ./../version.h \
./fsck.h
lsattr.o : ./lsattr.c /usr/include/dirent.h /usr/include/features.h /usr/include/sys/cdefs.h \
/usr/include/gnu/types.h /usr/lib/gcc-lib/i486-linux/2.5.8/include/stddef.h \
/usr/include/sys/types.h /usr/include/linux/types.h /usr/include/asm/types.h \
/usr/include/linux/limits.h /usr/include/linux/dirent.h /usr/include/posix1_lim.h \
/usr/include/errno.h /usr/include/linux/errno.h /usr/include/fcntl.h /usr/include/linux/fcntl.h \
/usr/include/getopt.h /usr/include/stdio.h /usr/include/libio.h /usr/include/_G_config.h \
/usr/include/unistd.h /usr/include/posix_opt.h /usr/include/sys/param.h /usr/lib/gcc-lib/i486-linux/2.5.8/include/limits.h \
/usr/lib/gcc-lib/i486-linux/2.5.8/include/syslimits.h /usr/include/limits.h \
/usr/include/posix2_lim.h /usr/include/linux/param.h /usr/include/asm/param.h \
/usr/include/unistd.h /usr/include/posix_opt.h /usr/include/confname.h /usr/include/sys/param.h \
/usr/lib/gcc-lib/i486-linux/2.5.8/include/limits.h /usr/lib/gcc-lib/i486-linux/2.5.8/include/syslimits.h \
/usr/include/limits.h /usr/include/posix2_lim.h /usr/include/linux/param.h /usr/include/asm/param.h \
/usr/include/sys/stat.h /usr/include/linux/stat.h /usr/include/linux/ext2_fs.h \
../lib/et/com_err.h /usr/lib/gcc-lib/i486-linux/2.5.8/include/stdarg.h ../lib/e2p/e2p.h \
../version.h
mke2fs.o : mke2fs.c /usr/include/string.h /usr/include/features.h /usr/include/sys/cdefs.h \
./../version.h
mke2fs.o : ./mke2fs.c /usr/include/string.h /usr/include/features.h /usr/include/sys/cdefs.h \
/usr/lib/gcc-lib/i486-linux/2.5.8/include/stddef.h /usr/include/fcntl.h /usr/include/sys/types.h \
/usr/include/linux/types.h /usr/include/asm/types.h /usr/include/linux/fcntl.h \
/usr/include/ctype.h /usr/include/termios.h /usr/include/linux/termios.h /usr/include/time.h \
/usr/include/getopt.h /usr/include/unistd.h /usr/include/posix_opt.h /usr/include/gnu/types.h \
/usr/include/stdlib.h /usr/include/errno.h /usr/include/linux/errno.h /usr/lib/gcc-lib/i486-linux/2.5.8/include/float.h \
/usr/include/alloca.h /usr/include/mntent.h /usr/include/stdio.h /usr/include/libio.h \
/usr/include/_G_config.h /usr/include/malloc.h /usr/include/sys/ioctl.h /usr/include/linux/ioctl.h \
/usr/include/linux/fs.h /usr/include/linux/linkage.h /usr/include/linux/limits.h \
/usr/include/linux/wait.h /usr/include/linux/dirent.h /usr/include/linux/vfs.h \
/usr/include/linux/net.h /usr/include/linux/socket.h /usr/include/linux/sockios.h \
/usr/include/linux/pipe_fs_i.h /usr/include/linux/minix_fs_i.h /usr/include/linux/ext_fs_i.h \
/usr/include/linux/ext2_fs_i.h /usr/include/linux/hpfs_fs_i.h /usr/include/linux/msdos_fs_i.h \
/usr/include/linux/umsdos_fs_i.h /usr/include/linux/iso_fs_i.h /usr/include/linux/nfs_fs_i.h \
/usr/include/linux/nfs.h /usr/include/linux/xia_fs_i.h /usr/include/linux/sysv_fs_i.h \
/usr/include/linux/ext2_fs.h ../lib/et/com_err.h /usr/lib/gcc-lib/i486-linux/2.5.8/include/stdarg.h \
../lib/ext2fs/ext2fs.h ../lib/ext2fs/io.h ../lib/ext2fs/ext2_err.h ../lib/ext2fs/bitops.h \
../version.h
mklost+found.o : mklost+found.c /usr/include/errno.h /usr/include/features.h \
/usr/include/linux/types.h /usr/include/asm/types.h /usr/include/gnu/types.h \
/usr/include/linux/fcntl.h /usr/include/ctype.h /usr/include/termios.h /usr/include/linux/termios.h \
/usr/include/time.h /usr/include/getopt.h /usr/include/unistd.h /usr/include/posix_opt.h \
/usr/include/confname.h /usr/include/stdlib.h /usr/include/errno.h /usr/include/linux/errno.h \
/usr/lib/gcc-lib/i486-linux/2.5.8/include/float.h /usr/include/alloca.h /usr/include/mntent.h \
/usr/include/stdio.h /usr/include/libio.h /usr/include/_G_config.h /usr/include/malloc.h \
/usr/include/sys/ioctl.h /usr/include/linux/ioctl.h /usr/include/linux/fs.h \
/usr/include/linux/linkage.h /usr/include/linux/limits.h /usr/include/linux/wait.h \
/usr/include/linux/dirent.h /usr/include/linux/vfs.h /usr/include/linux/net.h \
/usr/include/linux/socket.h /usr/include/linux/sockios.h /usr/include/linux/pipe_fs_i.h \
/usr/include/linux/minix_fs_i.h /usr/include/linux/ext_fs_i.h /usr/include/linux/ext2_fs_i.h \
/usr/include/linux/hpfs_fs_i.h /usr/include/linux/msdos_fs_i.h /usr/include/linux/umsdos_fs_i.h \
/usr/include/linux/iso_fs_i.h /usr/include/linux/nfs_fs_i.h /usr/include/linux/nfs.h \
/usr/include/linux/xia_fs_i.h /usr/include/linux/sysv_fs_i.h /usr/include/linux/ext2_fs.h \
../lib/et/com_err.h /usr/lib/gcc-lib/i486-linux/2.5.8/include/stdarg.h ../lib/ext2fs/ext2fs.h \
../lib/ext2fs/io.h ../lib/ext2fs/ext2_err.h ../lib/ext2fs/bitops.h ./../version.h
mklost+found.o : ./mklost+found.c /usr/include/errno.h /usr/include/features.h \
/usr/include/sys/cdefs.h /usr/include/linux/errno.h /usr/include/fcntl.h /usr/include/sys/types.h \
/usr/include/linux/types.h /usr/include/asm/types.h /usr/include/linux/fcntl.h \
/usr/include/stdio.h /usr/include/libio.h /usr/include/_G_config.h /usr/include/string.h \
/usr/lib/gcc-lib/i486-linux/2.5.8/include/stddef.h /usr/include/unistd.h /usr/include/posix_opt.h \
/usr/include/gnu/types.h /usr/include/sys/param.h /usr/lib/gcc-lib/i486-linux/2.5.8/include/limits.h \
/usr/include/linux/types.h /usr/include/asm/types.h /usr/include/gnu/types.h \
/usr/include/linux/fcntl.h /usr/include/stdio.h /usr/include/libio.h /usr/include/_G_config.h \
/usr/include/string.h /usr/lib/gcc-lib/i486-linux/2.5.8/include/stddef.h /usr/include/unistd.h \
/usr/include/posix_opt.h /usr/include/confname.h /usr/include/sys/param.h /usr/lib/gcc-lib/i486-linux/2.5.8/include/limits.h \
/usr/lib/gcc-lib/i486-linux/2.5.8/include/syslimits.h /usr/include/limits.h \
/usr/include/posix1_lim.h /usr/include/linux/limits.h /usr/include/posix2_lim.h \
/usr/include/linux/param.h /usr/include/asm/param.h /usr/include/sys/stat.h \
/usr/include/linux/stat.h /usr/include/linux/ext2_fs.h ../version.h
tune2fs.o : tune2fs.c /usr/include/fcntl.h /usr/include/features.h /usr/include/sys/cdefs.h \
/usr/include/linux/stat.h /usr/include/linux/ext2_fs.h ./../version.h
tune2fs.o : ./tune2fs.c /usr/include/fcntl.h /usr/include/features.h /usr/include/sys/cdefs.h \
/usr/include/sys/types.h /usr/include/linux/types.h /usr/include/asm/types.h \
/usr/include/linux/fcntl.h /usr/include/grp.h /usr/include/gnu/types.h /usr/include/stdio.h \
/usr/include/gnu/types.h /usr/include/linux/fcntl.h /usr/include/grp.h /usr/include/stdio.h \
/usr/include/libio.h /usr/include/_G_config.h /usr/lib/gcc-lib/i486-linux/2.5.8/include/stddef.h \
/usr/include/getopt.h /usr/include/pwd.h /usr/include/stdlib.h /usr/include/errno.h \
/usr/include/linux/errno.h /usr/lib/gcc-lib/i486-linux/2.5.8/include/float.h \
/usr/include/alloca.h /usr/include/string.h /usr/include/time.h /usr/include/unistd.h \
/usr/include/posix_opt.h /usr/include/linux/ext2_fs.h ../lib/ext2fs/ext2fs.h \
../lib/et/com_err.h /usr/lib/gcc-lib/i486-linux/2.5.8/include/stdarg.h ../lib/ext2fs/io.h \
../lib/ext2fs/ext2_err.h ../lib/ext2fs/bitops.h ../lib/e2p/e2p.h /usr/include/dirent.h \
/usr/include/linux/limits.h /usr/include/linux/dirent.h /usr/include/posix1_lim.h \
../version.h
/usr/include/posix_opt.h /usr/include/confname.h /usr/include/linux/ext2_fs.h \
../lib/ext2fs/ext2fs.h ../lib/et/com_err.h /usr/lib/gcc-lib/i486-linux/2.5.8/include/stdarg.h \
../lib/ext2fs/io.h ../lib/ext2fs/ext2_err.h ../lib/ext2fs/bitops.h ../lib/e2p/e2p.h \
/usr/include/dirent.h /usr/include/linux/limits.h /usr/include/linux/dirent.h \
/usr/include/posix1_lim.h ./../version.h

View File

@ -1,3 +1,132 @@
Thu Oct 26 12:05:18 1995 <tytso@rsts-11.mit.edu>
* Makefile.in (install): Strip programs when they are installed.
Fri Aug 18 15:10:40 1995 Theodore Y. Ts'o <tytso@dcl>
* mke2fs.c (PRS): Move call of check_mount() from main() to PRS(),
so we do the check to see if the filesystem is mounted
*before* we try to determine the size of the device.
Wed Sep 6 23:34:07 1995 Remy Card <card@bbj>
* fsck.c (load_fs_info): Load the informations from /etc/fstab in
the same order.
Thu Aug 17 22:33:09 1995 <tytso@rsts-11.mit.edu>
* mke2fs.c (check_mount): Use the new ext2fs_check_if_mounted()
function to determine if the device is mounted.
* mke2fs.c (PRS): Change call to use the new
ext2fs_get_device_size() function in order to determine
the size of the filesystem. Remove get_size() and
is_valid_offset(), which are no longer called.
Fri Aug 11 08:26:24 1995 Theodore Y. Ts'o <tytso@lurch.mit.edu>
* fsck.c (fsck_device): Make sure fstype has been set by the user
and that it does not begin with "no" and the user has
specified exactly one type before using it as the type to
check.
Fri Aug 11 14:17:18 1995 Remy Card <card@bbj>
* badblocks.8:
* chattr.1:
* dumpe2fs.8:
* fsck.8:
* lsattr.1:
* mke2fs.8:
* mklost+found.8:
* tune2fs.8: Updated date and version number.
Thu Aug 10 14:18:36 1995 Remy Card <card@bbj>
* tune2fs.c: Fixed a bug which prevented the use of user and group
names with the -g and -u options. Thanks to Jean Christophe
ANDRE <progfou@mycrob.cafard.freenix.fr>.
* mke2fs.8:
* tune2fs.8: Fixed a spelling error in Ted's name :-)
Wed Aug 9 20:41:54 1995 Theodore Y. Ts'o <tytso@dcl>
* mke2fs.c (count_blocks): Divide the size by
EXT2_BLOCK_SIZE(&param), instead of assuming that the
blocksize is always 1024 bytes.
Sat Aug 5 12:00:51 1995 Theodore Y. Ts'o <tytso@lurch.mit.edu>
* mke2fs.c (PRS): Use malloc() instead of alloca() --- alloca() is
not portable!! In any case putenv() in some systems must
take a static character array or malloc()'ed memory;
passing memory allocated using alloca() to putenv() is not
advisable.
* chattr.c (chattr_dir_proc):
* lsattr.c (lsattr_dir_proc): Use malloc() instead of alloca() ---
alloca is not portable!
* fsck.c (fsck_device): If the filesystem type is specified by the
user using the -t option, let it override the type in
/etc/fstab.
* fsck.c (strdup): Don't build strdup() if the system defines it.
Mon Jun 12 19:15:10 1995 Theodore Y. Ts'o (tytso@dcl)
* chattr.c, lsattr.c: Include <sys/types.h> for <dirent.h>'s
benefit.
* The $(UPROGS) go in bin, not sbin.
* badblocks.c, chattr.c, dumpe2fs.c, fsck.c, lsattr.c, mke2fs.c,
tune2fs.c: Don't include <getopt.h> if it doesn't exist.
Mon Jun 12 16:36:04 1995 Theodore Y. Ts'o <tytso@dcl>
* badblocks.c, chattr.c, dumpe2fs.c, fsck.c, lsattr.c, mke2fs.c,
tune2fs.c: Only include getopt.h if HAVE_GETOPT_H is defined.
Sat Jun 10 23:37:09 1995 Theodore Y. Ts'o <tytso@lurch.mit.edu>
* chattr.c: Include errno.h, since we use errno
* fsck.c (load_fs_info): If HAVE_MNTENT_H is not defined,
explicitly initialize filesys_info to be NULL.
* mke2fs.c: Include the stdio.h and errno.h header files
Thu Jun 8 13:25:23 1995 Miles Bader <miles@churchy.gnu.ai.mit.edu>
* mke2fs.c: Only include <linux/fs.h> if we can.
(get_size): Don't try to use the BLKGETSIZE ioctl unless it's defined.
(check_mount): Only check to see if the device is mounted if
HAVE_MNTENT_H is defined (by configure).
* fsck.c (load_fs_info): Only try to get info about filesystems if
HAVE_MNTENT_H is defined (by configure).
(main): Allocate space for a new fsck_path instead of append to a
statically sized buffer.
(PRS): Use alloca to allocate the new path string, instead of
having a fixed size buffer (which was the wrong size anyway).
* chattr.c (chattr_dir_proc): Use alloca to allocate space for a
filename instead of using a fixed-size buffer.
* lsattr.c (lsattr_dir_proc): Ditto.
* mklost+fond.c (main): Calculate the actual needed size for the
path buffer instead of using MAXPATHLEN (which not all systems have).
* badblocks.c: Only include linux include files if we have them.
(flush_bufs): New function to flush a block device, optionally
syncing it first. This replaces other copies of this code.
(test_ro): Replace calls to ioctl with flush_bufs().
(test_rw): Ditto.
* Makefile.in: Rewritten to conform to GNU coding standards and
support separate compilation directories.
Sat Mar 11 10:59:58 1995 Theodore Y. Ts'o <tytso@localhost>
* mke2fs.c (main, zap_bootblock): Added new function

View File

@ -1,90 +0,0 @@
include ../MCONFIG
CFLAGS= $(OPT) $(WFLAGS) -I../lib
LDFLAGS= $(OPT)
SPROGS= mke2fs badblocks tune2fs dumpe2fs fsck
USPROGS= mklost+found
SMANPAGES= tune2fs.8 mklost+found.8 mke2fs.8 dumpe2fs.8 badblocks.8 \
fsck.8
UPROGS= chattr lsattr
UMANPAGES= chattr.1 lsattr.1
TUNE2FS_OBJS= tune2fs.o
MKLPF_OBJS= mklost+found.o
MKE2FS_OBJS= mke2fs.o
CHATTR_OBJS= chattr.o
LSATTR_OBJS= lsattr.o
DUMPE2FS_OBJS= dumpe2fs.o
BADBLOCKS_OBJS= badblocks.o
FSCK_OBJS= fsck.o
LIBS= -L../lib -lext2fs -le2p -lcom_err
DEPLIBS= ../lib/libext2fs.a ../lib/libe2p.a ../lib/libcom_err.a
all: $(SPROGS) $(UPROGS) $(USPROGS)
tune2fs: $(TUNE2FS_OBJS) $(DEPLIBS)
$(CC) $(LDFLAGS) -o tune2fs $(TUNE2FS_OBJS) $(LIBS)
mklost+found: $(MKLPF_OBJS)
$(CC) $(LDFLAGS) -o mklost+found $(MKLPF_OBJS)
mke2fs: $(MKE2FS_OBJS) $(DEPLIBS)
$(CC) $(LDFLAGS) -o mke2fs $(MKE2FS_OBJS) $(LIBS)
mke2fs.static: $(MKE2FS_OBJS) $(DEPLIBS)
$(CC) $(LDFLAGS) -static -o mke2fs.static $(MKE2FS_OBJS) $(LIBS)
chattr: $(CHATTR_OBJS) $(DEPLIBS)
$(CC) $(LDFLAGS) -o chattr $(CHATTR_OBJS) $(LIBS)
lsattr: $(LSATTR_OBJS) $(DEPLIBS)
$(CC) $(LDFLAGS) -o lsattr $(LSATTR_OBJS) $(LIBS)
dumpe2fs: $(DUMPE2FS_OBJS) $(DEPLIBS)
$(CC) $(LDFLAGS) -o dumpe2fs $(DUMPE2FS_OBJS) $(LIBS)
badblocks: $(BADBLOCKS_OBJS) $(DEPLIBS)
$(CC) $(LDFLAGS) -o badblocks $(BADBLOCKS_OBJS) $(LIBS)
install:: $(SPROGS) $(UPROGS)
for i in $(SPROGS); do \
$(INSTALLBIN) $$i $(SBINDIR)/$$i; \
done
for i in $(USPROGS); do \
$(INSTALLBIN) $$i $(USRSBINDIR)/$$i; \
done
ln -sf mke2fs $(SBINDIR)/mkfs.ext2
for i in $(UPROGS); do \
$(INSTALLBIN) $$i $(USRBINDIR)/$$i; \
done
install:: $(SMANPAGES) $(UMANPAGES)
for i in $(SMANPAGES); do \
$(INSTALLMAN) $$i $(SMANDIR)/$$i; \
done
for i in $(UMANPAGES); do \
$(INSTALLMAN) $$i $(UMANDIR)/$$i; \
done
install-tree:: $(SPROGS) $(UPROGS)
for i in $(SPROGS) $(UPROGS); do \
rm -f ../bin/$$i; \
cp $$i ../bin; \
strip ../bin/$$i; \
chmod 555 ../bin/$$i; \
done
ln -sf mke2fs ../bin/mkfs.ext2
clean:
rm -f $(SPROGS) $(USPROGS) $(UPROGS) mke2fs.static \
\#* *.s *.o *.a *~ core
really-clean: clean
rm -f .depend
dep depend .depend:
$(CPP) $(CFLAGS) -M *.c >.depend
include .depend

148
misc/Makefile.in Normal file
View File

@ -0,0 +1,148 @@
#
# Standard e2fsprogs prologue....
#
srcdir = @srcdir@
top_srcdir = @top_srcdir@
VPATH = @srcdir@
top_builddir = ..
INSTALL = @INSTALL@
@MCONFIG@
SPROGS= mke2fs badblocks tune2fs dumpe2fs fsck
USPROGS= mklost+found
SMANPAGES= tune2fs.8 mklost+found.8 mke2fs.8 dumpe2fs.8 badblocks.8 fsck.8
UPROGS= chattr lsattr
UMANPAGES= chattr.1 lsattr.1
TUNE2FS_OBJS= tune2fs.o
MKLPF_OBJS= mklost+found.o
MKE2FS_OBJS= mke2fs.o
CHATTR_OBJS= chattr.o
LSATTR_OBJS= lsattr.o
DUMPE2FS_OBJS= dumpe2fs.o
BADBLOCKS_OBJS= badblocks.o
FSCK_OBJS= fsck.o
SRCS= $(srcdir)/tune2fs.c $(srcdir)/mklost+found.c $(srcdir)/mke2fs.c \
$(srcdir)/chattr.c $(srcdir)/lsattr.c $(srcdir)/dumpe2fs.c \
$(srcdir)/badblocks.c $(srcdir)/fsck.c
LIBS= -L../lib -lext2fs -le2p -lcom_err
DEPLIBS= ../lib/libext2fs.a ../lib/libe2p.a ../lib/libcom_err.a
.c.o:
$(CC) -c $(CFLAGS) $< -o $@
all:: $(SPROGS) $(UPROGS) $(USPROGS)
tune2fs: $(TUNE2FS_OBJS) $(DEPLIBS)
$(CC) $(LDFLAGS) -o tune2fs $(TUNE2FS_OBJS) $(LIBS)
mklost+found: $(MKLPF_OBJS)
$(CC) $(LDFLAGS) -o mklost+found $(MKLPF_OBJS)
mke2fs: $(MKE2FS_OBJS) $(DEPLIBS)
$(CC) $(LDFLAGS) -o mke2fs $(MKE2FS_OBJS) $(LIBS)
mke2fs.static: $(MKE2FS_OBJS) $(DEPLIBS)
$(CC) $(LDFLAGS) -static -o mke2fs.static $(MKE2FS_OBJS) $(LIBS)
chattr: $(CHATTR_OBJS) $(DEPLIBS)
$(CC) $(LDFLAGS) -o chattr $(CHATTR_OBJS) $(LIBS)
lsattr: $(LSATTR_OBJS) $(DEPLIBS)
$(CC) $(LDFLAGS) -o lsattr $(LSATTR_OBJS) $(LIBS)
dumpe2fs: $(DUMPE2FS_OBJS) $(DEPLIBS)
$(CC) $(LDFLAGS) -o dumpe2fs $(DUMPE2FS_OBJS) $(LIBS)
fsck: $(FSCK_OBJS) $(DEPLIBS)
$(CC) $(LDFLAGS) -o fsck $(FSCK_OBJS) $(LIBS)
badblocks: $(BADBLOCKS_OBJS) $(DEPLIBS)
$(CC) $(LDFLAGS) -o badblocks $(BADBLOCKS_OBJS) $(LIBS)
installdirs:
$(top_srcdir)/mkinstalldirs $(DESTDIR)$(bindir) $(DESTDIR)$(sbindir) \
$(DESTDIR)$(ubindir) $(DESTDIR)$(man1dir) \
$(DESTDIR)$(cat1dir) $(DESTDIR)$(man8dir) $(DESTDIR)$(cat8dir)
install: all $(SMANPAGES) $(UMANPAGES) installdirs
for i in $(SPROGS); do \
$(INSTALL_PROGRAM) $$i $(DESTDIR)$(sbindir)/$$i; \
$(STRIP) $(DESTDIR)$(sbindir)/$$i; \
done
for i in $(USPROGS); do \
$(INSTALL_PROGRAM) $$i $(DESTDIR)$(usbindir)/$$i; \
$(STRIP) $(DESTDIR)$(usbindir)/$$i; \
done
$(LN) -f $(DESTDIR)$(sbindir)/mke2fs $(DESTDIR)$(sbindir)/mkfs.ext2
for i in $(UPROGS); do \
$(INSTALL_PROGRAM) $$i $(DESTDIR)$(ubindir)/$$i; \
$(STRIP) $(DESTDIR)$(ubindir)/$$i; \
done
for i in $(SMANPAGES); do \
$(INSTALL_DATA) $(srcdir)/$$i $(DESTDIR)$(man8dir)/$$i; \
done
for i in $(UMANPAGES); do \
$(INSTALL_DATA) $(srcdir)/$$i $(DESTDIR)$(man1dir)/$$i; \
done
uninstall:
for i in $(SPROGS); do \
$(RM) -f $(sbindir)/$$i; \
done
for i in $(USPROGS); do \
$(RM) -f $(usbindir)/$$i; \
done
$(RM) -f $(sbindir)/mkfs.ext2
for i in $(UPROGS); do \
$(RM) -f $(ubindir)/$$i; \
done
for i in $(SMANPAGES); do \
$(RM) -f $(man8dir)/$$i; \
done
for i in $(UMANPAGES); do \
$(RM) -f $(man1dir)/$$i; \
done
clean:
$(RM) -f $(SPROGS) $(USPROGS) $(UPROGS) mke2fs.static \
\#* *.s *.o *.a *~ core
mostlyclean: clean
distclean: clean
$(RM) -f .depend Makefile
# +++ Dependency line eater +++
#
# Makefile dependencies follow. This must be the last section in
# the Makefile.in file
#
tune2fs.o : $(srcdir)/tune2fs.c \
$(top_srcdir)/lib/ext2fs/ext2fs.h $(top_srcdir)/lib/et/com_err.h \
$(top_srcdir)/lib/ext2fs/io.h $(top_builddir)/lib/ext2fs/ext2_err.h $(top_srcdir)/lib/ext2fs/bitops.h $(top_srcdir)/lib/e2p/e2p.h \
$(srcdir)/../version.h
mklost+found.o : $(srcdir)/mklost+found.c \
$(srcdir)/../version.h
mke2fs.o : $(srcdir)/mke2fs.c \
$(top_srcdir)/lib/et/com_err.h $(top_srcdir)/lib/ext2fs/ext2fs.h \
$(top_srcdir)/lib/ext2fs/io.h $(top_builddir)/lib/ext2fs/ext2_err.h $(top_srcdir)/lib/ext2fs/bitops.h $(srcdir)/../version.h
chattr.o : $(srcdir)/chattr.c \
$(top_srcdir)/lib/et/com_err.h $(top_srcdir)/lib/e2p/e2p.h \
$(srcdir)/../version.h
lsattr.o : $(srcdir)/lsattr.c \
$(top_srcdir)/lib/et/com_err.h $(top_srcdir)/lib/e2p/e2p.h \
$(srcdir)/../version.h
dumpe2fs.o : $(srcdir)/dumpe2fs.c \
$(top_srcdir)/lib/ext2fs/ext2fs.h $(top_srcdir)/lib/et/com_err.h \
$(top_srcdir)/lib/ext2fs/io.h $(top_builddir)/lib/ext2fs/ext2_err.h $(top_srcdir)/lib/ext2fs/bitops.h $(top_srcdir)/lib/e2p/e2p.h \
$(srcdir)/../version.h
badblocks.o : $(srcdir)/badblocks.c \
$(top_srcdir)/lib/et/com_err.h $(top_srcdir)/lib/ext2fs/io.h
fsck.o : $(srcdir)/fsck.c \
$(srcdir)/../version.h \
$(srcdir)/fsck.h

View File

@ -1,5 +1,5 @@
.\" -*- nroff -*-
.TH BADBLOCKS 8 "November 1994" "Version 0.5b"
.TH BADBLOCKS 8 "August 1995" "Version 0.5c"
.SH NAME
badblocks \- search a device for bad blocks
.SH SYNOPSIS

View File

@ -20,7 +20,9 @@
#include <errno.h>
#include <fcntl.h>
#ifdef HAVE_GETOPT_H
#include <getopt.h>
#endif
#include <signal.h>
#include <stdio.h>
#include <stdlib.h>
@ -30,8 +32,10 @@
#include <sys/ioctl.h>
#include <sys/types.h>
#if HAVE_LINUX_FS_H
#include <linux/fd.h>
#include <linux/fs.h>
#endif
#include "et/com_err.h"
#include "ext2fs/io.h"
@ -88,6 +92,26 @@ static void alarm_intr (int alnum)
fflush (stderr);
}
static void flush_bufs (int dev, int sync)
{
if (v_flag
#if !defined (BLKFLSBUF) && !defined (FDFLUSH)
&& sync
#endif
)
fprintf (stderr, "Flushing buffers\n");
if (sync && fsync (dev) == -1)
com_err (program_name, errno, "during fsync");
#ifdef BLKLSBUF
ioctl (dev, BLKFLSBUF, 0); /* In case this is a HD */
#endif
#ifdef FDFLUSH
ioctl (dev, FDFLUSH, 0); /* In case this is floppy */
#endif
}
static void test_ro (int dev, unsigned long blocks_count,
unsigned long block_size, FILE * out,
unsigned long from_count)
@ -103,11 +127,7 @@ static void test_ro (int dev, unsigned long blocks_count,
com_err (program_name, ENOMEM, "while allocating buffers");
exit (1);
}
if (v_flag)
fprintf (stderr, "Flushing buffers\n");
ioctl (dev, BLKFLSBUF, 0); /* In case this is a HD */
ioctl (dev, FDFLUSH, 0); /* In case this is floppy */
flush_bufs (dev, 0);
if (v_flag) {
fprintf (stderr,
"Checking for bad blocks in read-only mode\n");
@ -158,10 +178,8 @@ static void test_rw (int dev, unsigned long blocks_count,
exit (1);
}
if (v_flag)
fprintf (stderr, "Flushing buffers\n");
ioctl (dev, BLKFLSBUF, 0); /* In case this is a HD */
ioctl (dev, FDFLUSH, 0); /* In case this is floppy */
flush_bufs (dev, 0);
if (v_flag)
fprintf (stderr, "Checking for bad blocks in read-write mode\n");
for (i = 0; i < sizeof (pattern); i++)
@ -190,12 +208,7 @@ static void test_rw (int dev, unsigned long blocks_count,
alarm (0);
if (s_flag | v_flag)
fprintf(stderr, "done \n");
if (v_flag)
fprintf (stderr, "Flushing buffers\n");
if (fsync (dev) == -1)
com_err (program_name, errno, "during fsync");
ioctl (dev, BLKFLSBUF, 0); /* In case this is a HD */
ioctl (dev, FDFLUSH, 0); /* In case this is floppy */
flush_bufs (dev, 1);
if (s_flag | v_flag)
fprintf (stderr, "Reading and comparing: ");
num_blocks = blocks_count;
@ -221,10 +234,7 @@ static void test_rw (int dev, unsigned long blocks_count,
alarm (0);
if (s_flag | v_flag)
fprintf(stderr, "done \n");
if (v_flag)
fprintf (stderr, "Flushing buffers\n");
ioctl (dev, BLKFLSBUF, 0); /* In case this is a HD */
ioctl (dev, FDFLUSH, 0); /* In case this is floppy */
flush_bufs (dev, 0);
}
}

View File

@ -1,5 +1,5 @@
.\" -*- nroff -*-
.TH CHATTR 1 "November 1994" "Version 0.5b"
.TH CHATTR 1 "October 1995" "Version 0.5c"
.SH NAME
chattr \- change file attributes on a Linux second extended file system
.SH SYNOPSIS

View File

@ -16,12 +16,18 @@
* 94/02/27 - Integrated in Ted's distribution
*/
#include <sys/types.h>
#include <dirent.h>
#include <fcntl.h>
#ifdef HAVE_GETOPT_H
#include <getopt.h>
#endif
#include <stdio.h>
#include <stdlib.h>
#include <unistd.h>
#ifdef HAVE_ERRNO_H
#include <errno.h>
#endif
#include <sys/param.h>
#include <sys/stat.h>
#include <linux/ext2_fs.h>
@ -264,12 +270,17 @@ static void change_attributes (const char * name)
static int chattr_dir_proc (const char * dir_name, struct dirent * de, void * private)
{
char path[MAXPATHLEN];
if (strcmp (de->d_name, ".") && strcmp (de->d_name, ".."))
{
char *path;
path = malloc(strlen (dir_name) + 1 + strlen (de->d_name) + 1);
if (!path)
fatal_error("Couldn't allocate path variable "
"in chattr_dir_proc", 1);
sprintf (path, "%s/%s", dir_name, de->d_name);
change_attributes (path);
free(path);
}
return 0;
}

View File

@ -1,5 +1,8 @@
.TH DUMPE2FS 8 "November 1994" "Version 0.5b"
.\" -*- nroff -*-
.\" Copyright 1993, 1994, 1995 by Theodore Ts'o. All Rights Reserved.
.\" This file may be copied under the terms of the GNU Public License.
.\"
.TH DUMPE2FS 8 "October 1995" "Version 0.5c"
.SH NAME
dumpe2fs \- dump filesystem information
.SH SYNOPSIS

View File

@ -16,7 +16,9 @@
* 94/02/27 - Ported to use the ext2fs library
*/
#ifdef HAVE_GETOPT_H
#include <getopt.h>
#endif
#include <fcntl.h>
#include <stdio.h>
#include <stdlib.h>
@ -78,8 +80,8 @@ static void list_desc (ext2_filsys fs)
for (i = 0; i < fs->group_desc_count; i++)
{
printf ("Group %lu:\n", i);
printf (" Block bitmap at %lu, Inode bitmap at %lu, "
"Inode table at %lu\n",
printf (" Block bitmap at %u, Inode bitmap at %u, "
"Inode table at %u\n",
fs->group_desc[i].bg_block_bitmap,
fs->group_desc[i].bg_inode_bitmap,
fs->group_desc[i].bg_inode_table);
@ -118,9 +120,9 @@ static void list_bad_blocks(ext2_filsys fs)
exit(1);
}
if (badblocks_list_iterate(bb_iter, &blk))
printf("Bad blocks: %ld", blk);
printf("Bad blocks: %d", blk);
while (badblocks_list_iterate(bb_iter, &blk))
printf(", %ld", blk);
printf(", %d", blk);
badblocks_list_iterate_end(bb_iter);
printf("\n");
}
@ -144,7 +146,7 @@ static void dump_bad_blocks(ext2_filsys fs)
exit(1);
}
while (badblocks_list_iterate(bb_iter, &blk))
printf("%ld\n", blk);
printf("%d\n", blk);
badblocks_list_iterate_end(bb_iter);
}

View File

@ -1,5 +1,8 @@
.\" -*- nroff -*-
.TH FSCK 8 "November 1994" "Version 0.5b"
.\" Copyright 1993, 1994, 1995 by Theodore Ts'o. All Rights Reserved.
.\" This file may be copied under the terms of the GNU Public License.
.\"
.TH FSCK 8 "October 1995" "Version 0.5c"
.SH NAME
fsck \- check and repair a Linux file system
.SH SYNOPSIS

View File

@ -26,15 +26,28 @@
#include <sys/wait.h>
#include <sys/signal.h>
#include <sys/stat.h>
#include <errno.h>
#include <limits.h>
#include <stdio.h>
#include <stdlib.h>
#include <string.h>
#if HAVE_STDLIB_H
#include <stdlib.h>
#endif
#if HAVE_ERRNO_H
#include <errno.h>
#endif
#if HAVE_MNTENT_H
#include <mntent.h>
#endif
#if HAVE_UNISTD_H
#include <unistd.h>
#endif
#if HAVE_ERRNO_H
#include <errno.h>
#endif
#include <malloc.h>
#ifdef HAVE_GETOPT_H
#include <getopt.h>
#endif
#include "../version.h"
#include "fsck.h"
@ -114,9 +127,15 @@ char *progname;
char *fstype = NULL;
struct fs_info *filesys_info;
struct fsck_instance *instance_list;
static char fsck_path[PATH_MAX + 32];
const char *fsck_prefix_path = "/sbin:/sbin/fs.d:/sbin/fs:/etc/fs:/etc";
char *fsck_path = 0;
static int ignore(struct fs_info *);
#ifdef HAVE_STRDUP
#ifdef _POSIX_SOURCE
extern char *strdup(const char *s);
#endif
#else
static char *strdup(const char *s)
{
char *ret;
@ -126,6 +145,7 @@ static char *strdup(const char *s)
strcpy(ret, s);
return ret;
}
#endif
static void free_instance(struct fsck_instance *i)
{
@ -142,9 +162,11 @@ static void free_instance(struct fsck_instance *i)
*/
static void load_fs_info(NOARGS)
{
#if HAVE_MNTENT_H
FILE *mntfile;
struct mntent *mp;
struct fs_info *fs;
struct fs_info *fs_last = NULL;
int old_fstab = 1;
filesys_info = NULL;
@ -164,8 +186,12 @@ static void load_fs_info(NOARGS)
fs->opts = strdup(mp->mnt_opts);
fs->freq = mp->mnt_freq;
fs->passno = mp->mnt_passno;
fs->next = filesys_info;
filesys_info = fs;
fs->next = NULL;
if (!filesys_info)
filesys_info = fs;
else
fs_last->next = fs;
fs_last = fs;
if (fs->passno)
old_fstab = 0;
}
@ -184,6 +210,9 @@ static void load_fs_info(NOARGS)
fs->passno = 1;
}
}
#else
filesys_info = NULL;
#endif /* HAVE_MNTENT_H */
}
/* Lookup filesys in /etc/fstab and return the corresponding entry. */
@ -366,21 +395,30 @@ static int wait_all(NOARGS)
/*
* Run the fsck program on a particular device
*
* If the type is specified using -t, and it isn't prefixed with "no"
* (as in "noext2") and only one filesystem type is specified, then
* use that type regardless of what is specified in /etc/fstab.
*
* If the type isn't specified by the user, then use either the type
* specified in /etc/fstab, or DEFAULT_FSTYPE.
*/
static void fsck_device(char *device)
{
const char *type;
const char *type = 0;
struct fs_info *fsent;
int retval;
char prog[80];
if (fstype && strncmp(type, "no", 2) && !strchr(type, ','))
type = fstype;
if ((fsent = lookup(device))) {
device = fsent->device;
type = fsent->type;
} else if (fstype && strncmp(fstype, "no", 2) &&
!strchr(fstype, ','))
type = fstype;
else
if (!type)
type = fsent->type;
}
if (!type)
type = DEFAULT_FSTYPE;
sprintf(prog, "fsck.%s", type);
@ -699,9 +737,9 @@ static void PRS(int argc, char *argv[])
int main(int argc, char *argv[])
{
char *oldpath;
int status = 0;
int i;
int status = 0;
char *oldpath = getenv("PATH");
PRS(argc, argv);
@ -710,10 +748,16 @@ int main(int argc, char *argv[])
E2FSPROGS_VERSION, E2FSPROGS_DATE);
/* Update our search path to include uncommon directories. */
strcpy(fsck_path, "/sbin:/sbin/fs.d:/sbin/fs:/etc/fs:/etc:");
if ((oldpath = getenv("PATH")) != NULL)
strcat(fsck_path, oldpath);
if (oldpath) {
fsck_path = malloc (strlen (fsck_prefix_path) + 1 +
strlen (oldpath) + 1);
strcpy (fsck_path, fsck_prefix_path);
strcat (fsck_path, ":");
strcat (fsck_path, oldpath);
} else {
fsck_path = strdup(oldpath);
}
/* If -A was specified ("check all"), do that! */
if (doall)
return check_all();
@ -730,7 +774,7 @@ int main(int argc, char *argv[])
}
}
}
status |= wait_all();
free(fsck_path);
return status;
}

View File

@ -1,5 +1,5 @@
.\" -*- nroff -*-
.TH LSATTR 1 "November 1994" "Version 0.5b"
.TH LSATTR 1 "October 1995" "Version 0.5c"
.SH NAME
lsattr \- list file attributes on a Linux second extended file system
.SH SYNOPSIS
@ -12,7 +12,7 @@ files...
]
.SH DESCRIPTION
.B lsattr
lists the files attributes on an second extended file system.
lists the file attributes on a second extended file system.
.SH OPTIONS
.TP
.I -R

View File

@ -16,12 +16,21 @@
* 94/02/27 - Integrated in Ted's distribution
*/
#include <sys/types.h>
#include <dirent.h>
#ifdef HAVE_ERRNO_H
#include <errno.h>
#endif
#include <fcntl.h>
#ifdef HAVE_GETOPT_H
#include <getopt.h>
#else
extern int optind;
extern char *optarg;
#endif
#include <stdio.h>
#include <unistd.h>
#include <stdlib.h>
#include <sys/param.h>
#include <sys/stat.h>
#include <linux/ext2_fs.h>
@ -84,26 +93,28 @@ static void lsattr_args (const char * name)
static int lsattr_dir_proc (const char * dir_name, struct dirent * de, void * private)
{
char path [MAXPATHLEN];
struct stat st;
char *path;
path = malloc(strlen (dir_name) + 1 + strlen (de->d_name) + 1);
sprintf (path, "%s/%s", dir_name, de->d_name);
if (lstat (path, &st) == -1)
perror (path);
else
{
if (de->d_name[0] != '.' || all)
{
else {
if (de->d_name[0] != '.' || all) {
list_attributes (path);
if (S_ISDIR(st.st_mode) && recursive &&
strcmp (de->d_name, ".") && strcmp (de->d_name, ".."))
{
strcmp(de->d_name, ".") &&
strcmp(de->d_name, "..")) {
printf ("\n%s:\n", path);
iterate_on_dir (path, lsattr_dir_proc, (void *) NULL);
iterate_on_dir (path, lsattr_dir_proc,
(void *) NULL);
printf ("\n");
}
}
}
free(path);
return 0;
}

View File

@ -1,5 +1,8 @@
.\" -*- nroff -*-
.TH MKE2FS 8 "November 1994" "Version 0.5b"
.\" Copyright 1993, 1994, 1995 by Theodore Ts'o. All Rights Reserved.
.\" This file may be copied under the terms of the GNU Public License.
.\"
.TH MKE2FS 8 "October 1995" "Version 0.5c"
.SH NAME
mke2fs \- create a Linux second extended file system
.SH SYNOPSIS
@ -106,7 +109,7 @@ is no gaurantee that any data will be salvageable.
.SH AUTHOR
This version of
.B mke2fs
has been written by Theodore T'so <tytso@mit.edu>.
has been written by Theodore Ts'o <tytso@mit.edu>.
.SH BUGS
.B mke2fs
accepts the -f option but currently ignores it because the second

View File

@ -11,20 +11,35 @@
* enforced (but it's not much fun on a character device :-).
*/
#include <stdio.h>
#include <string.h>
#include <fcntl.h>
#include <ctype.h>
#include <termios.h>
#include <time.h>
#ifdef HAVE_GETOPT_H
#include <getopt.h>
#endif
#ifdef HAVE_UNISTD_H
#include <unistd.h>
#endif
#ifdef HAVE_STDLIB_H
#include <stdlib.h>
#endif
#ifdef HAVE_ERRNO_H
#include <errno.h>
#endif
#ifdef HAVE_MNTENT_H
#include <mntent.h>
#endif
#include <malloc.h>
#include <sys/ioctl.h>
#include <sys/types.h>
#include <stdio.h>
#ifdef HAVE_LINUX_FS_H
#include <linux/fs.h>
#endif
#include <linux/ext2_fs.h>
#include "et/com_err.h"
@ -71,72 +86,21 @@ static int log2(int arg)
return l;
}
static long valid_offset (int fd, ext2_loff_t offset)
{
char ch;
if (ext2_llseek (fd, offset, 0) < 0)
return 0;
if (read (fd, &ch, 1) < 1)
return 0;
return 1;
}
static int count_blocks (int fd)
{
ext2_loff_t high, low;
low = 0;
for (high = 1; valid_offset (fd, high); high *= 2)
low = high;
while (low < high - 1)
{
const ext2_loff_t mid = (low + high) / 2;
if (valid_offset (fd, mid))
low = mid;
else
high = mid;
}
valid_offset (fd, 0);
return (low + 1) / 1024;
}
static int get_size(const char *file)
{
int fd;
int size;
fd = open(file, O_RDWR);
if (fd < 0) {
com_err("open", errno, "while trying to determine size of %s",
file);
exit(1);
}
if (ioctl(fd, BLKGETSIZE, &size) >= 0) {
close(fd);
return size / (EXT2_BLOCK_SIZE(&param) / 512);
}
size = count_blocks(fd);
close(fd);
return size;
}
static void check_mount(NOARGS)
{
FILE * f;
struct mntent * mnt;
errcode_t retval;
int mount_flags;
if ((f = setmntent (MOUNTED, "r")) == NULL)
retval = ext2fs_check_if_mounted(device_name, &mount_flags);
if (retval) {
com_err("ext2fs_check_if_mount", retval,
"while determining whether %s is mounted.",
device_name);
return;
while ((mnt = getmntent (f)) != NULL)
if (strcmp (device_name, mnt->mnt_fsname) == 0)
break;
endmntent (f);
if (!mnt)
}
if (!(mount_flags & EXT2_MF_MOUNTED))
return;
fprintf(stderr, "%s is mounted; will not make a filesystem here!\n",
device_name);
exit(1);
@ -147,7 +111,7 @@ static void check_mount(NOARGS)
*/
static void invalid_block(ext2_filsys fs, blk_t blk)
{
printf("Bad block %lu out of range; ignored.\n", blk);
printf("Bad block %u out of range; ignored.\n", blk);
return;
}
@ -184,7 +148,7 @@ static void test_disk(ext2_filsys fs, badblocks_list *bb_list)
errcode_t retval;
char buf[1024];
sprintf(buf, "badblocks %s%s %ld", quiet ? "" : "-s ",
sprintf(buf, "badblocks %s%s %d", quiet ? "" : "-s ",
fs->device_name,
fs->super->s_blocks_count);
if (verbose)
@ -227,7 +191,7 @@ static void handle_bad_blocks(ext2_filsys fs, badblocks_list bb_list)
if (badblocks_list_test(bb_list, i)) {
fprintf(stderr, "Block %d in primary superblock/group "
"descriptor area bad.\n", i);
fprintf(stderr, "Blocks %ld through %d must be good "
fprintf(stderr, "Blocks %d through %d must be good "
"in order to build a filesystem.\n",
fs->super->s_first_data_block, must_be_good);
fprintf(stderr, "Aborting....\n");
@ -250,7 +214,7 @@ static void handle_bad_blocks(ext2_filsys fs, badblocks_list bb_list)
j)) {
if (!group_bad)
fprintf(stderr,
"Warning: the backup superblock/group descriptors at block %ld contain\n"
"Warning: the backup superblock/group descriptors at block %d contain\n"
" bad blocks.\n\n",
group_block);
group_bad++;
@ -304,7 +268,7 @@ static void new_table_block(ext2_filsys fs, blk_t first_block,
retval = io_channel_write_blk(fs->io, blk, count, buf);
if (retval)
printf("Warning: could not write %d blocks "
"starting at %ld for %s: %s\n",
"starting at %d for %s: %s\n",
count, blk, name,
error_message(retval));
}
@ -457,24 +421,24 @@ static void show_stats(ext2_filsys fs)
int i, col_left;
if (param.s_blocks_count != s->s_blocks_count)
printf("warning: %ld blocks unused.\n\n",
printf("warning: %d blocks unused.\n\n",
param.s_blocks_count - s->s_blocks_count);
printf("%lu inodes, %lu blocks\n", s->s_inodes_count,
printf("%u inodes, %u blocks\n", s->s_inodes_count,
s->s_blocks_count);
printf("%lu blocks (%2.2f%%) reserved for the super user\n",
printf("%u blocks (%2.2f%%) reserved for the super user\n",
s->s_r_blocks_count,
100.0 * s->s_r_blocks_count / s->s_blocks_count);
printf("First data block=%lu\n", s->s_first_data_block);
printf("Block size=%u (log=%lu)\n", fs->blocksize,
printf("First data block=%u\n", s->s_first_data_block);
printf("Block size=%u (log=%u)\n", fs->blocksize,
s->s_log_block_size);
printf("Fragment size=%u (log=%lu)\n", fs->fragsize,
printf("Fragment size=%u (log=%u)\n", fs->fragsize,
s->s_log_frag_size);
printf("%lu block group%s\n", fs->group_desc_count,
(fs->group_desc_count > 1) ? "s" : "");
printf("%lu blocks per group, %lu fragments per group\n",
printf("%u blocks per group, %u fragments per group\n",
s->s_blocks_per_group, s->s_frags_per_group);
printf("%lu inodes per group\n", s->s_inodes_per_group);
printf("%u inodes per group\n", s->s_inodes_per_group);
if (fs->group_desc_count == 1) {
printf("\n");
@ -490,28 +454,36 @@ static void show_stats(ext2_filsys fs)
printf("\n\t");
col_left = 8;
}
printf("%lu", group_block);
printf("%u", group_block);
if (i != fs->group_desc_count - 1)
printf(", ");
}
printf("\n\n");
}
#define PATH_SET "PATH=/sbin"
static void PRS(int argc, char *argv[])
{
char c;
int size;
char * tmp;
char *oldpath;
static char newpath[PATH_MAX];
int inode_ratio = 4096;
int reserved_ratio = 5;
errcode_t retval;
char *oldpath = getenv("PATH");
/* Update our PATH to include /sbin */
strcpy(newpath, "PATH=/sbin:");
if ((oldpath = getenv("PATH")) != NULL)
strcat(newpath, oldpath);
putenv(newpath);
if (oldpath) {
char *newpath;
newpath = malloc(sizeof (PATH_SET) + 1 + strlen (oldpath));
strcpy (newpath, PATH_SET);
strcat (newpath, ":");
strcat (newpath, oldpath);
putenv (newpath);
} else
putenv (PATH_SET);
setbuf(stdout, NULL);
setbuf(stderr, NULL);
@ -623,10 +595,21 @@ static void PRS(int argc, char *argv[])
}
if (optind < argc)
usage();
check_mount();
param.s_log_frag_size = param.s_log_block_size;
if (!param.s_blocks_count)
param.s_blocks_count = get_size(device_name);
if (!param.s_blocks_count) {
retval = ext2fs_get_device_size(device_name,
EXT2_BLOCK_SIZE(&param),
&param.s_blocks_count);
if (retval) {
com_err(program_name, 0,
"while trying to determine filesystem size");
exit(1);
}
}
/*
* Calculate number of inodes based on the inode ratio
@ -649,8 +632,6 @@ int main (int argc, char *argv[])
PRS(argc, argv);
check_mount();
/*
* Initialize the superblock....
*/

View File

@ -1,5 +1,8 @@
.\" -*- nroff -*-
.TH MKLOST+FOUND 8 "November 1994" "Version 0.5b"
.\" Copyright 1993, 1994, 1995 by Theodore Ts'o. All Rights Reserved.
.\" This file may be copied under the terms of the GNU Public License.
.\"
.TH MKLOST+FOUND 8 "October 1995" "Version 0.5c"
.SH NAME
mklost+found \- create a lost+found directory on a mounted Linux
second extended file system

View File

@ -30,7 +30,7 @@
void main (int argc, char ** argv)
{
char name [EXT2_NAME_LEN];
char path [MAXPATHLEN];
char path [sizeof (LPF) + 1 + 256];
struct stat st;
int i, j;
int d;

View File

@ -2,7 +2,7 @@
.\" Initial revision
.\"
.\"
.TH TUNE2FS 8 "November 1994" "Version 0.5b"
.TH TUNE2FS 8 "October 1995" "Version 0.5c"
.SH NAME
tune2fs \- adjust tunable filesystem parameters on second extended filesystems
@ -98,7 +98,7 @@ has been written by Remy Card <card@masi.ibp.fr>, the developer and maintainer
of the ext2 fs.
.br
.B tune2fs
uses the ext2fs library written by Theodore T'so <tytso@mit.edu>.
uses the ext2fs library written by Theodore Ts'o <tytso@mit.edu>.
.br
This manual page was written by Christian Kuhtz <chk@data-hh.Hanse.DE>.
.br

View File

@ -24,7 +24,9 @@
#include <fcntl.h>
#include <grp.h>
#ifdef HAVE_GETOPT_H
#include <getopt.h>
#endif
#include <pwd.h>
#include <stdio.h>
#include <stdlib.h>
@ -120,8 +122,10 @@ void main (int argc, char ** argv)
gr = getgrnam (optarg);
if (gr == NULL)
tmp = optarg;
else
else {
resgid = gr->gr_gid;
*tmp =0;
}
}
if (*tmp)
{
@ -194,8 +198,10 @@ void main (int argc, char ** argv)
pw = getpwnam (optarg);
if (pw == NULL)
tmp = optarg;
else
else {
resuid = pw->pw_uid;
*tmp = 0;
}
}
if (*tmp)
{

16
tests/ChangeLog Normal file
View File

@ -0,0 +1,16 @@
Mon Sep 4 23:06:06 1995 Remy Card <card@bbj>
* Makefile.in (clean, distclean): Use the -f option when removing
files.
Fri Aug 11 10:10:30 1995 Theodore Y. Ts'o <tytso@lurch.mit.edu>
* test_script: Count up the number of passed and failed tests by
tallying the *.ok and *.failed files.
* run_e2fsck: Create foo.ok and foo.failed files when tests
succeed or fail, respectively.
* test_config (TZ): Set the timezone to be GMT, so that test
results are consistent.

23
tests/Makefile.in Normal file
View File

@ -0,0 +1,23 @@
#
# Makefile for the tests directory
#
srcdir = @srcdir@
top_srcdir = @top_srcdir@
VPATH = @srcdir@
top_builddir = ..
INSTALL = @INSTALL@
all:: @DO_TEST_SUITE@
check::
@echo "Running e2fsprogs test suite..."
@echo " "
@$(srcdir)/test_script $(srcdir)
clean::
$(RM) -f *.log *.new *.failed *.ok test.img
distclean:: clean
$(RM) -f Makefile

67
tests/README Normal file
View File

@ -0,0 +1,67 @@
These images contain various forms of corrupted filesystem which
e2fsck will correct. They are used as a regression test for e2fsck.
The test_script program will automatically run e2fsck against the
filesystem images. It will run them two times, and display the exit
status for each run. The meaning of the exit status codes are as
follows:
0 No filesystem errors were detected
1 Filesystem errors detected, but corrected
2 System should be rebooted
4 Filesystem errors left uncorrected
8 Operational error (generally means internal error,
or filesystem error that the e2fsck was not
prepared to deal with)
16 Usage or syntax error
During the regression test, the first exit code should be 1, and the
second exit code should be 0. In other words, all (with one
exception) of the test filesystems in this directory have some sort of
filesystem corruption, which e2fsck should fix on the first pass.
After the first pass, e2fsck should leave a fully consistent
filesystem with no detectable errors found in the second pass. The
exception is the okgroup.img filesystem, which contains no errors, and
so both exit codes should be 0.
NOTE: It appears that at least some versions of the original e2fsck do
not exit with an exit status code of 1 after correcting filesystem
errors. So if you modify the test_script to try running these
filesystems against the original e2fsck, you will have to inspect the
test_script.log file manually.
--------------------------------------------------------------
Here's a one-line descriptons of the various test images in this
directory:
baddir.img Filesystem with a corrupted directory
badbblocks.img Filesystem with illegal blocks in the bad block inode.
badinode.img Filesystem with various different corrupted inode
entries.
badlkcnt.img Filesystem with deleted files with non-zero link count
badroot.img Filesystem with a file for a root directory
badtable.img Filesystem with blocks shared between the bitmaps and
inode table blocks and the bad block inode
bbfile.img Filesystem with files containing bad blocks
bitmaps.img Filesystem with corrupted inode and block bitmaps
dirlink.img Filesystem with a hard link to a directory
dup.img Filesystem with blocks claimed by two different files
dup2.img Filesystem with blocks claimed by three different files
dupfsblks.img Filesystem with blocks claimed by a file and
inode/block bitmaps and inode tables
dupsuper.img Filesystem with blocks claimed by a file and
the superblock / group descriptors
end-bitmap.img Filesystem with corruption at the end of the block
bitmap
expand.img Tests e2fsck's ability to expand lost+found if
necessary
lpf.img Filesystem with disconnected files and no /lost+found
directory
mke2fs2b.img Filesystem with corruption similar to that
created by mke2fs version 0.2b
noroot.img Filesystem with a deleted root directory
okgroup.img Filesystem that's exactly 8193 blocks long
(otherwise OK)
overfsblks.img Filesystem with overlapping inode and block bitmaps

1
tests/defaults/f_script Normal file
View File

@ -0,0 +1 @@
. $cmd_dir/run_e2fsck

View File

@ -0,0 +1,20 @@
Pass 1: Checking inodes, blocks, and sizes
Remove illegal block(s) in bad block inode? yes
Illegal block 101 in bad block inode. CLEARED
Illegal block 103 in bad block inode. CLEARED
Illegal block 234523 in bad block inode. CLEARED
Illegal block 200 in bad block inode. CLEARED
Pass 2: Checking directory structure
Pass 3: Checking directory connectivity
Pass 4: Checking reference counts
Pass 5: Checking group summary information
Fix summary information? yes
Block bitmap differences: +50. FIXED
Free blocks count wrong for group 0 (78, counted=77). FIXED
Free blocks count wrong (78, counted=77). FIXED
test_filesys: ***** FILE SYSTEM WAS MODIFIED *****
test_filesys: 11/32 files, 23/100 blocks
Exit status is 1

View File

@ -0,0 +1,7 @@
Pass 1: Checking inodes, blocks, and sizes
Pass 2: Checking directory structure
Pass 3: Checking directory connectivity
Pass 4: Checking reference counts
Pass 5: Checking group summary information
test_filesys: 11/32 files, 23/100 blocks
Exit status is 0

BIN
tests/f_badbblocks/image.gz Normal file

Binary file not shown.

1
tests/f_badbblocks/name Normal file
View File

@ -0,0 +1 @@
illegal blocks in bad block inode

39
tests/f_baddir/expect.1 Normal file
View File

@ -0,0 +1,39 @@
Pass 1: Checking inodes, blocks, and sizes
Directory 12, incorrect size, 182 (counted = 1024). Set size to counted? yes
Inode 13 is a zero length directory. Clear? yes
Pass 2: Checking directory structure
Entry 'zero' in / (2) has deleted/unused inode 13.
Clear? yes
Directory inode 12, block 0, offset 0: directory corrupted
Salvage? yes
Missing '.' in directory inode 12.
Fix? yes
Missing '..' in directory inode 12.
Fix? yes
Pass 3: Checking directory connectivity
'..' in /block.h (12) is . (0), should be / (2).
Fix? yes
Pass 4: Checking reference counts
Inode 12 has ref count 1, expecting 2.
Set i_nlinks to count? yes
Pass 5: Checking group summary information
Fix summary information? yes
Block bitmap differences: -22. FIXED
Free blocks count wrong (76, counted=77). FIXED
Inode bitmap differences: -13. FIXED
Free inodes count wrong for group #0 (19, counted=20). FIXED
Directories count wrong for group #0 (4, counted=3). FIXED
Free inodes count wrong (19, counted=20). FIXED
test_filesys: ***** FILE SYSTEM WAS MODIFIED *****
test_filesys: 12/32 files, 23/100 blocks
Exit status is 1

7
tests/f_baddir/expect.2 Normal file
View File

@ -0,0 +1,7 @@
Pass 1: Checking inodes, blocks, and sizes
Pass 2: Checking directory structure
Pass 3: Checking directory connectivity
Pass 4: Checking reference counts
Pass 5: Checking group summary information
test_filesys: 12/32 files, 23/100 blocks
Exit status is 0

BIN
tests/f_baddir/image.gz Normal file

Binary file not shown.

1
tests/f_baddir/name Normal file
View File

@ -0,0 +1 @@
corrupted directory

View File

@ -0,0 +1,48 @@
Pass 1: Checking inodes, blocks, and sizes
Pass 2: Checking directory structure
Missing '.' in directory inode 12.
Fix? yes
Missing '..' in directory inode 12.
Fix? yes
First entry in directory inode 13 contains 'X' (inode=11)
instead of '.'.
Change to be '.'? yes
Missing '..' in directory inode 14.
Fix? yes
Second entry in directory inode 15 contains 'XX' (inode=11)
instead of '..'.
Change to be '..'? yes
Missing '.' in directory inode 16.
Fix? yes
Missing '..' in directory inode 16.
Fix? yes
Pass 3: Checking directory connectivity
'..' in /a (12) is . (0), should be / (2).
Fix? yes
'..' in /c (14) is . (0), should be / (2).
Fix? yes
'..' in /d (15) is . (0), should be / (2).
Fix? yes
'..' in /e (16) is . (0), should be / (2).
Fix? yes
Pass 4: Checking reference counts
Pass 5: Checking group summary information
Fix summary information? yes
Free blocks count wrong for group 0 (72, counted=73). FIXED
Free blocks count wrong (72, counted=73). FIXED
test_filesys: ***** FILE SYSTEM WAS MODIFIED *****
test_filesys: 16/32 files, 27/100 blocks
Exit status is 1

View File

@ -0,0 +1,7 @@
Pass 1: Checking inodes, blocks, and sizes
Pass 2: Checking directory structure
Pass 3: Checking directory connectivity
Pass 4: Checking reference counts
Pass 5: Checking group summary information
test_filesys: 16/32 files, 27/100 blocks
Exit status is 0

BIN
tests/f_baddotdir/image.gz Normal file

Binary file not shown.

1
tests/f_baddotdir/name Normal file
View File

@ -0,0 +1 @@
bad '.' and '..' entries

25
tests/f_badinode/expect.1 Normal file
View File

@ -0,0 +1,25 @@
Pass 1: Checking inodes, blocks, and sizes
Pass 2: Checking directory structure
Inode 12 (/motd) has a bad mode (0110444).
Clear? yes
i_fsize for inode 13 (/timings) is 4, should be zero.
Clear i_fsize? yes
i_file_acl for inode 13 (/timings) is 39, should be zero.
Clear i_file_acl? yes
Pass 3: Checking directory connectivity
Pass 4: Checking reference counts
Pass 5: Checking group summary information
Fix summary information? yes
Block bitmap differences: -25. FIXED
Free blocks count wrong for group 0 (76, counted=77). FIXED
Free blocks count wrong (76, counted=77). FIXED
Free inodes count wrong for group #0 (19, counted=20). FIXED
Free inodes count wrong (19, counted=20). FIXED
test_filesys: ***** FILE SYSTEM WAS MODIFIED *****
test_filesys: 12/32 files, 23/100 blocks
Exit status is 1

View File

@ -0,0 +1,7 @@
Pass 1: Checking inodes, blocks, and sizes
Pass 2: Checking directory structure
Pass 3: Checking directory connectivity
Pass 4: Checking reference counts
Pass 5: Checking group summary information
test_filesys: 12/32 files, 23/100 blocks
Exit status is 0

BIN
tests/f_badinode/image.gz Normal file

Binary file not shown.

1
tests/f_badinode/name Normal file
View File

@ -0,0 +1 @@
corrupted inode entries

17
tests/f_badlkcnt/expect.1 Normal file
View File

@ -0,0 +1,17 @@
Pass 1: Checking inodes, blocks, and sizes
Deleted inode detected with non-zero link count.
This is probably due to old ext2fs kernel code.
Fix inode(s)? yes
Inode 13 is deleted w/ non-zero link_count. CLEARED
Inode 15 is deleted w/ non-zero link_count. CLEARED
Inode 16 is deleted w/ non-zero link_count. CLEARED
Pass 2: Checking directory structure
Pass 3: Checking directory connectivity
Pass 4: Checking reference counts
Pass 5: Checking group summary information
test_filesys: ***** FILE SYSTEM WAS MODIFIED *****
test_filesys: 29/32 files, 32/100 blocks
Exit status is 1

View File

@ -0,0 +1,7 @@
Pass 1: Checking inodes, blocks, and sizes
Pass 2: Checking directory structure
Pass 3: Checking directory connectivity
Pass 4: Checking reference counts
Pass 5: Checking group summary information
test_filesys: 29/32 files, 32/100 blocks
Exit status is 0

BIN
tests/f_badlkcnt/image.gz Normal file

Binary file not shown.

1
tests/f_badlkcnt/name Normal file
View File

@ -0,0 +1 @@
deleted files with non-zero link count

View File

@ -0,0 +1,25 @@
Pass 1: Checking inodes, blocks, and sizes
The primary superblock (1) is on the bad block list.
If the block is really bad, the filesystem can not be fixed.
You can clear the this block from the bad block list
and hope that block is really OK, but there are no guarantees.
Clear (and hope for the best)? yes
Block 2 in the primary group descriptors is on the bad block list
If the block is really bad, the filesystem can not be fixed.
You can clear the this block from the bad block list
and hope that block is really OK, but there are no guarantees.
Clear (and hope for the best)? yes
Pass 2: Checking directory structure
Pass 3: Checking directory connectivity
Pass 4: Checking reference counts
Pass 5: Checking group summary information
test_filesys: ***** FILE SYSTEM WAS MODIFIED *****
test_filesys: 11/32 files, 22/100 blocks
Exit status is 1

View File

@ -0,0 +1,7 @@
Pass 1: Checking inodes, blocks, and sizes
Pass 2: Checking directory structure
Pass 3: Checking directory connectivity
Pass 4: Checking reference counts
Pass 5: Checking group summary information
test_filesys: 11/32 files, 22/100 blocks
Exit status is 0

BIN
tests/f_badprimary/image.gz Normal file

Binary file not shown.

1
tests/f_badprimary/name Normal file
View File

@ -0,0 +1 @@
bad blocks in the primary superblock and group descriptors

37
tests/f_badroot/expect.1 Normal file
View File

@ -0,0 +1,37 @@
Pass 1: Checking inodes, blocks, and sizes
Root inode is not a directory. Clear? yes
Pass 2: Checking directory structure
Entry '..' in ??? (11) has deleted/unused inode 2.
Clear? yes
Pass 3: Checking directory connectivity
Root inode not allocated. Rellocate? yes
Unconnected directory inode 11 (...)
Connect to /lost+found? yes
/lost+found not found. Create? yes
Pass 4: Checking reference counts
Inode 11 has ref count 3, expecting 2.
Set i_nlinks to count? yes
Unattached inode 12
Connect to /lost+found? yes
Inode 12 has ref count 2, expecting 1.
Set i_nlinks to count? yes
Pass 5: Checking group summary information
Fix summary information? yes
Free blocks count wrong for group 0 (77, counted=76). FIXED
Free blocks count wrong (77, counted=76). FIXED
Free inodes count wrong for group #0 (20, counted=19). FIXED
Directories count wrong for group #0 (2, counted=3). FIXED
Free inodes count wrong (20, counted=19). FIXED
test_filesys: ***** FILE SYSTEM WAS MODIFIED *****
test_filesys: 13/32 files, 24/100 blocks
Exit status is 1

7
tests/f_badroot/expect.2 Normal file
View File

@ -0,0 +1,7 @@
Pass 1: Checking inodes, blocks, and sizes
Pass 2: Checking directory structure
Pass 3: Checking directory connectivity
Pass 4: Checking reference counts
Pass 5: Checking group summary information
test_filesys: 13/32 files, 24/100 blocks
Exit status is 0

BIN
tests/f_badroot/image.gz Normal file

Binary file not shown.

1
tests/f_badroot/name Normal file
View File

@ -0,0 +1 @@
file in root directory inode

29
tests/f_badtable/expect.1 Normal file
View File

@ -0,0 +1,29 @@
Pass 1: Checking inodes, blocks, and sizes
Group 0's block bitmap (3) is bad. Relocate? yes
Group 0's inode bitmap (4) is bad. Relocate? yes
WARNING: Severe data loss possible!!!!
Bad block 6 in group 0's inode table. Relocate? yes
WARNING: Severe data loss possible!!!!
Bad block 8 in group 0's inode table. Relocate? yes
Relocating group 0's block bitmap from 3 to 22...
Relocating group 0's inode bitmap from 4 to 23...
Relocating group 0's inode table from 5 to 24...
Restarting e2fsck from the beginning...
Pass 1: Checking inodes, blocks, and sizes
Pass 2: Checking directory structure
Pass 3: Checking directory connectivity
Pass 4: Checking reference counts
Pass 5: Checking group summary information
Fix summary information? yes
Block bitmap differences: -5 -7 +22 +23 +24 +25 +26 +27. FIXED
Free blocks count wrong for group 0 (78, counted=74). FIXED
Free blocks count wrong (78, counted=74). FIXED
test_filesys: ***** FILE SYSTEM WAS MODIFIED *****
test_filesys: 11/32 files, 26/100 blocks
Exit status is 1

View File

@ -0,0 +1,7 @@
Pass 1: Checking inodes, blocks, and sizes
Pass 2: Checking directory structure
Pass 3: Checking directory connectivity
Pass 4: Checking reference counts
Pass 5: Checking group summary information
test_filesys: 11/32 files, 26/100 blocks
Exit status is 0

BIN
tests/f_badtable/image.gz Normal file

Binary file not shown.

1
tests/f_badtable/name Normal file
View File

@ -0,0 +1 @@
bad blocks in bitmaps and inode table

44
tests/f_bbfile/expect.1 Normal file
View File

@ -0,0 +1,44 @@
Pass 1: Checking inodes, blocks, and sizes
Group 0's inode bitmap (4) is bad. Relocate? yes
Relocating group 0's inode bitmap from 4 to 43...
Duplicate blocks found... invoking duplicate block passes.
Pass 1B: Rescan for duplicate/bad blocks
Duplicate/bad block(s) in inode 2: 21
Duplicate/bad block(s) in inode 11: 9 10 11 12 13 14 15 16 17 18 19 20
Duplicate/bad block(s) in inode 12: 25 26
Pass 1C: Scan directories for inodes with dup blocks.
Pass 1D: Reconciling duplicate blocks
(There are 3 inodes containing duplicate/bad blocks.)
File /termcap (inode #12, mod time Sun Jan 2 08:29:13 1994)
has 2 duplicate blocks, shared with 1 file:
<The bad blocks inode> (inode #1, mod time Sun Jul 17 00:47:58 1994)
Clone duplicate/bad blocks? yes
File /lost+found (inode #11, mod time Sun Jan 2 08:28:40 1994)
has 12 duplicate blocks, shared with 1 file:
<The bad blocks inode> (inode #1, mod time Sun Jul 17 00:47:58 1994)
Clone duplicate/bad blocks? yes
File / (inode #2, mod time Sun Jan 2 08:29:13 1994)
has 1 duplicate blocks, shared with 1 file:
<The bad blocks inode> (inode #1, mod time Sun Jul 17 00:47:58 1994)
Clone duplicate/bad blocks? yes
Pass 2: Checking directory structure
Pass 3: Checking directory connectivity
Pass 4: Checking reference counts
Pass 5: Checking group summary information
Fix summary information? yes
Block bitmap differences: +43. FIXED
Free blocks count wrong for group 0 (57, counted=41). FIXED
Free blocks count wrong (57, counted=41). FIXED
test_filesys: ***** FILE SYSTEM WAS MODIFIED *****
test_filesys: 12/32 files, 59/100 blocks
Exit status is 1

7
tests/f_bbfile/expect.2 Normal file
View File

@ -0,0 +1,7 @@
Pass 1: Checking inodes, blocks, and sizes
Pass 2: Checking directory structure
Pass 3: Checking directory connectivity
Pass 4: Checking reference counts
Pass 5: Checking group summary information
test_filesys: 12/32 files, 59/100 blocks
Exit status is 0

BIN
tests/f_bbfile/image.gz Normal file

Binary file not shown.

1
tests/f_bbfile/name Normal file
View File

@ -0,0 +1 @@
bad blocks in files

13
tests/f_bitmaps/expect.1 Normal file
View File

@ -0,0 +1,13 @@
Pass 1: Checking inodes, blocks, and sizes
Pass 2: Checking directory structure
Pass 3: Checking directory connectivity
Pass 4: Checking reference counts
Pass 5: Checking group summary information
Fix summary information? yes
Block bitmap differences: +12 -20 +41 -50. FIXED
Inode bitmap differences: +11 -15. FIXED
test_filesys: ***** FILE SYSTEM WAS MODIFIED *****
test_filesys: 11/32 files, 22/100 blocks
Exit status is 1

7
tests/f_bitmaps/expect.2 Normal file
View File

@ -0,0 +1,7 @@
Pass 1: Checking inodes, blocks, and sizes
Pass 2: Checking directory structure
Pass 3: Checking directory connectivity
Pass 4: Checking reference counts
Pass 5: Checking group summary information
test_filesys: 11/32 files, 22/100 blocks
Exit status is 0

BIN
tests/f_bitmaps/image.gz Normal file

Binary file not shown.

1
tests/f_bitmaps/name Normal file
View File

@ -0,0 +1 @@
corrupted inode and block bitmaps

12
tests/f_dirlink/expect.1 Normal file
View File

@ -0,0 +1,12 @@
Pass 1: Checking inodes, blocks, and sizes
Pass 2: Checking directory structure
Entry 'quux' in /foo (12) is a link to directory /bar (13).
Clear? yes
Pass 3: Checking directory connectivity
Pass 4: Checking reference counts
Pass 5: Checking group summary information
test_filesys: ***** FILE SYSTEM WAS MODIFIED *****
test_filesys: 13/32 files, 24/100 blocks
Exit status is 1

7
tests/f_dirlink/expect.2 Normal file
View File

@ -0,0 +1,7 @@
Pass 1: Checking inodes, blocks, and sizes
Pass 2: Checking directory structure
Pass 3: Checking directory connectivity
Pass 4: Checking reference counts
Pass 5: Checking group summary information
test_filesys: 13/32 files, 24/100 blocks
Exit status is 0

BIN
tests/f_dirlink/image.gz Normal file

Binary file not shown.

1
tests/f_dirlink/name Normal file
View File

@ -0,0 +1 @@
directory hard links

34
tests/f_dup/expect.1 Normal file
View File

@ -0,0 +1,34 @@
Pass 1: Checking inodes, blocks, and sizes
Duplicate blocks found... invoking duplicate block passes.
Pass 1B: Rescan for duplicate/bad blocks
Duplicate/bad block(s) in inode 12: 25 26
Duplicate/bad block(s) in inode 13: 25 26
Pass 1C: Scan directories for inodes with dup blocks.
Pass 1D: Reconciling duplicate blocks
(There are 2 inodes containing duplicate/bad blocks.)
File /motd (inode #13, mod time Tue Sep 21 03:19:20 1993)
has 2 duplicate blocks, shared with 1 file:
/termcap (inode #12, mod time Tue Sep 21 03:19:14 1993)
Clone duplicate/bad blocks? yes
File /termcap (inode #12, mod time Tue Sep 21 03:19:14 1993)
has 2 duplicate blocks, shared with 1 file:
/motd (inode #13, mod time Tue Sep 21 03:19:20 1993)
Duplicated blocks already reassigned or cloned.
Pass 2: Checking directory structure
Pass 3: Checking directory connectivity
Pass 4: Checking reference counts
Pass 5: Checking group summary information
Fix summary information? yes
Free blocks count wrong for group 0 (44, counted=60). FIXED
Free blocks count wrong (62, counted=60). FIXED
Padding at end of block bitmap is not set. Fix? yes
test_filesys: ***** FILE SYSTEM WAS MODIFIED *****
test_filesys: 13/16 files, 40/100 blocks
Exit status is 1

7
tests/f_dup/expect.2 Normal file
View File

@ -0,0 +1,7 @@
Pass 1: Checking inodes, blocks, and sizes
Pass 2: Checking directory structure
Pass 3: Checking directory connectivity
Pass 4: Checking reference counts
Pass 5: Checking group summary information
test_filesys: 13/16 files, 40/100 blocks
Exit status is 0

BIN
tests/f_dup/image.gz Normal file

Binary file not shown.

1
tests/f_dup/name Normal file
View File

@ -0,0 +1 @@
blocks claimed by two different files

42
tests/f_dup2/expect.1 Normal file
View File

@ -0,0 +1,42 @@
Pass 1: Checking inodes, blocks, and sizes
Duplicate blocks found... invoking duplicate block passes.
Pass 1B: Rescan for duplicate/bad blocks
Duplicate/bad block(s) in inode 12: 25 26
Duplicate/bad block(s) in inode 13: 25 26 57 58
Duplicate/bad block(s) in inode 14: 57 58
Pass 1C: Scan directories for inodes with dup blocks.
Pass 1D: Reconciling duplicate blocks
(There are 3 inodes containing duplicate/bad blocks.)
File /pass1.c (inode #14, mod time Tue Sep 21 04:28:37 1993)
has 2 duplicate blocks, shared with 1 file:
/motd (inode #13, mod time Tue Sep 21 03:19:20 1993)
Clone duplicate/bad blocks? yes
File /motd (inode #13, mod time Tue Sep 21 03:19:20 1993)
has 4 duplicate blocks, shared with 2 files:
/pass1.c (inode #14, mod time Tue Sep 21 04:28:37 1993)
/termcap (inode #12, mod time Tue Sep 21 03:19:14 1993)
Clone duplicate/bad blocks? yes
File /termcap (inode #12, mod time Tue Sep 21 03:19:14 1993)
has 2 duplicate blocks, shared with 1 file:
/motd (inode #13, mod time Tue Sep 21 03:19:20 1993)
Duplicated blocks already reassigned or cloned.
Pass 2: Checking directory structure
Pass 3: Checking directory connectivity
Pass 4: Checking reference counts
Pass 5: Checking group summary information
Fix summary information? yes
Free blocks count wrong for group 0 (8, counted=22). FIXED
Free blocks count wrong (26, counted=22). FIXED
Padding at end of block bitmap is not set. Fix? yes
test_filesys: ***** FILE SYSTEM WAS MODIFIED *****
test_filesys: 16/16 files, 78/100 blocks
Exit status is 1

7
tests/f_dup2/expect.2 Normal file
View File

@ -0,0 +1,7 @@
Pass 1: Checking inodes, blocks, and sizes
Pass 2: Checking directory structure
Pass 3: Checking directory connectivity
Pass 4: Checking reference counts
Pass 5: Checking group summary information
test_filesys: 16/16 files, 78/100 blocks
Exit status is 0

BIN
tests/f_dup2/image.gz Normal file

Binary file not shown.

1
tests/f_dup2/name Normal file
View File

@ -0,0 +1 @@
blocks claimed by three different files

View File

@ -0,0 +1,31 @@
Pass 1: Checking inodes, blocks, and sizes
Remove illegal block(s) in inode 12? yes
Block #1 (3) is the block bitmap of group 0. CLEARED
Block #2 (4) is the inode bitmap of group 0. CLEARED
Block #3 (6) is in the inode table of group 0. CLEARED
Directory 12, incorrect size, 4096 (counted = 1024). Set size to counted? yes
Inode 12, i_blocks wrong 8 (counted=2). Set i_blocks to counted? yes
Pass 2: Checking directory structure
Directory inode 12 has a hole at block #1
Allocate block? yes
Directory inode 12 has a hole at block #2
Allocate block? yes
Directory inode 12 has a hole at block #3
Allocate block? yes
Pass 3: Checking directory connectivity
Pass 4: Checking reference counts
Pass 5: Checking group summary information
Fix summary information? yes
Free blocks count wrong for group 0 (77, counted=74). FIXED
Free blocks count wrong (77, counted=74). FIXED
test_filesys: ***** FILE SYSTEM WAS MODIFIED *****
test_filesys: 12/32 files, 26/100 blocks
Exit status is 1

View File

@ -0,0 +1,7 @@
Pass 1: Checking inodes, blocks, and sizes
Pass 2: Checking directory structure
Pass 3: Checking directory connectivity
Pass 4: Checking reference counts
Pass 5: Checking group summary information
test_filesys: 12/32 files, 26/100 blocks
Exit status is 0

BIN
tests/f_dupfsblks/image.gz Normal file

Binary file not shown.

1
tests/f_dupfsblks/name Normal file
View File

@ -0,0 +1 @@
blocks claimed by a file and bitmaps or inode tables

21
tests/f_dupsuper/expect.1 Normal file
View File

@ -0,0 +1,21 @@
Pass 1: Checking inodes, blocks, and sizes
Remove illegal block(s) in inode 12? yes
Block #4 (2) is in the group descriptors of group 0. CLEARED
Block #5 (3) is the block bitmap of group 0. CLEARED
Block #6 (1) is the superblock in group 0. CLEARED
Inode 12, i_blocks wrong 34 (counted=28). Set i_blocks to counted? yes
Pass 2: Checking directory structure
Pass 3: Checking directory connectivity
Pass 4: Checking reference counts
Pass 5: Checking group summary information
Fix summary information? yes
Block bitmap differences: -29 -30 -31. FIXED
Free blocks count wrong for group 0 (61, counted=64). FIXED
Free blocks count wrong (61, counted=64). FIXED
test_filesys: ***** FILE SYSTEM WAS MODIFIED *****
test_filesys: 12/32 files, 36/100 blocks
Exit status is 1

View File

@ -0,0 +1,7 @@
Pass 1: Checking inodes, blocks, and sizes
Pass 2: Checking directory structure
Pass 3: Checking directory connectivity
Pass 4: Checking reference counts
Pass 5: Checking group summary information
test_filesys: 12/32 files, 36/100 blocks
Exit status is 0

BIN
tests/f_dupsuper/image.gz Normal file

Binary file not shown.

1
tests/f_dupsuper/name Normal file
View File

@ -0,0 +1 @@
blocks claimed by a file and superblock or group descriptors

View File

@ -0,0 +1,14 @@
Pass 1: Checking inodes, blocks, and sizes
Pass 2: Checking directory structure
Pass 3: Checking directory connectivity
Pass 4: Checking reference counts
Pass 5: Checking group summary information
Fix summary information? yes
Free blocks count wrong for group 0 (44, counted=63). FIXED
Padding at end of block bitmap is not set. Fix? yes
test_filesys: ***** FILE SYSTEM WAS MODIFIED *****
test_filesys: 12/16 files, 37/100 blocks
Exit status is 1

View File

@ -0,0 +1,7 @@
Pass 1: Checking inodes, blocks, and sizes
Pass 2: Checking directory structure
Pass 3: Checking directory connectivity
Pass 4: Checking reference counts
Pass 5: Checking group summary information
test_filesys: 12/16 files, 37/100 blocks
Exit status is 0

BIN
tests/f_end-bitmap/image.gz Normal file

Binary file not shown.

2
tests/f_end-bitmap/name Normal file
View File

@ -0,0 +1,2 @@
corruption at end of block bitmap

587
tests/f_expand/expect.1 Normal file
View File

@ -0,0 +1,587 @@
Pass 1: Checking inodes, blocks, and sizes
Deleted inode 2 has zero dtime.
Set dtime? yes
Pass 2: Checking directory structure
Entry '..' in /lost+found (11) has deleted/unused inode 2.
Clear? yes
Pass 3: Checking directory connectivity
Root inode not allocated. Rellocate? yes
Unconnected directory inode 11 (...)
Connect to /lost+found? yes
/lost+found not found. Create? yes
Pass 4: Checking reference counts
Inode 11 has ref count 3, expecting 2.
Set i_nlinks to count? yes
Unattached inode 12
Connect to /lost+found? yes
Inode 12 has ref count 2, expecting 1.
Set i_nlinks to count? yes
Unattached inode 13
Connect to /lost+found? yes
Inode 13 has ref count 2, expecting 1.
Set i_nlinks to count? yes
Unattached inode 14
Connect to /lost+found? yes
Inode 14 has ref count 2, expecting 1.
Set i_nlinks to count? yes
Unattached inode 15
Connect to /lost+found? yes
Inode 15 has ref count 2, expecting 1.
Set i_nlinks to count? yes
Unattached inode 16
Connect to /lost+found? yes
Inode 16 has ref count 2, expecting 1.
Set i_nlinks to count? yes
Unattached inode 17
Connect to /lost+found? yes
Inode 17 has ref count 2, expecting 1.
Set i_nlinks to count? yes
Unattached inode 18
Connect to /lost+found? yes
Inode 18 has ref count 2, expecting 1.
Set i_nlinks to count? yes
Unattached inode 19
Connect to /lost+found? yes
Inode 19 has ref count 2, expecting 1.
Set i_nlinks to count? yes
Unattached inode 20
Connect to /lost+found? yes
Inode 20 has ref count 2, expecting 1.
Set i_nlinks to count? yes
Unattached inode 21
Connect to /lost+found? yes
Inode 21 has ref count 2, expecting 1.
Set i_nlinks to count? yes
Unattached inode 22
Connect to /lost+found? yes
Inode 22 has ref count 2, expecting 1.
Set i_nlinks to count? yes
Unattached inode 23
Connect to /lost+found? yes
Inode 23 has ref count 2, expecting 1.
Set i_nlinks to count? yes
Unattached inode 24
Connect to /lost+found? yes
Inode 24 has ref count 2, expecting 1.
Set i_nlinks to count? yes
Unattached inode 25
Connect to /lost+found? yes
Inode 25 has ref count 2, expecting 1.
Set i_nlinks to count? yes
Unattached inode 26
Connect to /lost+found? yes
Inode 26 has ref count 2, expecting 1.
Set i_nlinks to count? yes
Unattached inode 27
Connect to /lost+found? yes
Inode 27 has ref count 2, expecting 1.
Set i_nlinks to count? yes
Unattached inode 28
Connect to /lost+found? yes
Inode 28 has ref count 2, expecting 1.
Set i_nlinks to count? yes
Unattached inode 29
Connect to /lost+found? yes
Inode 29 has ref count 2, expecting 1.
Set i_nlinks to count? yes
Unattached inode 30
Connect to /lost+found? yes
Inode 30 has ref count 2, expecting 1.
Set i_nlinks to count? yes
Unattached inode 31
Connect to /lost+found? yes
Inode 31 has ref count 2, expecting 1.
Set i_nlinks to count? yes
Unattached inode 32
Connect to /lost+found? yes
Inode 32 has ref count 2, expecting 1.
Set i_nlinks to count? yes
Unattached inode 33
Connect to /lost+found? yes
Inode 33 has ref count 2, expecting 1.
Set i_nlinks to count? yes
Unattached inode 34
Connect to /lost+found? yes
Inode 34 has ref count 2, expecting 1.
Set i_nlinks to count? yes
Unattached inode 35
Connect to /lost+found? yes
Inode 35 has ref count 2, expecting 1.
Set i_nlinks to count? yes
Unattached inode 36
Connect to /lost+found? yes
Inode 36 has ref count 2, expecting 1.
Set i_nlinks to count? yes
Unattached inode 37
Connect to /lost+found? yes
Inode 37 has ref count 2, expecting 1.
Set i_nlinks to count? yes
Unattached inode 38
Connect to /lost+found? yes
Inode 38 has ref count 2, expecting 1.
Set i_nlinks to count? yes
Unattached inode 39
Connect to /lost+found? yes
Inode 39 has ref count 2, expecting 1.
Set i_nlinks to count? yes
Unattached inode 40
Connect to /lost+found? yes
Inode 40 has ref count 2, expecting 1.
Set i_nlinks to count? yes
Unattached inode 41
Connect to /lost+found? yes
Inode 41 has ref count 2, expecting 1.
Set i_nlinks to count? yes
Unattached inode 42
Connect to /lost+found? yes
Inode 42 has ref count 2, expecting 1.
Set i_nlinks to count? yes
Unattached inode 43
Connect to /lost+found? yes
Inode 43 has ref count 2, expecting 1.
Set i_nlinks to count? yes
Unattached inode 44
Connect to /lost+found? yes
Inode 44 has ref count 2, expecting 1.
Set i_nlinks to count? yes
Unattached inode 45
Connect to /lost+found? yes
Inode 45 has ref count 2, expecting 1.
Set i_nlinks to count? yes
Unattached inode 46
Connect to /lost+found? yes
Inode 46 has ref count 2, expecting 1.
Set i_nlinks to count? yes
Unattached inode 47
Connect to /lost+found? yes
Inode 47 has ref count 2, expecting 1.
Set i_nlinks to count? yes
Unattached inode 48
Connect to /lost+found? yes
Inode 48 has ref count 2, expecting 1.
Set i_nlinks to count? yes
Unattached inode 49
Connect to /lost+found? yes
Inode 49 has ref count 2, expecting 1.
Set i_nlinks to count? yes
Unattached inode 50
Connect to /lost+found? yes
Inode 50 has ref count 2, expecting 1.
Set i_nlinks to count? yes
Unattached inode 51
Connect to /lost+found? yes
Inode 51 has ref count 2, expecting 1.
Set i_nlinks to count? yes
Unattached inode 52
Connect to /lost+found? yes
Inode 52 has ref count 2, expecting 1.
Set i_nlinks to count? yes
Unattached inode 53
Connect to /lost+found? yes
Inode 53 has ref count 2, expecting 1.
Set i_nlinks to count? yes
Unattached inode 54
Connect to /lost+found? yes
Inode 54 has ref count 2, expecting 1.
Set i_nlinks to count? yes
Unattached inode 55
Connect to /lost+found? yes
Inode 55 has ref count 2, expecting 1.
Set i_nlinks to count? yes
Unattached inode 56
Connect to /lost+found? yes
Inode 56 has ref count 2, expecting 1.
Set i_nlinks to count? yes
Unattached inode 57
Connect to /lost+found? yes
Inode 57 has ref count 2, expecting 1.
Set i_nlinks to count? yes
Unattached inode 58
Connect to /lost+found? yes
Inode 58 has ref count 2, expecting 1.
Set i_nlinks to count? yes
Unattached inode 59
Connect to /lost+found? yes
Inode 59 has ref count 2, expecting 1.
Set i_nlinks to count? yes
Unattached inode 60
Connect to /lost+found? yes
Inode 60 has ref count 2, expecting 1.
Set i_nlinks to count? yes
Unattached inode 61
Connect to /lost+found? yes
Inode 61 has ref count 2, expecting 1.
Set i_nlinks to count? yes
Unattached inode 62
Connect to /lost+found? yes
Inode 62 has ref count 2, expecting 1.
Set i_nlinks to count? yes
Unattached inode 63
Connect to /lost+found? yes
Inode 63 has ref count 2, expecting 1.
Set i_nlinks to count? yes
Unattached inode 64
Connect to /lost+found? yes
Inode 64 has ref count 2, expecting 1.
Set i_nlinks to count? yes
Unattached inode 65
Connect to /lost+found? yes
Inode 65 has ref count 2, expecting 1.
Set i_nlinks to count? yes
Unattached inode 66
Connect to /lost+found? yes
Inode 66 has ref count 2, expecting 1.
Set i_nlinks to count? yes
Unattached inode 67
Connect to /lost+found? yes
Inode 67 has ref count 2, expecting 1.
Set i_nlinks to count? yes
Unattached inode 68
Connect to /lost+found? yes
Inode 68 has ref count 2, expecting 1.
Set i_nlinks to count? yes
Unattached inode 69
Connect to /lost+found? yes
Inode 69 has ref count 2, expecting 1.
Set i_nlinks to count? yes
Unattached inode 70
Connect to /lost+found? yes
Inode 70 has ref count 2, expecting 1.
Set i_nlinks to count? yes
Unattached inode 71
Connect to /lost+found? yes
Inode 71 has ref count 2, expecting 1.
Set i_nlinks to count? yes
Unattached inode 72
Connect to /lost+found? yes
Inode 72 has ref count 2, expecting 1.
Set i_nlinks to count? yes
Unattached inode 73
Connect to /lost+found? yes
Inode 73 has ref count 2, expecting 1.
Set i_nlinks to count? yes
Unattached inode 74
Connect to /lost+found? yes
Inode 74 has ref count 2, expecting 1.
Set i_nlinks to count? yes
Unattached inode 75
Connect to /lost+found? yes
Inode 75 has ref count 2, expecting 1.
Set i_nlinks to count? yes
Unattached inode 76
Connect to /lost+found? yes
Inode 76 has ref count 2, expecting 1.
Set i_nlinks to count? yes
Unattached inode 77
Connect to /lost+found? yes
Inode 77 has ref count 2, expecting 1.
Set i_nlinks to count? yes
Unattached inode 78
Connect to /lost+found? yes
Inode 78 has ref count 2, expecting 1.
Set i_nlinks to count? yes
Unattached inode 79
Connect to /lost+found? yes
Inode 79 has ref count 2, expecting 1.
Set i_nlinks to count? yes
Unattached inode 80
Connect to /lost+found? yes
Inode 80 has ref count 2, expecting 1.
Set i_nlinks to count? yes
Unattached inode 81
Connect to /lost+found? yes
Inode 81 has ref count 2, expecting 1.
Set i_nlinks to count? yes
Unattached inode 82
Connect to /lost+found? yes
Inode 82 has ref count 2, expecting 1.
Set i_nlinks to count? yes
Unattached inode 83
Connect to /lost+found? yes
Inode 83 has ref count 2, expecting 1.
Set i_nlinks to count? yes
Unattached inode 84
Connect to /lost+found? yes
Inode 84 has ref count 2, expecting 1.
Set i_nlinks to count? yes
Unattached inode 85
Connect to /lost+found? yes
Inode 85 has ref count 2, expecting 1.
Set i_nlinks to count? yes
Unattached inode 86
Connect to /lost+found? yes
Inode 86 has ref count 2, expecting 1.
Set i_nlinks to count? yes
Unattached inode 87
Connect to /lost+found? yes
Inode 87 has ref count 2, expecting 1.
Set i_nlinks to count? yes
Unattached inode 88
Connect to /lost+found? yes
Inode 88 has ref count 2, expecting 1.
Set i_nlinks to count? yes
Unattached inode 89
Connect to /lost+found? yes
Inode 89 has ref count 2, expecting 1.
Set i_nlinks to count? yes
Unattached inode 90
Connect to /lost+found? yes
Inode 90 has ref count 2, expecting 1.
Set i_nlinks to count? yes
Unattached inode 91
Connect to /lost+found? yes
Inode 91 has ref count 2, expecting 1.
Set i_nlinks to count? yes
Unattached inode 92
Connect to /lost+found? yes
Inode 92 has ref count 2, expecting 1.
Set i_nlinks to count? yes
Unattached inode 93
Connect to /lost+found? yes
Inode 93 has ref count 2, expecting 1.
Set i_nlinks to count? yes
Unattached inode 94
Connect to /lost+found? yes
No room in /lost+found; expand /lost+found? yes
Inode 94 has ref count 2, expecting 1.
Set i_nlinks to count? yes
Unattached inode 95
Connect to /lost+found? yes
Inode 95 has ref count 2, expecting 1.
Set i_nlinks to count? yes
Unattached inode 96
Connect to /lost+found? yes
Inode 96 has ref count 2, expecting 1.
Set i_nlinks to count? yes
Unattached inode 97
Connect to /lost+found? yes
Inode 97 has ref count 2, expecting 1.
Set i_nlinks to count? yes
Unattached inode 98
Connect to /lost+found? yes
Inode 98 has ref count 2, expecting 1.
Set i_nlinks to count? yes
Unattached inode 99
Connect to /lost+found? yes
Inode 99 has ref count 2, expecting 1.
Set i_nlinks to count? yes
Unattached inode 100
Connect to /lost+found? yes
Inode 100 has ref count 2, expecting 1.
Set i_nlinks to count? yes
Unattached inode 102
Connect to /lost+found? yes
Inode 102 has ref count 2, expecting 1.
Set i_nlinks to count? yes
Unattached inode 103
Connect to /lost+found? yes
Inode 103 has ref count 2, expecting 1.
Set i_nlinks to count? yes
Unattached inode 104
Connect to /lost+found? yes
Inode 104 has ref count 2, expecting 1.
Set i_nlinks to count? yes
Pass 5: Checking group summary information
Fix summary information? yes
Block bitmap differences: -33. FIXED
Free blocks count wrong for group 0 (68, counted=67). FIXED
Free blocks count wrong (68, counted=67). FIXED
Free inodes count wrong for group #0 (1, counted=0). FIXED
Directories count wrong for group #0 (2, counted=3). FIXED
Free inodes count wrong (1, counted=0). FIXED
test_filesys: ***** FILE SYSTEM WAS MODIFIED *****
test_filesys: 104/104 files, 33/100 blocks
Exit status is 1

Some files were not shown because too many files have changed in this diff Show More