Makefile.in:
Add flushb to list of files which are removed when doing a make clean.
Add a distclean production which removes Makefile
Add the doc substree to the clean and distclean rules.
ChangeLog, depfix.sed:
depfix.sed: Remove all line continuations from the dependencies; the
word wrapping is now done by wordwrap.pl.
README, RELEASE-NOTES, TODO, e2fsprogs.spec:
Update for 1.15 release.
ChangeLog, fsck.8.in, fsck.c, fsck.h, mke2fs.8.in, mke2fs.c:
* mke2fs.c (PRS, set_fs_defaults): Add new option -T which allows the
user to specify the how the filesystem is to be used. Mke2fs now
chooses the filesystem parameters automatically based on the size of
the filesystem and the intended use of the filesystem. Add new option
-n which simply goes through the calculations to determine the
parameters of the filesystem the system would make.
* fsck.c, fsck.h: Add support for new option -C. This option will
automatically manage e2fsck processes so that they will print
completion/progress bars. If multiple filesystems are being checked,
arrange to make sure that only one e2fsck process is displaying a
progress bar at a time.
Many files:
unix.c: Add support for calculating a progress bar if the -C0 option
is given. The function e2fsck_clear_progbar() clears the progress bar
and must be called before any message is issued. SIGUSR1 will enable
the progress bar, and SIGUSR2 will disable the progress bar. This is
used by fsck to handle parallel filesystem checks. Also, set the
device_name from the filesystem label if it is available.
e2fsck.h: Add new flags E2F_FLAG_PROG_BAR and E2F_FLAG_PROG_SUPRESS.
Add new field in the e2fsck structure which contains the last tenth of
a percent printed for the user.
message.c (print_e2fsck_message): Add call to e2fsck_clear_progbar().
pass1.c (e2fsck_pass1):
pass2.c (e2fsck_pass2):
pass3.c (e2fsck_pass3):
pass4.c (e2fsck_pass4):
pass5.c (e2fsck_pass5): Add call to e2fsck_clear_progbar when printing
the resource tracking information.
pass5.c (check_block_bitmaps, check_inode_bitmaps): If there is an
error in the bitmaps, suppress printing the progress bar using the
suppression flag for the remainder of the check, in order to clean up
the display.
ChangeLog, badblocks.c:
badblocks.c (do_test): Don't complain if the write error occurs on a
non-block boundary. This is perfectly common when using blocksizes
larger than 1k.
ChangeLog, MCONFIG.in, configure.in, configure:
MCONFIG.in (BUILD_CC):
configure.in (BUILD_CC): If cross compiling, find the native C
compiler and set it to BUILD_CC so that we can successfully build
util/subst.
ChangeLog, Makefile.in:
Makefile.in (subst): Build subst using $(BUILD_CC), since it's a
helper program which must be built using the native C compiler during
a cross-compilation.
Makefile.in:
Update dependencies.
ChangeLog, Makefile.in, configure.in, MCONFIG.in, configure, wordwrap.pl:
Makefile.in (depend): Make "make depend" at the top-level
automatically recurse through all subdirectories.
configure.in: Test for perl since it's needed by wordwrap.pl
MCONFIG.in (depend): Fix make-depend so that it the dependencies are
automatically word-wrapped. Added the makefile macro $(PERL).
wordwrap.pl: New file which does the word wrapping.
ChangeLog, Makefile.in, fsck.c, get_device_by_label.c, get_device_by_label.h:
fsck.c: Added support for LABEL= and UUID= specifications for the
filesystem's device, to match what recent mount programs can support.
Also, close stdin when doing fsck -A or when checking more than one
filesystem at a time, so that e2fsck doesn't try to ask interactive
questions if the filesystem appears to be mounted.
get_device_by_label.c: New file added to support LABEL=foo and
UUID=bar type specifications.
Theodore Ts'o [Fri, 25 Jun 1999 15:40:18 +0000 (15:40 +0000)]
ChangeLog, e2fsck.h, pass1.c, pass2.c, pass4.c, swapfs.c:
e2fsck.h:
pass1.c (pass1_get_blocks, pass1_read_inode, pass1_write_inode,
pass1_check_directory, e2fsck_use_inode_shortcuts): Make pass1_* be
private static functions, and create new function
e2fsck_use_inode_shortcuts which sets and clears the inode shortcut
functions in the fs structure.
e2fsck.h:
pass2.c (e2fsck_process_bad_inode): Make process_bad_inode() an
exported function.
pass4.c (e2fsck_pass4): Call e2fsck_process_bad_inode to check if a
disconnected inode has any problems before connecting it to
/lost+found. Bug and suggested fix by Pavel Machek <pavel@bug.ucw.cz>
ChangeLog, swapfs.c:
swapfs.c (ext2fs_swap_inode): Add compatibility for Linux 2.3 kernels
that use i_generation instead of i_version. Patch supplied by Jon
Bright <sircus@sircus.demon.co.uk>.
ChangeLog, mke2fs.8.in:
mke2fs.8.in: Fix typo in man page which caused the badblocks command
to not show up in the "SEE ALSO" section.
ChangeLog, expect.1, expect.2, image.gz, name:
f_recnect_bad: New test which checks the case where a disconnect inode
also bad inode fields; we need to make sure e2fsck offers to fix the
inode (or clear the inode, as necessary).
Theodore Ts'o [Fri, 25 Jun 1999 15:32:37 +0000 (15:32 +0000)]
ChangeLog, debugfs.c:
debugfs.c (dump_inode): Add compatibility for Linux 2.3 kernels that
use i_generation instead of i_version. Patch supplied by Jon Bright
<sircus@sircus.demon.co.uk>.
Theodore Ts'o [Fri, 25 Jun 1999 15:30:33 +0000 (15:30 +0000)]
ChangeLog, configure.in, configure:
configure.in: Check for the presence of i_generation field versus
i_version in the ext2_inode to support compiling e2fsprogs in Linux
2.3.
Theodore Ts'o [Tue, 22 Jun 1999 03:17:45 +0000 (03:17 +0000)]
ChangeLog, dir_iterate.c:
dir_iterate.c (ext2fs_process_dir_block): Check for corrupted
directory entry before calling the callback function. This should
prevent some core dumps of insufficiently paranoid callback functions.
ChangeLog, unix.c:
unix.c (main): Add missing space in the disk write-protected message.
Theodore Ts'o [Fri, 18 Jun 1999 01:09:29 +0000 (01:09 +0000)]
ChangeLog, problem.c, problem.h, super.c:
problem.c, problem.h (PR_0_INODE_COUNT_WRONG): Add new problem code.
super.c (check_super_block): Add check to make sure the total number
of inodes is sane, since this can be calculated from the number of
groups times the number of inodes per group. Offer to correct it if
it is incorrect.
Theodore Ts'o [Fri, 18 Jun 1999 01:06:59 +0000 (01:06 +0000)]
ChangeLog, pass5.c:
pass5.c (check_block_end): Fix fencepost condition where when clearing
the block padding we were missing the last position in the bitmap.
Theodore Ts'o [Fri, 18 Jun 1999 00:48:41 +0000 (00:48 +0000)]
ChangeLog, dumpe2fs.c, dumpe2fs.8.in:
dumpe2fs.c, dumpe2fs.8.in: Added new command-line options which allow
a filesystem expert to specify the superblock and blocksize when
opening a filesystem. This is mainly useful when examining the
remains of a toasted filesystem.
Theodore Ts'o [Fri, 18 Jun 1999 00:32:03 +0000 (00:32 +0000)]
Many files:
* gen_uuid.c (get_random_bytes): Use a while loop when reading from
/dev/urandom so that if we get interrupted while reading the right
thing happens.
(uuid_generate_random): Add new function which uses the new UUID
format which uses 122 random bits to form the 128-bit UUID.
(uuid_generate): Rename the old uuid_generate to be
uuid_generate_time, and create a new uuid_generate function which
calls either uuid_generate_random or uuid_genereate_time depending on
whether /dev/urandom is present.
uuid_generate.3.in: Update to reflect changesin uuid_generate and its
two new variants.
tst_uuid.c: Updated to test new uuid_generate functions, and to
reflect new semantics of uuid_compare. Added tests to make sure the
UUID type and variant created by UUID generate is correct.
uuid_time.c (uuid_variant, uuid_type): Added new functions to return
the UUID variant and type information. The debugging program now
prints the UUID variant and type, and warns if the unparsed time
information is likely to be incorrect.
uuid_parse.3.in, libuuid.3.in: Miscellaneous text cleanups.
uuidgen.1.in:
Miscellaneous text cleanups.
Theodore Ts'o [Thu, 17 Jun 1999 22:49:23 +0000 (22:49 +0000)]
ChangeLog, uuid_compare.3.in, compare.c:
compare.c (uuid_compare): Change sense of uuid_compare so that its
return values match that of memcpy and the uuid_compare() found in
Paul Leach's internet-draft.
Theodore Ts'o [Sat, 29 May 1999 21:53:30 +0000 (21:53 +0000)]
ChangeLog, fileio.c:
fileio.c (ext2fs_file_open): Remove obsolete comment stating that we
don't handle writing yet (we do). Fixed bug where we weren't
allocating a big enough buffer for ext2_bmap.
ChangeLog, ext2fs.h:
ext2fs.h: Add feature definition for AFS IMAGIC inodes.
ChangeLog, MCONFIG.in, config.sub:
MCONFIG.in: Define man1dir, man3dir, and man8dir in terms of mandir.
config.sub: Update config.sub from autoconf 2.13 so that it will
recognize new machine types from the Alpha.
configure:
Update to match latest changes to configure.in
Theodore Ts'o [Sat, 29 May 1999 21:48:03 +0000 (21:48 +0000)]
ChangeLog, openfs.c:
openfs.c (ext2fs_open): Check to make sure that the number of blocks
per group is not zero --- if so, it must be a bad superblock!
Theodore Ts'o [Tue, 16 Mar 1999 19:35:19 +0000 (19:35 +0000)]
ChangeLog, Makefile.in, fsck.c, mke2fs.c, uuidgen.1.in, uuidgen.c:
uuidgen.c, uuidgen.1.in: Created command-line utility to generate
UUIDs.
fsck.c (fsck_device, execute): Don't dereference a null pointer when
checking a filesystem not in /etc/fstab.
Theodore Ts'o [Tue, 16 Mar 1999 19:32:52 +0000 (19:32 +0000)]
ChangeLog, pass3.c, problem.c, problem.h, util.c:
util.c (print_resource_track): Use mallinfo if present to get more
accurate malloc statistics.
pass3.c (get_lost_and_found): Check to see if lost+found is a plain
fail; if so, offer to unlink it.
problem.c, problem.h (PR_3_LPF_NOTDIR): Add new problem code.
problem.c: Fix problem message for PR_1_BAD_GROUP_DESCRIPTORS so that
the block group number is printed. Add new prompt, PROMPT_UNLINK.
Theodore Ts'o [Mon, 15 Mar 1999 17:00:48 +0000 (17:00 +0000)]
ChangeLog, expect.1, expect.2, image.gz, name:
f_lpffile: New test which checks how e2fsck handles a the case where
lost+found exists, but it's not a directory.
Theodore Ts'o [Tue, 9 Feb 1999 08:14:28 +0000 (08:14 +0000)]
ChangeLog, fsck.c, mke2fs.c:
fsck.c (fsck_device): Print an error message if the user passes in a
device or directory name which isn't found in /etc/fstab. Allow the
location of /etc/fstab to be overridden by the FSTAB_FILE environment
variable.
mke2fs.c (write_inode_tables): Add kludge code so that when the
MKE2FS_SYNC environment variable is set, mke2fs will sync every
MKE2FS_SYNC block groups, while it is writing out the inode tables.
This is to work around a VM bug in the 2.0 kernel. I've heard a
report that a RAID user was able to trigger it even using a 2.2
kernel.
Theodore Ts'o [Sat, 16 Jan 1999 05:39:12 +0000 (05:39 +0000)]
ChangeLog, fsck.c:
fsck.c (execute, wait_one): Modified routines so that they accurately
create an fsck_instance even when the noexecute flag is set. This
allows for accurate debugging of the fsck pass structure.
(check_all): When the verbose flag is given twice, print debugging
information about when fsck is waiting for jobs to finish.
Theodore Ts'o [Tue, 12 Jan 1999 23:32:52 +0000 (23:32 +0000)]
Makefile.in:
Add some files to the list of files to be excluded when building a
source distribution file.
configure:
Update to match last configure.in changes.
RELEASE-NOTES, e2fsprogs.lsm, e2fsprogs.spec, version.h:
Update for e2fsprogs 1.14 release.
Theodore Ts'o [Sat, 9 Jan 1999 16:32:31 +0000 (16:32 +0000)]
ChangeLog, message.c:
message.c (safe_print): New function which prints strings, converting
non-printable characters using the '^' and M-notation. This function
is now used to print directory name entries and pathnames.
ChangeLog:
Update for release of E2fsprogs 1.14.
Theodore Ts'o [Sat, 9 Jan 1999 05:06:02 +0000 (05:06 +0000)]
ChangeLog, configure.in:
configure.in (YEAR): Allow a 4-digit year for the version date, so we
can be Y2K politically correct. (The date isn't used for anything
except display purposes, but it should make people more comfortable to
not use a 2-digit date, even though it doesn't matter.)
Theodore Ts'o [Fri, 8 Jan 1999 13:33:39 +0000 (13:33 +0000)]
ChangeLog, inode.c:
inode.c (ext2fs_read_inode, ext2fs_write_inode): Check to see if the
inode number is zero; if it's zero, return EXT2_ET_BAD_INODE_NUM.
ChangeLog, fsck.c:
fsck.c (load_fs_info): If the pass number field is missing, it needs
to be treated as zero.
libext2fs.texinfo, README:
Update for 1.14 release.
Theodore Ts'o [Tue, 5 Jan 1999 07:02:39 +0000 (07:02 +0000)]
ChangeLog, chattr.1.in, chattr.c, lsattr.1.in, lsattr.c:
chattr.c, lsattr.c: Only print the version information for the program
if the -V option is given.
chattr.c: Ignore symbolic links when doing a recursive descent through
a directory.
Theodore Ts'o [Mon, 4 Jan 1999 08:50:59 +0000 (08:50 +0000)]
ChangeLog, initialize.c:
initialize.c (ext2fs_initialize): Use EXT2_FIRST_INODE instead of
EXT2_FIRST_INO to ensure compatibility with Linux 1.2 header files.
Theodore Ts'o [Mon, 4 Jan 1999 07:39:19 +0000 (07:39 +0000)]
Makefile.in, configure.in, ChangeLog, configure:
Makefile.in: Move the generated types.h file from the linux/ directory
to the asm/ directory.
configure.in: Force Solaris to never use -static, due to its dynamic
loader not being available to statically linked programs. Create the
asm/ directory if needed.
.del-types.h.in~ca55114a, .del-ext2_fs.h~7a460879, .del-types.h.in~7a460879:
Move the types.h header file from linux/ to asm/.
Theodore Ts'o [Mon, 4 Jan 1999 07:35:45 +0000 (07:35 +0000)]
ChangeLog, unix.c:
unix.c (main): Reset the context before calling ext2fs_close(), to
avoid referencing already freed memory.
ChangeLog, llseek.c:
llseek.c (ext2fs_llseek): Change ext2fs_llseek() in the non-Linux case
to use EINVAL by default, unless it isn't defined, in which case we
use EXT2_ET_INVALID_ARGUMENT instead.
ChangeLog, mk_cmds.sh.in:
mk_cmds.sh.in: Fixed portability bug in shell script; we were
depending on a bash'ism.
ChangeLog, uuid.c:
uuid.c: Use asm/types.h instead of linux/types.h, to be consistent
with other locations where we've had to do this to work around glibc.
Theodore Ts'o [Sat, 2 Jan 1999 04:04:42 +0000 (04:04 +0000)]
ChangeLog, mke2fs.c:
mke2fs.c: Add definition of SCSI_BLK_MAJOR if not defined, for
compatibility with Linux 1.2.13 header files.
ChangeLog, fsck.c:
fsck.c (load_fs_info, parse_fstab_line): Ignore fstab lines are
commented out. Also allow blank lines in the /etc/fstab file.
(execute): In verbose mode, print the mountpount of the filesystem
which we are checking (user request).
Theodore Ts'o [Fri, 4 Dec 1998 08:13:52 +0000 (08:13 +0000)]
ChangeLog, Makefile.in, tst_uuid.c, uuid.h, uuid_time.c:
Makefile.in: Update version numbers of the UUID shared library, since
we've added a new function (uuid_time()).
uuid_time.c: New file which returns the time field of a UUID. (Good
for debugging purposes)
libext2fs.texinfo:
Update version number for 1.13 release.
Theodore Ts'o [Fri, 4 Dec 1998 06:18:58 +0000 (06:18 +0000)]
ChangeLog, expect.1, expect.2:
f_badtable, f_illitable, f_lpf: Update to deal with the fact that
e2fsck will now create a lost+found directory at the end of
pass 3 if one isn't present.
ChangeLog:
Oops; premature checkin of ChangeLog.
Theodore Ts'o [Thu, 3 Dec 1998 16:40:38 +0000 (16:40 +0000)]
ChangeLog, pass3.c, problem.c:
pass3.c (get_lost_and_found): If the filesystem is not opened
read-only, then force /lost+found to be created if it is not present.
problem.c: Allow PR_3_NO_LF_DIR to be handled during a preen operation.
ChangeLog, Makefile.in:
Makefile.in: Updated dependencies.
ChangeLog, fsck.c:
fsck.c (load_fs_info): Parse /etc/fstab ourselves, instead of relying
on getmntent(). This has the advantage of allowing us to properly
handle missing pass numbers correctly.
ChangeLog, configure.in:
configure.in: Add paths.h to header files for which we search.
Theodore Ts'o [Sat, 14 Nov 1998 04:18:28 +0000 (04:18 +0000)]
ChangeLog, mke2fs.c, tune2fs.8.in:
tune2fs.8.in: Fix minor display bug in the nroff.
mke2fs.c (show_stats, write_inode_tables): Use the log10 function to
calculate the display of block numbers so that things look nice on an
80 character display.
mke2fs.c (usage): Add the sparse-super-flag to the usage message.
ChangeLog, e2fsck.c, pass1.c, pass2.c, problem.c, problem.h, unix.c:
unix.c (main): Move ext2fs_close() after e2fsck_free_context() since
e2fsck_free_context may reference data in ctx->fs.
e2fsck.c (e2fsck_reset_context): Make sure ctx->fs is non-NULL before
checking ctx->fs->dblist.
pass1.c (e2fsck_pass1): Use the device check subroutine on FIFO's and
Socket's, so that we catch bogus immutable inodes.
pass2.c (process_bad_inode): Process bad socket and fifo's.
problem.h, problem.c: Define new problem codes PR_2_BAD_FIFO and
PR_2_BAD_SOCKET.
.del-resize2fs.spec~524d144b:
Fix up version number for 1.03
ChangeLog, main.c:
Print a feedback message stating the new size of the filesystem when
we're through.
ChangeLog, pass3.c, pass4.c, problem.c, problem.h, super.c:
problem.c: Add PR_3_NO_DIRINFO error code.
super.c (check_super_value): Rename min and max to min_val and max_val
to avoid possible cpp macro conflicts.
pass4.c (e2fsck_pass4): Rename max to maxgroup, to avoid possible cpp
macro conflicts.
pass3.c (e2fsck_pass3): Rename max to maxdirs, to avoid possible cpp
macro conflicts.
(check_directory): Fix logic to avoid possible core dump in the
case of ext2fs_get_dir_info returning NULL. (By the time we get here,
it should never happen, but...). Also simply/streamline the control
flow of the function.
Many files:
rw_bitmaps.c: Fixed signed/unsigned warnings.
fileio.c (ext2fs_file_set_size): Remove unneeded extern from the
function declaration.
dblist.c (make_dblist): Add safety check in case the dblist pointer
passed in is null (in which case, assign it to fs->dblist). Fixed
some signed/unsigned warnings.
bmap.c: Make addr_per_block be of type blk_t to avoid signed/unsigned
warnings.
namei.c (ext2fs_follow_link): Remove uneeded extern from the function
declaration.
get_pathname.c (get_pathname_proc): Use return value from
ext2fs_get_mem, instead of checking if &gp->name is NULL.
dir_iterate.c (ext2fs_process_dir_block):
dblist_dir.c (ext2fs_dblist_dir_iterate): Remove uneeded extern from
the function declaration.
block.c (ext2fs_block_iterate2): If the read_inode call fails, return
the error directly instead of jumping to the cleanup routine, since we
don't need to do any cleanup.
alloc_table.c (ext2fs_allocate_group_table): Make this function take a
dgrp_t for its group argument.
ext2fs.h: Make dgrp_t an __u32 type, and make fs->desc_group_count be
of type dgrp_t.
Theodore Ts'o [Wed, 26 Aug 1998 15:23:31 +0000 (15:23 +0000)]
ChangeLog, unix.c:
unix.c (check_if_skip): Move the "not cleanly mounted" check ahead of
the maximal mount and too long since checked tests.
(reserve_stdio_fds): Make sure 0,1,2 file descriptors are open, so
that we don't open the filesystem using the same file
descriptor as stdout or stderr.
Theodore Ts'o [Sat, 1 Aug 1998 04:35:39 +0000 (04:35 +0000)]
ChangeLog, subst.c, subst.conf.in:
* subst.c: Add the ability to substitute apparent shell/make variables
such as ${prefix}, since this is needed to make the shell scripts work
correctly.
subst.conf.in: Add ${prefix} to the list of substitutions which subst
should make.
Theodore Ts'o [Sat, 1 Aug 1998 04:33:31 +0000 (04:33 +0000)]
ChangeLog, mk_cmds.sh.in:
mk_cmds.sh.in: Fix error message so that it says mk_cmds's template
files instead of compile_et's template files.
ChangeLog, resize2fs.h:
resize2fs.h: Protect include of unistd.h with HAVE_UNISTD_H.
e2fsprogs.lsm:
Updated for 1.12 release.
Theodore Ts'o [Sat, 1 Aug 1998 04:18:06 +0000 (04:18 +0000)]
ChangeLog, e2fsck.c, pass2.c, pass3.c, unix.c:
pass2.c (e2fsck_pass2): Fix the progress accounting so that we get to
100%.
pass3.c (e2fsck_pass3): Change progress accounting to be consistent
with the other e2fsck passes.
e2fsck.c (e2fsck_run): At the end of each pass, call the progress
function with the pass number set to zero.
unix.c (e2fsck_update_progress): If the pass number is zero, ignore
the call, since that indicates that we just want to deallocate any
progress structures.
emptydir.c:
Commit partially done file.
ChangeLog, badblocks.c:
badblocks.c (ext2fs_badblocks_list_add): Use a bigger increment than
10 blocks when we need to expand the size of the badblocks list.
Theodore Ts'o [Sat, 1 Aug 1998 01:03:39 +0000 (01:03 +0000)]
ChangeLog, debugfs.c:
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().
ChangeLog, badblocks.c:
badblocks.c (test_disk): Don't clear the existing bad blocks list when
using e2fsck -c, since it may cause blocks with marginal errors to be
dropped from the bad blocks list.
ChangeLog, script:
f_swapfs: Fix script to ignore the version string header which debugfs
now prints when it starts up.
libext2fs.texinfo:
Update copyright notice and revision date.
RELEASE-NOTES, version.h:
Update for 1.12 release.
Many files:
Rename e2fsprogs-1.12.spec and e2fsprogs-1.12.lsm to e2fsprogs.spec and
e2fsprogs.lsm respectively. This makes it easier to track revisions
in CVS.
.cvsignore:
Add .cvsignore file to ingore the build directory.
.cvsignore
1998/07/04 17:55:54-00:00 tytso@mit.edu +1 -0
Add .cvsignore file to ingore the build directory.
.cvsignore
1998/07/04 17:55:53 tytso@mit.edu +0 -0
RCS to BitKeeper
Theodore Ts'o [Tue, 30 Jun 1998 05:33:11 +0000 (05:33 +0000)]
ChangeLog, closefs.c, ext2fs.h:
closefs.c (ext2fs_flush): Update the s_block_group_nr field as
appropriate for all of the block group copies, so that it's clear
where the beginning of the filesystem is on the disk. (For when the
partition table gets scrod.)
ext2fs.h: Change the name of the feature from
EXT2_FEATURE_INCOMPAT_DIRNAME_SIZE to EXT2_FEATURE_INCOMPAT_FILESIZE
(to match with the kernel).